"""
小猴接桃子.py
本程序需要gameturtle模块,枕头模块运行,请先运行以下命令进行安装
pip install gameturtle
博客网址: www.lixingqiu
内有本人自2010年探索少儿编程以来的1000多创意Python程序/课程/教程等。
"""
import time # 导入时间模块
import random # 导入随机模块
from tkinter import * # 从tkinter模块导入所有
from PIL import Image # 从枕头模块导入Image
from gameturtle import Sprite # 从gameturtle模块导入角色类
root = Tk() # 新建窗口
root.title('猴子接桃子by李兴球') # 设定窗口标题
cv = Canvas(width=480,height=360,bg='cyan') # 实例化青色画布
cv.pack() # 放置画布
root.center() # 窗口居中显示
im=PhotoImage(file='images/花果山3.png') # 背景图
cv.create_image(240,180,image=im) # 铺上背景图
taozi = Image.open('images/桃子.png') # 桃子图
w,h = taozi.width,taozi.height # 桃子宽高
taozi = taozi.resize((w//18,h//18)) # 桃子图缩小
peachs = [] # 所有的桃子在这
for _ in range(20): # 在范围20内迭代下划线
x = random.randint(0,480) # x的范围是0到480
y = random.randint(-360,-10) # y的范围是-360到-10
tz = Sprite(cv,taozi,pos=(x,y)) # 生成一个桃子
peachs.append(tz) # 添加到桃子列表
imgs = [f"images/m{i}.png" for i in range(3)]
imgs = [Image.open(im) for im in imgs] # 猴子三造型
monkey = Sprite(cv,imgs) # 在画布cv上实例化一只猴子
monkey.say("你好,我是小猴",2) # 猴子说话
monkey.say("帮我接到桃子哦",2) # 猴子说话
counter = 0 # 计数器
while True: # 当成立的时候
mx,my = cv.mouse_pos() # 获取画布上鼠标指针坐标
monkey.goto(mx,320) # 猴子到达mx,320坐标
if counter%10==0: monkey.nextshape() # 切换猴子造型
for tz in peachs: # 每个桃子
tz.addy(2) # 往下移
if tz.collide(monkey) or tz.ycor()>480: # 如果桃子碰到猴子或到了最下面
x = random.randint(0,480) # 设定x值为0到480
y = random.randint(-360,-10) # 设定y值是-360到-10
tz.goto(x,y) # 桃子到达x,y坐标
cv.update() # 刷新画布显示
time.sleep(0.01) # 等待0.01秒
counter += 1
更多推荐
python创意趣味小猴接桃子游戏gameturtle模块
发布评论