遊戲思路借鑑三 貪吃蛇他來了!(一)

2021-10-11 01:25:14 字數 1798 閱讀 6903

private

type node ' 每一節蛇身

d as

integer

'37左38上39右40下,這個是蛇身裡面的

x as

single

'left

y as

single

'top

co as

color

'蛇身顏色

endtype

其次還需要提前定義好我們的預設?身長度,以陣列的形式宣告我們的蛇,因為我們的設施一條運動的;蛇的運動就會產生方向問題,我們要設定乙個方向變數

dim w as

integer

'每一節蛇身寬度

dim sno(

)as node '宣告一條蛇,是動態陣列

dim currentdirect as

integer

'這個是全域性變數的方向,代表蛇運動的當前方向

private

withevents timer1 as

timer

在我們初始化我們型別之前還有一點我們需要考慮的事情

我們要定義一些其他型別,讓他們來代替我們自定義型別中各個屬性的具體引數(直接宣告變數不定義型別也可,實測有效)

'定義顏色型別

private

type

color

r as

integer

'紅色 g as

integer

'綠色 b as

integer

'藍色end

type

然後我們來初始化我們的型別

'初始化一條蛇的引數

function init(

)'初始化蛇身顏色

randomize

dim r%, g%, b%

r =int(

rnd*

256)

g =int(

rnd*

256)

b =int(

rnd*

256)

然後開始畫一條蛇,用line函式即可

'畫一條蛇

function drawsnake(

)cls

dim i as

long

for i =0to

ubound

(sno)

step

1line

(sno(i).x, sno(i).y)

-(sno(i).x + w, sno(i).y + w)

, rgb(sno(i).co.r, sno(i).co.g, sno(i).co.b)

, bf

next i

endfunction

這裡要注意,對蛇的每乙個重要變數都要進行注釋,以便我們以後閱讀**;自定義型別蛇身node是有方向的,主要有頭部獲得,我們暫且先不討論蛇身的變長方式;在這裡我將蛇身的資料和繪畫分開因為後面我們要跟小蛇是否吃到食物來重新繪畫,所以我們把畫蛇的部分攜程自定義函式的方式跟蛇身的資料分開方便以後我們呼叫;這裡運用的重要思想就是用自定義函式來講各個功能模組隔開寫,到此我們基本完成了這條蛇的基本工作——初始化我們的小蛇蛇?。

根據以前我們設計小遊戲的經驗,我們一般先將遊戲預期要實現的功能計畫出來,然後分布來完成各個功能,最後在組裝起來,當然這也要遵循一定的邏輯,即一定要先穿襪子在穿鞋,不能反過來,對應在我們這款小遊戲中的思想,在完成初始化後我們就要讓小蛇動起來起來

遊戲思路借鑑三 貪吃蛇撞到窗體遊戲結束!(三)

在停滯了三周的貪吃蛇終於又回來更新了 第四部分我們要完成的是蛇身撞到窗體後遊戲結束 具體的過程已經在之前球球大作戰那篇文章中解釋的很清楚了 就是我們需要實時判斷這個貪吃蛇的舌頭跟窗體邊框的相對位置關係,那麼這個過程我們可以單獨將他攜程乙個方法進行呼叫這也是學習計算機的目的 體會計算機思想 首先我們需...

Unity小遊戲(一) 貪吃蛇

乙個極其簡陋的貪吃蛇,就不從新建專案一一贅述了,將完全 1 首先說一下設想 背景框,四邊圍牆,碰撞死亡,初始狀態,乙個蛇頭乙個蛇身,wsad控制上下左右,隨機出現食物,蛇頭吃掉食物後,增長,食物的隨機生成要避開蛇頭蛇身 2 移動 協程控制,蛇身用列表儲存,每次蛇頭向前移動一格,第一節蛇身移動到蛇頭位...

Python實現貪吃蛇小遊戲(一)

在貪吃蛇遊戲中,貪吃蛇的移動可以看作是乙個先進先出的佇列 從蛇尾的角度看 因此我們在 c語言實現貪吃蛇小遊戲一文中使用了迴圈鏈結表作為隊來儲存蛇身節點,在python中,可以使用列表來方便的實現蛇身的儲存。列表 python中的一種可以儲存大量資料的資料型別,是以方括號 包圍的資料集合,不同成員之間...