用户:
马虎的乌力lP6C查看:0 回复:0 评论:0 创建时间:2021-07-14T22:45:25
【作品展示】

【作品介绍】
本作品可以实现无限路程,表现了陆地动物的活力满满。
【作品源代码】
from arcade import *
SCREEN_WIDTH = 600
SCREEN_HEIGHT = 800
SCREEN_TITLE = "奇遇之旅"
class Road(Sprite):
def __init__(self, image):
super().__init__(image)
self.center_x = SCREEN_WIDTH//2
self.center_y = SCREEN_HEIGHT//2
self.change_y = -3
def update(self):
super().update()
if self.center_y <= SCREEN_HEIGHT // 2 - SCREEN_HEIGHT:
self.center_y = SCREEN_HEIGHT // 2 + SCREEN_HEIGHT
class sanke(Sprite):
def __init__(self, image):
super().__init__(image)
self.center_x = SCREEN_WIDTH // 2
self.center_y = 150
class Cart(Sprite):
def __init__(self, image):
super().__init__(image)
self.center_y = random.randint(
SCREEN_HEIGHT, SCREEN_HEIGHT + SCREEN_HEIGHT // 2)
self.change_y = -2
class MySnake(arcade.Window):
def __init__(self, width, height, title):
super().__init__(width, height, title)
self.setup()
def setup(self):
self.road1 = Road("images/跑到.png")
self.road2 = Road("images/跑到.png")
self.road2.center_y = SCREEN_HEIGHT // 2 + SCREEN_HEIGHT
self.sanke = sanke("images/眼镜蛇.png")
self.carts = SpriteList()
def on_draw(self):
start_render()
self.road1.draw()
self.road2.draw()
self.sanke.draw()
def on_update(self, delta_time: float):
self.sanke.update()
self.road1.update()
self.road2.update()
def on_key_release(self, symbol, modifiers):
if symbol == key.A and self.sanke.center_x >= SCREEN_WIDTH // 2:
self.sanke.center_x -= 200
elif symbol == key.D and self.sanke.center_x <= SCREEN_WIDTH // 2:
self.sanke.center_x += 200
for i in range(num):
cart = Cart(random.choice(cart_list))
cart.center_x = x[i]
self.carts.append(cart)
if __name__ == "__main__":
game = MySnake(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
run()
【提示】
部分含有Python第三方库相关内容的作品,在海龟编辑器网页端无法运行哦!如遇到这种情况,可以打开下面的链接,下载海龟编辑器客户端:
https://python.codemao.cn