python學習筆記 烏龜吃魚小遊戲

2021-08-26 12:13:49 字數 2323 閱讀 8966

遊戲規則:

1. 遊戲背景為10*10;

2. 遊戲會自動生成1個烏龜和10條魚;

3. 它們移動方向隨機;

4. 烏龜最大移動能力為2; [-2,-1,1,2]

5. 魚最大移動能力為1; [-1,1]

6. 當移動到場景邊界, 自動反方向移動;

7. 烏龜初始化體能為100

<200為上限》;每移動一次消耗體能1;

8. 當烏龜和魚的座標重合, 代表烏龜吃掉魚, 體能增加20;

9. 烏龜無體力或者魚吃光, 遊戲結束;

import random

class

baseanimal

(object):

def__init__

(self):

self.x = random.randint(0, 9)

self.y = random.randint(0, 9)

defis_vaild

(self, value):

"""判斷座標是否越界"""

if value < 0: # -2 --> 2

return

0-value

elif value > 9:

return

9 - (value - 9)

return value

class

turtle

(baseanimal):

def__init__

(self):

super(turtle, self).__init__()

self.power = 100

defmove

(self):

move_skill = [-1, 1, 0, -2, 2]

# 烏龜最大移動能力為2; # (0,10)

new_x = self.x + random.choice(move_skill) #1

new_y = self.y + random.choice(move_skill) #12

self.x = self.is_vaild(new_x)

self.y = self.is_vaild(new_y)

self.power -= 1

defeat

(self):

self.power += 20

# 烏龜初始化體能為100<200為上限》

if self.power >= 200:

self.power = 200

class

fish

(baseanimal):

defmove

(self):

move_skill = [-1, 1, 0]

# 烏龜最大移動能力為2; # (0,10)

new_x = self.x + random.choice(move_skill) # 1

new_y = self.y + random.choice(move_skill) # 12

self.x = self.is_vaild(new_x)

self.y = self.is_vaild(new_y)

defmain

(): t1 = turtle()

# 10個魚

fishs = [fish() for i in range(10)]

# fishs =

# for i in range(10):

while

true:

# 判斷遊戲是否結束?

if t1.power <= 0:

print("烏龜over! game over......")

break

elif len(fishs) == 0:

print("魚被吃光!game over.......")

break

else:

# 烏龜和魚移動

t1.move()

for fish in fishs:

fish.move()

# 判斷烏龜是否吃到魚?

if t1.x == fish.x and t1.y == fish.y:

t1.eat()

fishs.remove(fish)

print("魚被吃掉......")

print("烏龜最新體能:%s" %(t1.power))

else:

print("烏龜沒有吃到魚,最新體能為%s" %(t1.power))

if __name__ == "__main__":

main()

Python學習筆記 用pygame編寫小遊戲

遊戲功能 小球從螢幕頂端隨機位置出現,垂直落下。滑鼠左右鍵控制擋板左右移動,接住下落的小球。若沒有接到則遊戲失敗,退出並顯示分數。效果如圖 如下 coding utf 8 import pygame from pygame.locals import import sys import random...

小志的Python 學習筆記(一)

python的列表基本操作 參考教材 董付國python可以這樣學 lst lst.extend list1 將列表list1中的所有元素新增至lst尾部 lst.remove x 在列表lst中刪除出現的指定元素,該元素之後的所有元素前移乙個位置 lst.pop i 刪除並返回下標為i 的元素,預...

python學習筆記2 小甲魚課程

1.idle是python的外殼 2.idle file new file 輸入程式段 3.快捷鍵 alt n 上一條語句 f5 執行程式段 4.dir builtins 檢視所有內建函式 5.help 檢視具體的某個函式怎麼用,例如 help input 6.python不允許if條件中賦值,例如...