js游戏 俄罗斯方块 源代码

来源:蓝色理想 时间:2008-01-24 13:14:00 

javascript版 俄罗斯方块(Russian box)小游戏,喜欢的朋友可以玩玩。

对源代码感兴趣的朋友也可以研究一下。

玩法介绍:

可以输入1-9表示速度,9速度最快。

4个方向键控制游戏方向,↑变形,暂停是空格键。

开始游戏:俄罗斯分块

部分js源代码:

function ShowBlock(x,y,block_type,color){
    for (var i=0;i<block_tbl.rows.length;i++){
        for (var j=0;j<block_tbl.rows(i).cells.length;j++){       
            var d2 = i * 4 + j;
            if (block_type[d2]==1){
                block_tbl.rows(i).cells(j).style.background = color;
            }
            else{
                block_tbl.rows(i).cells(j).style.background = "";
            }
        }
    }
    block_div.style.pixelLeft=x;
    block_div.style.pixelTop=y;
}
function ShowBlock1(x,y,block_type,color,obj_tabID,obj_divID){
    for (var i=0;i<obj_tabID.rows.length;i++){
        for (var j=0;j<obj_tabID.rows(i).cells.length;j++){       
            var d2 = i * 4 + j;
            if (block_type[d2]==1){
                obj_tabID.rows(i).cells(j).style.background = color;
            }
            else{
                obj_tabID.rows(i).cells(j).style.background = "";
            }
        }
    }
    obj_divID.style.pixelLeft=x;
    obj_divID.style.pixelTop=y;
}
function Change(inc){
    var type = curBlock.substr(0,4);
    var num = curBlock.substr(curBlock.length-1);
    num = parseInt(num) + inc;
    if (num>4||num<1) num -= 4*inc;
    type += num;
    eval("arr_tmp = " + type + ";");
    if (CanMove(curX,curY,arr_tmp)){
        curBlock = type;
        eval("arr_curBlock = " + curBlock + ";");
        eval("ShowBlock(block_div.style.pixelLeft,block_div.style.pixelTop," + curBlock + ",colors[" + cid + "]);");
    }
}
function CanMove(x,y,block){
    for (i=0;i<4;i++){
        for (j=0;j<4;j++){
            if (block.getd(i,j,4)&table.getd(y/n_IncStep+i,x/n_IncStep+j,16)) return false;
        }
    }
    return true;
}
function NewBlock(){
    curBlock = nextBlock;
    cid = ncid;
    bid = Math.round(Math.random()*(blocks.length-1));
    ncid = Math.round(Math.random()*(colors.length-1));
    nextBlock = blocks[bid];
    eval("arr_curBlock = " + curBlock + ";");
    eval("ShowBlock(120,0," + curBlock + ",colors[" + cid + "]);");
    eval("arr_curBlock = " + curBlock + ";");
    eval("ShowBlock1(466,116," + nextBlock + ",colors[" + ncid + "],nblock_tbl,nblock_div);");
}
function SaveBlock(){
    for (i=0;i<4;i++){
        for (j=0;j<4;j++){
            table[(curY/n_IncStep+i)*16+curX/n_IncStep+j]|=arr_curBlock[i*4+j];
         

标签:代码,游戏,js,俄罗斯方块
0
投稿

猜你喜欢

  • SQL Server Table中XML列的操作代码

    2011-11-03 17:18:16
  • em与px的区别以及em特点和应用

    2008-11-11 12:03:00
  • 用CSS实现图片等比例缩放

    2008-01-18 21:10:00
  • ASP编程代码:隐藏图片的真实地址

    2008-10-19 17:14:00
  • SQL Server数据库备份出错及应对措施

    2009-04-20 17:02:00
  • asp 性能测试报告 学习asp朋友需要了解的东西

    2011-03-09 10:57:00
  • ASP技巧:ASP中三个常用语句的使用技巧

    2008-10-16 10:56:00
  • 详细讲解SQL Server数据库的文件恢复技术

    2009-01-15 12:54:00
  • 轻松掌握MySQL数据库锁机制的相关原理

    2008-12-17 15:23:00
  • 巧用特殊的空格字符

    2009-04-10 18:32:00
  • 给在DreamWeaver编写CSS的人一些习惯建议

    2007-12-25 12:10:00
  • Web 标准要求一览表

    2009-01-08 12:35:00
  • mysql慢查询的分析方法

    2010-08-03 14:51:00
  • 如何让新页面在新窗口打开?

    2009-04-12 19:41:00
  • INPUT的对齐问题

    2008-05-24 08:32:00
  • Instr函数与InstrRev函数的区别

    2008-07-07 16:53:00
  • MySQL转义字符

    2011-06-19 16:06:04
  • 怎样解决MySQL 5.0.16的乱码问题

    2008-10-13 12:47:00
  • 初识Firebug 全文 — firebug的使用

    2007-10-23 12:54:00
  • SQL Server数据库管理常用SQL和T-SQL语句

    2009-05-07 14:01:00
  • asp之家 网络编程 m.aspxhome.com