用pathon寫貪吃蛇(二)

2021-10-04 02:53:04 字數 1027 閱讀 9562

之前已經寫出了牆,現在要要把小蛇寫出來,這裡的小蛇是那種長度不變的,僅會隨著鍵盤敲轉變方向。

在根據鍵盤敲下的按鍵轉變方向時,如果是直接掉頭的方式,比如小蛇在向前走,但直接向後方轉,這顯然是無法做到的,所以對於這樣的命令,我們認為它是無效的。

後乙個點獲得前乙個點的座標,蛇頭根據按鍵轉變方向

@toward.setter

def toward(self, t): # "t"為傳入的字元("w","s","a","d")

s = self.__toward + t # 這裡這樣設定是為了防止出現能直接掉頭的尷尬場面

if not (s == "ws"or s == "sw"or s == "ad"or s == "da"):

self.__toward = t

# 移動

def step(self):

# 只有頭需要按照方向移動,其它「骨節」只需獲取前乙個骨節的座標就可以了

# 獲取順序為從尾到頭

for i in range(len(self.__position)-1, 0, -1):

self.__position[i] = self.__position[i-1]

go =

# 蛇頭的移動

# 因為不能直接對x, y 兩個屬性進行修改(這裡牽扯到記憶體的問題,如果直接修改

# 兩個屬性值的話self.__position[1]的x, y屬性值同樣會被修改,因為此時兩個物件

# 指向的是同一塊記憶體位址)所以這裡實際應該是重新生成乙個新的物件來替換

self.__position[0] = point(self.__position[0].x+go[self.__toward].x, self.__position[0].y+go[self.__toward].y)

def get_position(self):

return self.__position # 返回位置資訊,之後同樣傳給display用於列印

用c語言寫的貪吃蛇

用c編寫的貪吃蛇程式 需求分析 貪吃蛇是一款經典的小遊戲,在遊戲中,玩家操作一條小蛇不斷的吃豆,同時要避免蛇頭與身體部分接觸。蛇每吃乙個豆,身體就會長大一節。源程式 include include system cls 用到 include include include sleep函式 inclu...

用C語言寫貪吃蛇遊戲

輸入標頭檔案,設定函式,其中snakemove 是實現蛇運動的函式,put food 是隨機放置金幣的函式,printmap 是輸出影象的函式,x y記錄蛇尾的座標,snakex和snakey記錄蛇的初始座標。include include include include define snake ...

用python pygame寫貪吃蛇小遊戲

因為python語法簡單好上手,前兩天在想能不能用python寫個小遊戲出來,就上網搜了一下發現了pygame這個寫2d遊戲的庫。了解了兩天再參考了一些資料就開始寫貪吃蛇這個小遊戲。畢竟最開始的練手專案好像都是這個emmmmpython推薦廖雪峰的python3教程,pygame推薦目光部落格的py...