python 小鸡飞行小游戏
2024-10-01 09:34:06
python 小鸡飞行小游戏
用空格键控制小鸡飞行
代码
import pygame.freetype
import sys
import random pygame.init()
screen = pygame.display.set_mode((500, 400))
pygame.display.set_caption('chick game') png1 = pygame.image.load('chick.png')
png1 = pygame.transform.scale(png1, (96, 88)) font1 = pygame.freetype.Font(None, 24)
font2 = pygame.freetype.Font(None, 80) c1, c2 = 50, 50
w1, w2 = 300, 600
h1, h2 = 100, 150
sp = 1
sc = 0 p = 0
i = 0 while True:
pygame.time.delay(20)
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if p == 0 and event.key == 32:
p = 1
elif p == 1 and event.key == 32:
sp = -3
elif p == 2 and event.key == 32 and i == 30:
p = 0
c1, c2 = 50, 50
w1, w2 = 300, 600
h1, h2 = 100, 150
sp = 1
sc = 0
i = 0
if p == 0:
screen.fill((255, 255, 255))
screen.blit(png1, (c1, c2))
pygame.draw.rect(screen, (50, 200, 100), (w1, 0, 70, h1))
pygame.draw.rect(screen, (50, 200, 100), (w2, 0, 70, h2))
pygame.draw.rect(screen, (50, 200, 100), (w1, h1 + 150, 70, 400 - h1))
pygame.draw.rect(screen, (50, 200, 100), (w2, h2 + 150, 70, 400 - h2))
font1.render_to(screen, [30, 250], "click space to start")
if p == 1:
w1 -= 2
w2 -= 2
c2 += int(sp)
sp += 0.2
if c2 > 340:
p = 2
if 0 <= w1 <= 150 and not h1 <= c2 <= h1+50:
p = 2
if 0 <= w2 <= 150 and not h2 <= c2 <= h2+50:
p = 2
if w1 <= -70:
w1 += 600
h1 = random.randint(50, 200)
sc += 5
if w2 <= -70:
w2 += 600
h2 = random.randint(50, 200)
sc += 5
screen.fill((255, 255, 255))
screen.blit(png1, (c1, c2))
pygame.draw.rect(screen, (50, 200, 100), (w1, 0, 70, h1))
pygame.draw.rect(screen, (50, 200, 100), (w2, 0, 70, h2))
pygame.draw.rect(screen, (50, 200, 100), (w1, h1 + 150, 70, 400 - h1))
pygame.draw.rect(screen, (50, 200, 100), (w2, h2 + 150, 70, 400 - h2))
if p == 2:
screen.fill((255, 255, 255))
font2.render_to(screen, [80, 50], "score:%d" % sc)
font1.render_to(screen, [100, 250], "click space to play again")
if i < 30:
i += 1
pygame.display.update()
素材
chick.png
最新文章
- 建立时间和保持时间(setup time 和 hold time)
- iftop
- git教程,待学习
- linux安装
- linux常用命令搜索
- Hibernate 多对多关联Demo
- 修改ORACLE的语言参数
- Objective-C(十八、谓语使用及实例说明)——iOS开发基础
- C#中int32 的有效值范围
- 最近i学习微信卡券中的会员卡功能,弄清楚不容易 ,分享一下。
- Socket层实现系列 — accept()的实现(二)
- OpenCV3编程入门-读书笔记2-core组件
- linux的使用以及linux服务器应用的部署
- Linux下无法运行Color picker
- MYSQL IN 与 EXISTS 的优化示例介绍
- 安装gitlab遇到的问题
- android studio启动和项目编译问题
- BIO、NIO、AIO差别
- mybatis由浅入深day02_3一对多查询
- dns之缓存。
热门文章
- java常见面试题总结2
- JavaWeb项目实战-油画商城
- docker-02
- uniapp scroll-view 组件横向滑动失效(ios问题出的最多)
- 题解 P3942 将军令
- MongoDB用户创建
- sudo apt install net-tools [sudo] zyw 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树,正在读取状态信息... 完成,没有可用的软件包 net-tools,但是它被其它的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到
- uwp 的work project 的 取消闹钟
- Ubuntu防火墙:ufw
- 检测一个页面所用的时间的js