这里有新鲜出炉的 Javascript 教程,程序狗速度看过来!
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
效果如图所示:
javascript 打字游戏实现代码,非常不错的效果,功能还不是很完善,喜欢的朋友可以参考下。
下面是核心代码
- GAME = {
- //随机产生字母
- 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");
- //随机产生字母
- var index = Math.floor(Math.random() * 26);
- return arrLetter[index];
- },
- //随机字母颜色
- randLetterColor: function() {
- var arrLetterColor = new Array("Red", "Green", "#555", "Blue", "Black");
- var index = Math.floor(Math.random() * 4);
- return arrLetterColor[index];
- },
- //随机字母大小
- randLetterSize: function() {
- var arrLetterSize = new Array("12px", "16px", "20px", "24px", "28px", "32px", "36px", "40px");
- var index = Math.floor(Math.random() * 7);
- return arrLetterSize[index];
- },
- //创建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下落
- divDown: function() {
- var divTop = parseInt(this.div.style.top.slice(0, -2)); //字母方块的Top
- var mapHeight = parseInt(document.getElementById("map").style.height.slice(0, -2));
- //就消失
- if (divTop < mapHeight - parseInt(this.height) + 20) {
- this.div.style.top = divTop + 30;
- //获取按键的值
- document.onkeydown = function() {
- //按键的字母是不是 等于 div的值
- if (String.fromCharCode(event.keyCode) == GAME.div.innerText) {
- document.getElementById("TextRecord").value = "正确";
- 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 = "错误";
- }
- }
- }
- //到达底线就消失,之后再创建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';
- }
- }
效果演示
[Ctrl+A 全选 注:
- <script type="text/javascript">
- GAME = {
- //随机产生字母
- 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");
- //随机产生字母
- var index = Math.floor(Math.random() * 26);
- return arrLetter[index];
- },
- //随机字母颜色
- randLetterColor: function() {
- var arrLetterColor = new Array("Red", "Green", "#555", "Blue", "Black");
- var index = Math.floor(Math.random() * 4);
- return arrLetterColor[index];
- },
- //随机字母大小
- randLetterSize: function() {
- var arrLetterSize = new Array("12px", "16px", "20px", "24px", "28px", "32px", "36px", "40px");
- var index = Math.floor(Math.random() * 7);
- return arrLetterSize[index];
- },
- //创建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下落
- divDown: function() {
- var divTop = parseInt(this.div.style.top.slice(0, -2)); //字母方块的Top
- var mapHeight = parseInt(document.getElementById("map").style.height.slice(0, -2));
- //就消失
- if (divTop < mapHeight - parseInt(this.height) + 20) {
- this.div.style.top = divTop + 30;
- //获取按键的值
- document.onkeydown = function() {
- //按键的字母是不是 等于 div的值
- if (String.fromCharCode(event.keyCode) == GAME.div.innerText) {
- document.getElementById("TextRecord").value = "正确";
- 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 = "错误";
- }
- }
- }
- //到达底线就消失,之后再创建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';
- }
- }
- </script>
- Snmon转正题目 - -||| ,题目需求还要复杂100倍。。。
- <p>
- 暂时只实现了随机生成字母,已监听键盘,还未计算得分。
- </p>
- <div>
- </div>
- <div>
- 得分:
- <input id="TextRecord" value="0" type="text" />
- </div>
- <div>
- <input id="ButtonStart" onclick="GAME.START();" value="GAME START" type="button">
- <input id="ButtonStop" onclick="GAME.STOP();" value="GAME STOP" type="button">
- <div>
- </div>
如需引入外部 Js 需刷新才能执行
]来源: http://www.phperz.com/article/17/0426/285231.html