java貪吃蛇原始碼

2021-08-20 02:46:50 字數 2671 閱讀 4641

業務分析:

一、找物件:

塊:組成貪吃蛇的組成元素和每次隨機生成的塊。cell

貪吃蛇:可以考慮用陣列表示,不單獨設定乙個類

主窗體物件:tcs

二、分析類:

cell:x  y  width  height   image

up();dpwn();left();right();

tcs:

各種變數,

c:存下次出現的塊

she:存貪吃蛇主體的變數陣列。

三、抽類

1、寫cell類

2、開始寫tcs類

3、載入各種靜態

4、繪製主窗體

5、編寫生成塊的方法nextone()方法

6、將塊繪製到主頁面去。

7、貪吃蛇初始化為2塊,並繪製到頁面上

8、編寫貪吃蛇移動方法move();

9、新增鍵盤事件,控制貪吃蛇方向

10、編寫bang()方法,確定2個塊之間是否碰撞

11、編寫jia()方法,實現當貪吃蛇碰到自由塊時,長度增加1個

12、分別編寫gameover()方法,鍵盤事件,paintover()方法,實現遊戲結束、開始、暫停

public class cell

//向上

public void up()

//向下

public void down()

//向左

public void left()

//向右

public void right()

public class tcs extends jpanel;//初始化蛇

public int fangxiang;//定義方向的

public int zhuangtai=start;//預設是等待開始狀態

public int sudu=600;

public int lv=1;

//靜態載入

static catch (ioexception e)

}//主程式

public static void main(string args)

//開始

private void start()

break;

case keyevent.vk_left:

if(fangxiang!=right)

break;

case keyevent.vk_up:

if(fangxiang!=down)

break;

case keyevent.vk_down:

if(fangxiang!=up)

break;}}

switch (e.getkeycode()) else if(zhuangtai==over);

sudu=500;

lv=1;

zhuangtai=run;

}break;

case keyevent.vk_p:

zhuangtai=pasue;

break;}}

};this.addkeylistener(l);

this.setfocusable(true);

// request 請求 focus 焦點

this.requestfocus();

timer timer = new timer();

timer.schedule(new timertask()

repaint();

}},10,sudu);

}//如果碰到自由塊時,增加長度,並新建自由塊

protected void jia()

}//貪吃蛇的移動方法

protected void move()

switch (fangxiang)

}//繪製

public void paint(graphics g)

//繪製長度等

public void paintscore(graphics g)

//繪製貪吃蛇

public void painttcs(graphics g)

}//繪製狀態

public void paintover(graphics g)else if(zhuangtai==over)else if(zhuangtai==pasue)

}//工廠方法,生成出現塊

public cell nextone()

c=new cell(rd.nextint(tcs.width-60),rd.nextint(tcs.height-60),image);

return c;

}public boolean bang(cell f1, cell f)

public void gameover()

for(int i=1;iif(bang(she[0],she[i]))}}

public void lv()else}}

貪吃蛇原始碼

去年五一寫的乙個貪吃蛇遊戲,在tc3下執行成功,過幾天加點注釋 大家先湊和看吧.hoho.include include include include include include define vk esc 0x11b define vk up 0x4800 define vk down 0x...

貪吃蛇遊戲(附原始碼)

貪吃蛇遊戲,現在還有很多bug。等待大家挑錯。難度 1最難,500最簡單。吃夠20個食物就可以過關了 呵呵。無聊時候玩玩吧 include include include include const int maxn 100 const int n 20 struct node int map ma...

貪吃蛇遊戲(附原始碼)

貪吃蛇遊戲,現在還有很多bug。等待大家挑錯。難度 1最難,500最簡單。吃夠20個食物就可以過關了 呵呵。無聊時候玩玩吧 include include include include const int maxn 100 const int n 20 struct node int map ma...