致謝:
感謝 Ronnie Mooney ,我是在學習了他的視頻後完成這個視頻的,你可以在 [C#] Creating a Snake Game - Less than an Hour 找到他的視頻(需翻牆,請自備梯子)。
編寫 Input
靜態類
private static readonly Hashtable _keys = new Hashtable()
public static void ChangeState(Keys key, bool state)
public static bool Pressed(Keys key)
編寫 SnakePart
類
該類僅有兩個變量 X
和 Y
,以及一個構造函數,構造函數的作用就是為 X
和 Y
賦值。
編寫 Direction
枚舉
編寫 SnakeForm
表單
PictureBox
控件,命名為 pbCanvas
,並將大小設置為 320 * 240,背景色設置為 LightSkyBlue
SnakeForm_KeyDown
和 SnakeForm_KeyUp
事件pbCanvas_Paint
事件,該事件的處理函數就是調用 draw()
_score
變量_gameover
變量_direction
變量_snake
列表變量_food
變量_gameLoop
變量_snakeLoop
變量_snakeRate
變量startGame
startGame()
head
並添加進 _snake
generateFood
generateFood()
SnakePart
並賦值給 _food
,需要確保新產生的 _food
不在蛇身上gameover()
_gameover
置為 true
draw()
updateGame()
updateSnake()