小猴接桃子

如本文章标有价格,需议价或其它事情商议请加微信pythonxia

Python游戏海龟小猴接桃
Python游戏海龟小猴接桃
"""
   小猴接桃子.py
   本程序需要gameturtle模块,枕头模块运行,请先运行以下命令进行安装
   pip install gameturtle
   博客网址: www.lixingqiu.com
   内有本人自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
    

本站所有作品,教程等皆为原创,版权所有。只供个人及单位内部研究使用,对外展示或传播必需经本站同意,且注明来自本站。培训机构等用本站资源培训学生,需经本站授权。一旦付款,表示同意本站知识付费原则:数字商品,不支持退款。亦可直接向微信号scratch8付款购买。入住QQ群:225792826 和爱好者共同交流,并且能下载免费提供的Python资源(需提供真实姓名才可入群)
李兴球的博客_Python创意编程技术前沿_pygame » 小猴接桃子
scratch

学本领,探索更大的世界!

李兴球博客 风火轮编程主页