事情是這樣的,我上的大學裡有個和微軟合作的俱樂部,面向大一招新的時候我去參加了一面,面試完acm組又去了一下game組,結果就讓我寫乙個貪吃蛇作為二面前的任務。
這我也沒寫過啊,就只好搜了一下別人的源**學習學習。我從這裡找的源**,但真正的作者是這位。
一百多行的**看下來,確實是學到了不少。
首先是整體的演算法思路。這裡的方法簡單直接,就是時間每過去乙個特定值就前進一步,然後判斷有沒有撞到邊界或自己或者吃到食物,如果吃到了食物就變長同時隨機乙個新的食物,當然食物不能長在蛇身上。
直接判斷時間差是我沒預料到的,我以為會有一些更加高階更加方便的方法,但是又想到之前聽說正規大作裡的碰撞檢測是每秒30次什麼的,估計也是直接看時間差了,看來這種方法應該是遊戲裡常用的。
然後就是實現細節了,這也是我學到的最多的東西。在這裡放幾個傳送門,把我學到的乙個乙個說一下。
獲取控制代碼
定位游標
隱藏游標
處理輸入
貪吃蛇筆記
1.用image新增button元件代替button 2.控制物體移動不一定要寫在方法裡,可以用invokerepeating 方法,想要修改變數時可以cancelinvoke 先暫停再修改 3.食物的隨機生成可以讓每次生成的食物的用陣列儲存 然後獲取元件替換。4.單例模式,用於吃完食物後生成新食物...
貪吃蛇的學習
首先看到要做乙個這樣的遊戲是沒有什麼很好的頭緒,然後看了老師發的課件上的自頂向下的模型,才有了初步構想。定義貪吃蛇的每節的座標,將head單獨拿出來處理等都使得整個程式邏輯性更強,然後用swich判斷輸入的方向,每個方向用乙個函式來實現。貪吃蛇的移動也可以用陣列的傳遞實現,條理清晰。但是到了智慧型蛇...
貪吃蛇學習過程
貪吃蛇遊戲的設計 首先就是確定好思路 自頂向下,逐步求精 下面是程式的總體結構 while not 遊戲結束 do ch 等待輸入 case ch do a 左前進一步,break d 右前進一步,break w 上前進一步,break s 下前進一步,break end case 輸出字元矩陣 e...