C语言编一个金山打字通小游戏,js实现金山打字通小游戏

本文详细介绍了如何使用JavaScript编写一个简单的金山打字通小游戏,涉及字母随机下落、键盘监听和动态生成等内容。通过定时器控制字母下落速度,同时实现字母消失后的新字母生成并调整位置,为玩家带来挑战。
摘要由CSDN通过智能技术生成

本文实例为大家分享了js实现金山打字通小游戏的具体代码,供大家参考,具体内容如下

字母匀速随机下落,键盘按下对应字母按键,字母消失重新生成新字母,新字母可帮助回调一部分初始高度

效果

d97c661c4b9dc37ab260ced918a525b1.gif

1.页面内容

列表内放字母

  • A

**

2.页面样式

**

1)清除li园标

2)确定列表位置,为字母随机位置下降准备

*{

padding: 0;

margin: 0;

}

#box li{

list-style: none;

font-size: 100px;

}

/*确定位置便于下降*/

#box{

position: absolute;

top: 0;

left: 0;

}

3.判断按的按键

1、键盘按键按下事件

window.οnkeydοwn=function(e){ }

2、获得兼容性对象

var ev=window.event||e;

3.获得按下的键盘码并转换为对应按键

var key=String.fromCharCode(ev.keyCode);

4.遍历获得列表内容对比

1)循环li标签

for(var i=0;i

2)内容对比

if(list[i].innerHTML==key){ }

3)相同则删除页面上显示的字母

box.removeChild(list[i]);

5.清除字母后重新生成新的随机字母

1)在字母表中获得随机字母

var num=Math.floor(Math.random()*(all.length-1+1-0)+0);

2)将随机字母加入li中

var new_list=document.createElement('li');

3)给新li进行赋值

new_list.innerHTML=all[num];

4)将新li加入ul中

box.appendChild(new_list);

6.定时字母下落

1)设置定时器

var time=setInterval(function(){ },1000)

2)方法参考浮动广告博文

7.新字母的位置随机生成

1)消除成功后高度向上缩一部分

2)左右利用随机数生成

var left=Math.floor(Math.random()*(1000-1+1-0)+0);

box.style.left=left+"px";

8.源码

*{

padding: 0;

margin: 0;

}

#box li{

list-style: none;

font-size: 100px;

}

/*确定位置便于下降*/

#box{

position: absolute;

top: 0;

left: 0;

}

  • A

var p=document.getElementById("p");

var new_box=document.getElementById("new_box");

var box=document.getElementById("box");

var all='ABCDEFGHIJQLMEOPQRSTUVWXYZ';

window.οnkeydοwn=function(e){

// 获得兼容性对象

var ev=window.event||e;

// 获得按下的按键并转换为对应按键

var key=String.fromCharCode(ev.keyCode);

var list=document.getElementById("box").getElementsByTagName('li');

// 循环li标签,将按键与标签内容进行对比

for(var i=0;i

// 内容对比,内容相同则删除页面上显示的字母

if(list[i].innerHTML==key){

box.removeChild(list[i]);

var p_old_top=box.offsetTop;

var p_new_top=p_old_top-150;

box.style.top=p_new_top+"px";

var left=Math.floor(Math.random()*(1000-1+1-0)+0);

box.style.left=left+"px";

var num=Math.floor(Math.random()*(all.length-1+1-0)+0);

// 将随机字母加入li中

var new_list=document.createElement('li');

// 给新li进行赋值

new_list.innerHTML=all[num];

// 将新li加入ul中

box.appendChild(new_list);

}

}

}

// 定时器保证下落速度

var time=setInterval(function(){

// 获取ul的老位置

var old_top=box.offsetTop;

// 计算ul的新位置

var new_top=old_top+2;

// 将新值赋值回去

box.style.top=new_top+"px";

},15)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值