程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 【視頻】半小時內編寫一個貪吃蛇游戲

【視頻】半小時內編寫一個貪吃蛇游戲

編輯:C#入門知識

貪吃蛇編寫提綱

致謝:

感謝 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

    該類僅有兩個變量 XY,以及一個構造函數,構造函數的作用就是為 XY 賦值。

  • 編寫 Direction 枚舉

  • 編寫 SnakeForm 表單

    • 添加一個 PictureBox 控件,命名為 pbCanvas,並將大小設置為 320 * 240,背景色設置為 LightSkyBlue
    • 調整表單大小
    • 添加 SnakeForm_KeyDownSnakeForm_KeyUp 事件
    • 添加 pbCanvas_Paint 事件,該事件的處理函數就是調用 draw()
    • 添加一個 _score 變量
    • 添加一個 _gameover 變量
    • 添加一個 _direction 變量
    • 添加一個 _snake 列表變量
    • 添加一個 _food 變量
    • 添加一個 _gameLoop 變量
    • 添加一個 _snakeLoop 變量
    • 添加一個 _snakeRate 變量
    • 初始化各變量,設置定時器變量的回調方法和回調間隔(gameLoop: 1000 / 60,snakeLoop:1000 / _snakeRate),並啟動定時器,調用 startGame
    • 編寫方法 startGame()
      • 重置變量
      • 實例化 head 並添加進 _snake
      • 調用 generateFood
    • 編寫 generateFood()
      • 隨機產生一個 SnakePart 並賦值給 _food,需要確保新產生的 _food 不在蛇身上
    • 編寫方法 gameover()
      • _gameover 置為 true
    • 編寫方法 draw()
    • 編寫方法 updateGame()
    • 編寫方法 updateSnake()

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved