C 窗體貪吃蛇

2021-08-13 02:36:00 字數 1813 閱讀 2517

這幾日自己嘗試做了乙個貪吃蛇,在嘗試過程中發現了自己許多問題,如太小看winform了,之前總是認為其門檻低就沒有太過於重視,結果還是眼高手低。

再此也提醒各位朋友與自己,每當腦海有想法時,盡量動手嘗試,不要成為乙個理論帝,好了,廢話不多說。

**如下:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.threading.tasks;

using system.windows.forms;

namespace tcs

//食物的生成

private void food()

//蛇的生成

private void snake(label lbl)

}//吃的過程

private void eat()}}

}吃的判斷

private void eat_food()

//死亡判斷

private void die()

if (i == 2)

}//移動處理

private void move(keys k)

else

}break;

case "d":

for (int i = snakelen - 1; i > 0; i--)

else

}break;

case "w":

for (int i = snakelen - 1; i > 0; i--)

else

}break;

case "s":

for (int i = snakelen - 1; i > 0; i--)

else

}break;}}

//主窗體

private void form1_load(object sender, eventargs e)

timer1.enabled = true;

timer1.interval = 200;

timer1.tick += timer1_tick;

}//判斷蛇頭是否到達邊緣,並使其透牆

private void decide()

if (snake_point[0].left < 0)

if (snake_point[0].top > 390)

if (snake_point[0].top < 0)

die();

}//時間控制項

private void timer1_tick(object sender, eventargs e)

//時間控制的重複操作

private void form1_click(object sender, eventargs e)

//讀取form1的按鍵操作

private void form1_keydown(object sender, keyeventargs e)}}

}

這個程式十分簡單,但擴充套件性不是太好。我在嘗試的時候讀了很多別人的程式時,發現很多時候不是太明白(我接觸的相關東西太少,前面提到),所以基本上是靠自己完成。(不過也理清了基本邏輯)

讀者嘗試的時候推薦理清貪吃蛇細節上的思路。

C 貪吃蛇二

小菜學習winform 一 貪吃蛇 說到oo可能一說一大堆,這裡面小菜只是簡單的把貪吃蛇抽象出來,先來說蛇,具有的屬性和行為,屬性比如蛇的長度 蛇的寬度 蛇的行動方向等 行為比如是否吃到食物 是否撞牆等,那我們可以抽象乙個蛇的類,這樣實現 1 using system 2using system.c...

C 貪吃蛇設計

class map enum char map row col 地圖 map void drawmap 繪製地圖 bool isvaildpoint int x,int y 1.利用列舉來定義常量,在類外部可以通過作用域解析來獲取列舉常量,便於所有類的交流.2.通過二維陣列儲存地圖,在構造的時候讀取...

C語言貪吃蛇

include include include include include include define screen width 40 遊戲螢幕寬度 define screen length 15 遊戲螢幕長度 define start x 16 螢幕起始x座標 define start y ...