Home  >  Article  >  Web Front-end  >  javascript typing game implementation code_javascript skills

javascript typing game implementation code_javascript skills

WBOY
WBOYOriginal
2016-05-16 18:30:411557browse

The effect is as shown in the picture:
javascript typing game implementation code_javascript skills
The following is the core code

Copy the codeThe code is as follows:

GAME = {
//Randomly generate letters
randLetter: function() {
var arrLetter = new Array("A", "B", "C", "D ", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W",
"X",
"Y", "Z");
//Randomly generate letters
var index = Math.floor(Math.random() * 26);
return arrLetter[index];
},
//Random letter color
randLetterColor : function() {
var arrLetterColor = new Array("Red", "Green", "#555", "Blue", "Black");
var index = Math.floor(Math.random( ) * 4);
return arrLetterColor[index];
},
//Random letter size
randLetterSize: function() {
var arrLetterSize = new Array("12px", " 16px", "20px", "24px", "28px", "32px", "36px", "40px");
var index = Math.floor(Math.random() * 7);
return arrLetterSize[index];
},
//Create DIV
divCreate: function(width, height, left, top, value) {
this.width = width;
this. height = height;
this.div = document.createElement("div");
this.div.style.width = width;
this.div.style.height = height;
this .div.style.left = left;
this.div.style.top = top;
this.div.innerText = value;
this.div.style.color = this.randLetterColor();
this.div.style.fontSize = this.randLetterSize();
this.div.style.lineHeight = this.div.style.height;
this.div.style.textAlign = "center" ;
this.div.style.fontWeight = "bold";
//this.div.style.border = "solid red 1px";
this.div.style.position = "relative";
document.getElementById("map").appendChild(this.div);
return this.div;
},
//DIV whereabouts
divDown: function() {
var divTop = parseInt(this.div.style.top.slice(0, -2)); //Top of the letter square
var mapHeight = parseInt(document.getElementById("map").style.height. slice(0, -2));
//disappear
if (divTop < mapHeight - parseInt(this.height) 20) {
this.div.style.top = divTop 30;
//Get the value of the key
document.onkeydown = function() {
//Is the letter of the key equal to the value of the div
if (String.fromCharCode(event.keyCode) == GAME. div.innerText) {
document.getElementById("TextRecord").value = "Correct";
GAME.div.style.display = "none";
clearInterval(GAME.timeCreateID);
GAME.divCreate(100, 100, Math.floor(Math.random() * 300), -30, GAME.randLetter());
}
else {
document.getElementById("TextRecord ").value = "Error";
}
}
}
//It will disappear when it reaches the bottom line, and then create a DIV
else {
this.div.style.display = "none";
GAME.divCreate(100, 100, Math.floor(Math.random() * 300), -30, this.randLetter());
}
},
timeCreateID: null,
timeDownID: null,
START: function() {
this.divCreate(100, 100, 200, -40, this.randLetter());
this.timeDownID = setInterval("GAME.divDown();", 1000);
document.getElementById('ButtonStart').disabled = 'disabled';
document.getElementById('ButtonStop').disabled = '';
},
STOP: function() {
if (this.timeDownID != null) {
clearInterval(this.timeDownID);
this.div.style.display = "none ";
}
document.getElementById('ButtonStart').disabled = '';
document.getElementById('ButtonStop').disabled = 'disabled';
}

}

Effect Demonstration
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn