精华内容
下载资源
问答
  • 这个是上个星期5写的了,当时是突然想写个游戏,就想到了别踩白块儿,当时的想法是 可能普通模式的别踩白块儿因为他的“块儿”是滚动... 建个4X4的表格制作2张150X100的图片,一张全白色,一张全黑色,命名为...

      这个是上个星期5写的了,当时是突然想写个游戏,就想到了别踩白块儿,当时的想法是

    可能普通模式的别踩白块儿因为他的“块儿”是滚动的向上这种,以我目前会的技术想不出怎么写,

    但是如果是街机模式,通过你每按一次按键之后他像下跳一格这样的就非常好实现了。

     

      通过我目前会的知识,实现的步骤大概是这样的:

      建一个4X4的表格,制作2张150X100的图片,一张全白色,一张全黑色,命名为0.JPG,1.JPG

    就是说当文件名为0的时候就是白色的块,为1的时候就是黑色的块。

      然后先用白色的图片填充表格内所有的TD。然后通过获取表格内的TAGNAME:

      x=document.getElementById("biao");//不要吐槽我的命名方式→_→
      x1=x.getElementsByTagName("img");

    这样就可以获取一个图片的数组,这样表格从上到下图片分别是x1[0]至x1[15]。

      接着是我从百度找的一个获取随机数的方法:

    function fRandomBy(under, over)
    { 
    	//获取随机数方法
    	switch(arguments.length)
    	{ 
        	case 1: return parseInt(Math.random()*under+1); 
        	case 2: return parseInt(Math.random()*(over-under+1) + under); 
        	default: return 0; 
            } 
    }    
    

    调用函数通过fRandomBy(最小数,最大数)可以获取指定范围内的一个随机数。

    然后就可以声明4个int变量line1,line2,line3,line4 代表表格内的第一行第二行第三行第四行,每行内图片数组的序号就是0-3,4-7,8-11,12-5

    line1=fRandomBy(12,15);
    line2=fRandomBy(8,11);
    line3=fRandomBy(4,7);
    line4=fRandomBy(0,3);

    接着将获取到随机的每行数字lineX 的图片数组序号,改变他们的SRC为1.jpg

    	x1[line1].src="1.jpg";
    	x1[line2].src="1.jpg";
    	x1[line3].src="1.jpg";
    	x1[line4].src="1.jpg";
    

    这样初始化随机黑块就搞定了。

      接着是写一个当你按键按到正确黑块的时候他会跳过这个黑块并产生新的黑块的方法,这里同样通过改变之前声明的LINE变量,将LINE2的值+4赋值给LINE1,LINE3的值+4赋值给LINE2以此类推,LINE4的值重新获取一个随机数。然后重新删除黑块并绑定新的黑块。

    function newKuai()
    {
    	//生成新块
    	deKuai();//先删除所有生成的黑块
    	line1=line2+4;
    	line2=line3+4;
    	line3=line4+4;
    	line4=fRandomBy(0,3);
    	x1[line1].src="1.jpg";
    	x1[line2].src="1.jpg";
    	x1[line3].src="1.jpg";
    	x1[line4].src="1.jpg";
    	fen++;
    }
    function deKuai()
    {
    	//删除所有黑块
    	for(var i=0;i<16;i++)
    	{
    		x1[i].src="0.jpg";
    	}
    }
    

      接着就是写一个检验是否按到块的方法,通过检测按到的KEYCODE所在的块是否是1.JPG,如果按错,就会结束游戏并上传分数。。。

    function cheKuai(keycode)
    {
    	//判断是否按中块
    	switch(keycode)
    	{
    		case 65:
    		var i=getName(x1[12].src);
    		//alert(i);
    		if(i=="1"){newKuai();}
    		else{gameover()}
    		break;
    		case 83:
    		var i=getName(x1[13].src);
    		if(i=="1"){newKuai();}
    		else{gameover()}
    		break;
    		case 75:
    		var i=getName(x1[14].src);
    		if(i=="1"){newKuai();}
    		else{gameover()}
    		break;
    		case 76:
    		var i=getName(x1[15].src);
    		if(i=="1"){newKuai();}
    		else{gameover()}
    		break;
    	}
    }
    function gameover()
    {
    	//游戏结束时的操作
    	alert("你的分数是"+fen);
    	stopCount();
    	location.href="action.php?name="+document.getElementById("player").value+"&fen="+fen;
    	tc=20;
    	deKuai();
    	fen=0;
    }

      最后就是写一个获取键盘按键指令的方法。。。。(这个我是BAIDU的。。。。

      document.οnkeydοwn=function(event)
      {
    	  //检测按键方法
        var e = event || window.event || arguments.callee.caller.arguments[0];
        if(e && e.keyCode==65)
        { // 按 a
          cheKuai(e.keyCode);
        }
        if(e && e.keyCode==83)
        { // 按 s 
          cheKuai(e.keyCode);
        } 
        if(e && e.keyCode==75)
        { // 按 k
          cheKuai(e.keyCode);
        }
        if(e && e.keyCode==76)
        { // 按 l
          cheKuai(e.keyCode);
        }
      }
    

      接着可以写一个计时器,时间到时执行GAMEOVER方法。。。。(这个我也是百度的我就不贴了。。。大家可以去下面的 演示站看源代码)

    于是一个超级简易的别踩白块儿就写完了。。。。。。

    PS:就连我自己都想吐槽,很多方法。。。应该可以有更好的思路或者写法。。。。。初学JS还有很多地方都不懂,希望大家能和大家多多交流。。。。)

      

    别踩白块儿 演示  (注意 看的黑块应是最下面那行)

    转载于:https://www.cnblogs.com/lenshang/p/3934336.html

    展开全文
  • 大二萌新做课设风景日历制作系统,图片不会插入,希望向各位大佬求助 ``` import java.awt.*; import java.awt.event.*; import java.util.*; import javax.swing.*; import javax.swing.event.*; import ...
  •  实例033 制作一个数字猜猜看小游戏 40 实例034 使用goto语句在数组中搜索指定图书 42 第3章 字符串处理技术 44 3.1 字符及字符串转换 45  实例035 将字母全部转换为大写或小写 45  实例036 字母与ASCII...
  • 15.32 判断图片是否加载完毕 第16章 页面数据的验证 16.1 验证字符串是否全由数字组成 16.2 验证表单项必须填写 16.3 判断用户输入是否为中文 16.4 验证列表框中的值是否重复 16.5 检测输入框的统一方法 16.6 ...
  • 15.32 判断图片是否加载完毕 第16章 页面数据的验证 16.1 验证字符串是否全由数字组成 16.2 验证表单项必须填写 16.3 判断用户输入是否为中文 16.4 验证列表框中的值是否重复 16.5 检测输入框的统一方法 16.6 ...
  • JavaScript网页特效范例宝典源码

    千次下载 热门讨论 2013-09-04 10:40:38
    实例118 计算某天是星期几 184 实例119 判断指定年份是否为闰年 186 实例120 计算从出生到现在度过的时间 187 实例121 返回两个日期之间的间隔小时 188 实例122 倒计时 190 实例123 访问时间限制 191 实例124 计步...
  • 实例231 计算某天是星期几 实例232 显示长日期格式的系统时间 实例233 实时显示系统时间 实例234 倒计时 9.4 使用JavaScript控制DOM 实例235 创建节点 实例236 添加节点 实例237 为下拉列表增加选项 实例...
  • 输入目的地址,您可以观看Google Earth从出发地一直飞驰到目的地,并且以3D模式形式显示沿途的商业机构、学校、商场等,将座城市的模拟记录导出制作成视频格式,并将这些显示记录保存下来与同事或客户分享 ...
  • 实例231 计算某天是星期几 实例232 显示长日期格式的系统时间 实例233 实时显示系统时间 实例234 倒计时 9.4 使用JavaScript控制DOM 实例235 创建节点 实例236 添加节点 实例237 为下拉列表增加选项 实例...
  • 能过学习本书,读者可以掌握Excel的精华,制作出精美实用的电子表格,成为Excel的行家里手。 ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽ 目录 第1部分 基础知识  第1章 Excel概述  ...
  • 能过学习本书,读者可以掌握Excel的精华,制作出精美实用的电子表格,成为Excel的行家里手。 ∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽∽ 目录 第1部分 基础知识  第1章 Excel概述  ...
  • word使用技巧大全

    热门讨论 2011-03-18 20:37:53
    24、如何将表格垂直拆分为两个的表格 87 25、巧用Word的扩展选定功能 87 26、Excel单元格多于15位数字的输入 87 27、Word中磅与厘米的换算 87 28、计算机中容量单位的换算 88 29、在Excel中复制上单元格 88 30...
  • 实例190 获取星期名称 实例191 获取月份名称 实例192 创建日历 实例193 做成个有时间限制的测试版 实例194 判断经历多少个工作日 实例195 实现系统分段报时 实例196 利用timeGetTime函数更精准地计算时间差...
  • 实例190 获取星期名称 实例191 获取月份名称 实例192 创建日历 实例193 做成个有时间限制的测试版 实例194 判断经历多少个工作日 实例195 实现系统分段报时 实例196 利用timeGetTime函数更精准地计算时间差...
  • javascript网页特效实例

    热门讨论 2010-10-28 08:54:15
    实例118 计算某天是星期几 184 实例119 判断指定年份是否为闰年 186 实例120 计算从出生到现在度过的时间 187 实例121 返回两个日期之间的间隔小时 188 实例122 倒计时 190 实例123 访问时间限制 191 ...
  • 实例033 制作一个数字猜猜看小游戏 实例034 使用goto语句在数组中搜索指定图书 第3章 字符串处理技术 3.1 字符及字符串转换 实例035 将字母全部转换为大写或小写 实例036 字母与ASCII码的转换 实例037 汉字与...
  • 实例033 制作一个数字猜猜看小游戏 实例034 使用goto语句在数组中搜索指定图书 第3章 字符串处理技术 3.1 字符及字符串转换 实例035 将字母全部转换为大写或小写 实例036 字母与ASCII码的转换 实例037 汉字与...
  • 实例033 制作一个数字猜猜看小游戏 实例034 使用goto语句在数组中搜索指定图书 第3章 字符串处理技术 3.1 字符及字符串转换 实例035 将字母全部转换为大写或小写 实例036 字母与ASCII码的转换 实例037 汉字与...
  • 7.17 鼠标经过时改变表格的颜色 212 7.18 网页弹出菜单 213 7.19 网页下拉式菜单 215 7.20 网页树形目录 216 7.21 取得按键的ASCII编码 218 7.22 取得按下的按键 219 7.23 给网页设定快捷键 220 7.24 将...
  • 4.14 离今天最近的两个星期天 78 4.15 记录在网站停留的时间 79 4.16 带开关的时钟 80 4.17 每天显示条不同的信息 81 4.18 模拟时钟 82 4.19 英文式的文本时钟 84 4.20 关闭页面时弹出时间警告框 85 4.21 ...
  • 实例033 制作一个数字猜猜看小游戏 40 实例034 使用goto语句在数组中搜索指定图书 42 第3章 字符串处理技术 44 3.1 字符及字符串转换 45 实例035 将字母全部转换为大写或小写 45 实例036 字母与ASCII码的转换 46 ...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后天 127 0194 在指定的日期上加上3月 127 0195...
  • 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后天 127 0194 在指定的日期上加上3月 127 0195...
  • 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后天 127 0194 在指定的日期上加上3月 127 0195...
  • 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后天 127 0194 在指定的日期上加上3月 127 0195...
  • 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后天 127 0194 在指定的日期上加上3月 127 0195...
  • 0189 根据指定日期返回星期几 123 0190 将日期转换为字符串 124 0191 判断日期是否改变 124 0192 判断字符串是否为日期或时间 125 0193 获得指定月的最后天 127 0194 在指定的日期上加上3月 127 0195...
  • javascript网页特效实例大全

    热门讨论 2010-01-25 12:24:43
    4.14 离今天最近的两个星期天 78 4.15 记录在网站停留的时间 79 4.16 带开关的时钟 80 4.17 每天显示条不同的信息 81 4.18 模拟时钟 82 4.19 英文式的文本时钟 84 4.20 关闭页面时弹出时间警告框 85 4.21 ...
  • 9、求助日期转换星期的问题 27 10、研究彩票,从统计入手 27 11、如何自动设置页尾线条? 28 12、求工齡 28 13、如何用excel求解联立方程: 29 14、行高和列宽单位是什么? 如何换算到毫米? 29 15、如果想用宏写个...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

一星期表格制作图片