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

最新文章

  1. 建立时间和保持时间(setup time 和 hold time)
  2. iftop
  3. git教程,待学习
  4. linux安装
  5. linux常用命令搜索
  6. Hibernate 多对多关联Demo
  7. 修改ORACLE的语言参数
  8. Objective-C(十八、谓语使用及实例说明)——iOS开发基础
  9. C#中int32 的有效值范围
  10. 最近i学习微信卡券中的会员卡功能,弄清楚不容易 ,分享一下。
  11. Socket层实现系列 — accept()的实现(二)
  12. OpenCV3编程入门-读书笔记2-core组件
  13. linux的使用以及linux服务器应用的部署
  14. Linux下无法运行Color picker
  15. MYSQL IN 与 EXISTS 的优化示例介绍
  16. 安装gitlab遇到的问题
  17. android studio启动和项目编译问题
  18. BIO、NIO、AIO差别
  19. mybatis由浅入深day02_3一对多查询
  20. dns之缓存。

热门文章

  1. java常见面试题总结2
  2. JavaWeb项目实战-油画商城
  3. docker-02
  4. uniapp scroll-view 组件横向滑动失效(ios问题出的最多)
  5. 题解 P3942 将军令
  6. MongoDB用户创建
  7. sudo apt install net-tools [sudo] zyw 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树,正在读取状态信息... 完成,没有可用的软件包 net-tools,但是它被其它的软件包引用了。这可能意味着这个缺失的软件包可能已被废弃,或者只能在其他发布源中找到
  8. uwp 的work project 的 取消闹钟
  9. Ubuntu防火墙:ufw
  10. 检测一个页面所用的时间的js