這幾日自己嘗試做了乙個貪吃蛇,在嘗試過程中發現了自己許多問題,如太小看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 ...