- 新增 jiyi.py 文件,实现字母翻牌记忆游戏功能 - 添加 youxijiemian.py 文件,创建游戏开始界面 - 使用 turtle 和 tkinter 模块分别实现游戏和界面 - 支持选择不同难度的游戏模式
68 lines
1.6 KiB
Python
68 lines
1.6 KiB
Python
import pgzrun
|
|
import random
|
|
from pgzhelper import *
|
|
|
|
# 游戏窗口大小
|
|
WIDTH = 1500
|
|
HEIGHT = 800
|
|
|
|
# 创建背景角色
|
|
bg1 = Actor('连续道路', topleft = (0,0))
|
|
bg2 = Actor('连续道路', topleft = (1500,0))
|
|
|
|
# 创建障碍物
|
|
obstacles = []
|
|
for _ in range(3): # 障碍物数量
|
|
x = random.randint(WIDTH, WIDTH + 1500) # 障碍物出现在屏幕右侧外
|
|
y = random.randint(100, HEIGHT - 50)
|
|
obstacles.append(Actor('路障', (x, y)))
|
|
|
|
# 创建摩托车
|
|
motor = Actor('摩托1', (200, HEIGHT // 2))
|
|
# 将摩托造型存放在列表内
|
|
motor.images = ['摩托1','摩托2']
|
|
|
|
# 初始化设置
|
|
speed = 15
|
|
|
|
def draw():
|
|
# 绘制连续背景
|
|
bg1.draw()
|
|
bg2.draw()
|
|
# 绘制障碍物
|
|
for obs in obstacles:
|
|
obs.draw()
|
|
# 绘制摩托
|
|
motor.draw()
|
|
|
|
# 背景、终点线移动
|
|
def bg_move():
|
|
bg1.x -= speed
|
|
bg2.x -= speed
|
|
if bg1.right <= 0:
|
|
bg1.left = bg2.right
|
|
if bg2.right <= 0:
|
|
bg2.left = bg1.right
|
|
|
|
# 更新障碍物位置
|
|
def obs_move():
|
|
for obs in obstacles:
|
|
obs.x -= speed # 障碍物随背景一起移动
|
|
if obs.x < 0:
|
|
obs.x = random.randint(WIDTH, WIDTH + 1500) # 障碍物继续出现在屏幕外
|
|
obs.y = random.randint(100, HEIGHT - 50)
|
|
|
|
def update():
|
|
bg_move()
|
|
obs_move()
|
|
# 控制赛车移动,限制不能出界
|
|
if keyboard.up and motor.top > 0:
|
|
motor.y -= 7
|
|
if keyboard.down and motor.bottom < HEIGHT-50:
|
|
motor.y += 7
|
|
|
|
def change_image():
|
|
motor.next_image()
|
|
clock.schedule_interval(change_image,0.2)
|
|
|
|
pgzrun.go() |