免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1395 | 回复: 0
打印 上一主题 下一主题

俄罗斯方块-js [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-04-09 21:52 |只看该作者 |倒序浏览
俄罗斯方块-js
ccdot /2006-2-10 18:36:21 /81/

方块游戏——小逛制作
TD{width: 20; height: 20}
document.body.innerHTML += '' //游戏场地
document.body.innerHTML += '';//预显表
document.body.innerHTML += '';//活动层
var element_html = '';
var obj_html = '';
for(h=0;h";
obj_html += "";
for(w=0;w";
obj_html += "";
}
element_html += "";
obj_html += "";
}
element_html += "";
obj_html += "";
element_stage.innerHTML = element_html;
obj_stage.innerHTML = obj_html;
document.body.innerHTML +='第 1 局消除行数
0游戏得分
0p align="right"> 开  始  '
var map = new Array( //地图
"111000000000000111","111000000000000111","111000000000000111","111000000000000111","111000000000000111",
"111000000000000111","111000000000000111","111000000000000111","111000000000000111","111000000000000111",
"111000000000000111","111000000000000111","111000000000000111","111000000000000111","111000000000000111",
"111000000000000111","111000000000000111","111000000000000111","111000000000000111","111000000000000111",
"222222222222222222","222222222222222222"
);
//-------------L------------// //演员表
var L1 = new Array("0000","1000","1000","1100");
var L2 = new Array("0000","0000","0010","1110");
var L3 = new Array("0000","0110","0010","0010");
var L4 = new Array("0000","1110","1000","0000");
//-------------L-------------//
//-------------J------------//
var J1 = new Array("0000","0010","0010","0110");
var J2 = new Array("0000","0000","1110","0010");
var J3 = new Array("0000","1100","1000","1000");
var J4 = new Array("0000","0000","1000","1110");
//-------------J-------------//
//-------------Z------------//
var Z1 = new Array("0000","0000","1100","0110");
var Z2 = new Array("0000","0100","1100","1000");
var Z3 = new Array("0000","0000","1100","0110");
var Z4 = new Array("0000","0100","1100","1000");
//-------------Z-------------//
//-------------S------------//
var S1 = new Array("0000","0000","0110","1100");
var S2 = new Array("0000","0100","0110","0010");
var S3 = new Array("0000","0000","0110","1100");
var S4 = new Array("0000","0100","0110","0010");
//-------------S-------------//
//-------------T------------//
var T1 = new Array("0000","0000","0100","1110");
var T2 = new Array("0000","0010","0110","0010");
var T3 = new Array("0000","1110","0100","0000");
var T4 = new Array("0000","1000","1100","1000");
//-------------T-------------//
//-------------M------------//
var M1 = new Array("0000","0000","1100","1100");
var M2 = new Array("0000","0000","1100","1100");
var M3 = new Array("0000","0000","1100","1100");
var M4 = new Array("0000","0000","1100","1100");
//-------------M-------------//
//-------------I------------//
var I1 = new Array("1000","1000","1000","1000");
var I2 = new Array("0000","0000","0000","1111");
var I3 = new Array("0010","0010","0010","0010");
var I4 = new Array("0000","0000","0000","1111");
//-------------I-------------//
//-------------演员位置表-------------//
var players = new Array("I","J","T","L","Z","S","M");
//----生成地图--------//
function get_color(color_value)
{
if(color_value=="1"||color_value=="2")
return "#000080";
else
return "#000000";
}
var map_html = '';
for(h=0;h"
for(w=0;w"
}
map_html +=""
}
map_html+=""
stage.innerHTML = map_html
//----生成地图--------//
/****************************************** 上面是准备的代码****************************************************/
function Y_X(y,x) //设置角的对象
{
this.x = x;
this.y = y;
}
var game_l_u_angle = new Y_X(0,6); //方快初始 左上角 和 右上角 的 x y 坐标
var game_r_d_angle = new Y_X(3,9);
var left_up_angle = new Y_X(game_l_u_angle.y,game_l_u_angle.x); //现在的 左上角的 x y 坐标
var right_down_angle = new Y_X(game_r_d_angle.y,game_r_d_angle.x); //现在的 右上角 的 x y 坐标
var block_color_1 = "#0099FF"; //现在的方块的颜色
var block_color_0 = ""; //背景颜色
var map_color_1 = "#000080"; //map 背景颜色 1
var map_color_0 = "#000000"; //背景颜色 0
var block_width = "22"; //方块 的 边长
var block_height = "20";
var game_speed = 540 //游戏速度
var game_max_speed = Math.floor(game_speed/20);
var SHAPES = new Array("I","M","Z","J","T","S","L"); // 方块形状数组
var shape_now = SHAPES[returnONE(6)]; //现在的方块形状
var shape_will = SHAPES[returnONE(6)]; //将来的方块形状
var shape_num = 1;
var obj_start_left = 132; //方块起始位置
var obj_start_top = 0;
var can_move_block = false; //设置用户是否可以移动方块
var can_play = false; //游戏的开始
var one_score = 10; //一个的得分
var block_score = 4*one_score //一个方块的得分
var line_score = ಌ*one_score //一行的得分
/*******************************************上面是数据********************下面是具体运行 函数************************/
//------------返回任意数--------------------//
function returnONE(JSnum){
JSnum = Math.round(JSnum*Math.random()*100/100);
return JSnum;
}
//--------------返回最高-----------------------//
function return_TOP()
{
var block_value = "";
for(h=0;h2)
return false;
}
else
{
if(checker>1)
return false;
}
}
}
return true;
}
function test_block(){} //用来生成载block value 的 测试对象
var tester = null;
function If_can_move_test(l_x,l_y,r_x,r_y) //用于变形判断
{
var obj_value = "";
var map_value = "";
var checker = 0;
for(obj_h=0,h=l_y;h2)
return false;
}
else
{
if(checker>1)
return false;
}
}
}
return true;
}
//--------------设置背景颜色----------------------//
function set_map_bgcolor(l_x,l_y,r_x,r_y)
{
var obj_value = "";
for(obj_h=0,h=l_y;h=(parseInt(game_number.innerText)*20000)) //如果达到过局的分数
{
game_number.innerText = ""+(parseInt(game_number.innerText)+1)+"";
game_speed = game_speed - 60;
if(game_speed 4)
shape_num = 1;
tester = null
tester = new test_block();
var test_shape = eval(shape_now + shape_num);
for(h=0;h


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/15511/showart_97448.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP