使用JS寫的第一個游戲[俄羅斯方塊]

效果预览:


       以下乃本人寫的第一款游戲....因以前沒有寫過游戲的東東,所以這款游戲的構思純屬於自己亂想的......希望各位游戲達人能指點一下....... 

       之所以寫這款游戲,是因為在CSDN上面看到有人使用JS的OO思想寫了個蛇吃小方塊的游戲.里面有人回復要是有人使用JS的OO思想寫個俄羅斯方塊才行,呵呵....本人因一時興起就試著寫了個......沒想到還真被我瞎弄出來了...

先說一下游戲的構思

1. 定義圖形(圖形是由一個一個的單元格組成的)

圖形的作用: 移動, 變形

2. 定個一個背景(這個背景有點像表格,由行組成,行又由單元格組成). 

       背景的作用:當圖形固定下來後,背景中的單元格跟圖形的單元格如果重疊在一起的話,就將背景的單元格的顏色改為跟圖形一樣...且將背景單元格的狀態設為1...當背景行中的所有單元格都為1時(表示這一行已經被圖形填滿了),刪除這一行,再在背景的頂部添加一新行(為了是背景大不一致,刪除一行後要添加一新行,且在頂部。這樣圖形才會看到是下掉的效果了)

3. 定義游戲

關口的設定:每一關都是由圖形下降的速度與這一關顯示的圖形數確定的...如:
JavaScript复制代码
  1. this.Levels.push(new GameLevel(1, 800, 10)); // 表示第一關,速度800,顯示10個圖形   
  2. this.Levels.push(new GameLevel(2, 600, 20));   
  3. this.Levels.push(new GameLevel(3, 400, 30));   
  4. this.Levels.push(new GameLevel(4, 200, 40));   
  5. this.Levels.push(new GameLevel(5, 100, 50));  
下一圖形的設定:隨機產生的
JavaScript复制代码
  1. var index = parseInt(Math.random() * 18)   
  2. var img = eval("new ImageCategory" + index.toString() + "(this.Parent)");   
  3. return img;   
下一關的設定:當前關口的圖形完部顯示完成後,直接進入下一關...

4. 圖形控制 

       下移圖形控制:當前圖形中的單元格下邊界與已經變色的背景單元格的上邊界進行比較,如果相似,則表示達到了其它圖形的上面,當前圖形固定,開始下一圖形 

       左移圖形控制:當前圖形中的單元格左邊界與已經變色的背景單元格的右邊界進行比較,如果相似,則表圾達到的其它圖形的右邊不能左移
右移圖形的控制:類似於左移

5. 使用方法
JavaScript复制代码
  1. var game = new Game(document.getElementById("labPanel"));   // 創建游戲對象   
  2. game.Width = 10;    // 設定游戲水平方向的單元格數   
  3. game.Height = 13;   // 設定游戲豎直方向的單元格數   
  4. game.Init();        // 初使化游戲   
  5. game.Start();       // 開始游戲  
是不是看起來很簡單了

6. 游戲代碼:

a. 背景類
展开JavaScript复制代码
b. 圖形類
展开JavaScript复制代码
打包下载


上一篇:jquery判断对象是否存在

下一篇:使用js打印局部页面 

留下脚印压缩包密码:sosuo8
名字:
全部评论:
评论土豆2010-7-27 12:00:00
哥,你犀利了
答复
申明:本站部分文章来自网络,由于各种原因对文章的来源无从考究,如果您是“ 使用JS寫的第一個游戲[俄羅斯方塊] ”的原作者,若侵犯您的版权,请与我联系!在此请您原谅我的幼稚和无知!联系方法:email:ahuinan@21cn.com  QQ:106494262

感谢以下网友对网站提出的建议:
1、感谢“蓝树叶kiss”网友发现一个评论漏洞。(2009-2-28)
2、感谢“陈臣”对程序优化和seo方面的建议。(2009-3-18)
文章档案
  • 作者:冷风
  • 来源:冷风's blog
  • 日期:2009-8-8 12:33:00
  • 点击:430
网友投票(您觉得这篇文章怎样?)
loadding...请稍侯......