C 編寫貪吃蛇遊戲 RedSnake

2021-04-09 07:31:21 字數 2276 閱讀 9311

開發環境:

microsoft visual studio .net 2003

開發語言:

c#

開發者:

red_angelx

程式介面如圖一所示圖一

主介面左邊是遊戲區域,由乙個

picturebox

和lable

組成,picturebox

用來繪製遊戲介面,

label

用來顯示遊戲是否執行。

右邊是狀態區域,由若干

label

組成,用來表示遊戲中的狀態引數。

遊戲主體分為

3個主要模組:蛇身基本單元,蛇身結構位置,蛇身的移動控制。這

3個單元各用乙個

class

來描述基本單元用乙個矩形(

rectangle

)來描述,詳細構造如下

private

rectangle m_rect;

/**/

/************建構函式,傳入頂點座標和塊寬度***************

*/

public

snakesegment(point location,

intwidth)

...

//屬性

public

rectangle rectangle

...}

public

point location

...set

...}

public

size size

...}

1.2

蛇身結構位置模組 snake.cs

蛇身由若干基本單元組成,這些單元存放在乙個queue結構中,queue處於命名空間

system.collections

之下,表示物件的先進先出集合。snake類裡面主要包含add(新增新物件),clear(清除物件),slither(蛇身移動), pointonsnake(判斷某點是否在蛇身內部)幾個方法。

//向蛇身新增乙個新節點         

public

void

add(point newlocation)

...else

if(m_segs.count 

==maxsnakelength)

...//

新增到m_segs尾部

m_segs.enqueue(newhead);}

//

用新增乙個新蛇頭刪除蛇尾的方法來移動蛇身

public

void

slither(point newlocation)

...

//判斷某點是否在蛇身內部

public

bool

pointonsnake(point pt)

...}

return

false;}

移動控制模組定義了蛇頭的座標,移動的方向等資訊,並且判斷下一步移動的點的座標。

首先定義了三個全域性變數

private

point m_location;   

//蛇頭的座標

private

intm_increment;    

//每次移動增加的象素

private

snakedirection m_direction;   

//移動的方向

其中的

snakedirection

的定義為

internal

enum

snakedirection

...

移動座標判斷函式

move

的**如下

該函式還有乙個不帶引數的過載,

internal

void move(),

內部呼叫move(snakedirection.none)來實現。

主窗體實現遊戲的核心是設定乙個

timer

來實現遊戲的更新和介面的重繪,其中通過窗體接受鍵盤的按鍵來設定蛇身的移動方向,通過

picturebox

的paint

事件來更新遊戲的畫面,通過

timer

事件來移動蛇身和判斷是否吃到食物是否遊戲結束等邏輯處理。也可以通過改變

timer

的時間來改變蛇身移動的

下圖是遊戲進行中截圖

這個作品只是個小遊戲,用來熟悉

gdi繪圖和一些相關構造,主要用於休閒娛樂。

貪吃蛇遊戲

貪吃蛇遊戲 結構化程式設計 c語言程式設計 重要的的是結構化的程式設計思想 include include include include include include define field width 300 就做20個格仔的 define field height 300 define f...

貪吃蛇遊戲

include include include include include 使用當前時間做種子 enum dir 列舉型別enum dir 圍牆 class fencef 定義物件 畫框框 void fence initfence 顯示框框 void fence outputf int snak...

貪吃蛇遊戲

閒暇之餘,學習前輩經驗,再利用執行緒和窗體自己做了個貪吃蛇小遊戲。遊戲帶有加速功能,能顯示遊戲分數。借鑑的朋友們後期還可以在此基礎上增加其他功能。下面給大家顯示遊戲 以及詳細註解 一 bean類 蛇和食物的構造基礎,author deng public class node public node ...