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

python 小鸡飞行小游戏的更多相关文章

  1. Python开发转盘小游戏

    Python开发转盘小游戏 Python  一 原理分析 Python开发一个图形界面 有12个选项和2个功能键 确定每个按钮的位置 每个按钮的间隔相同 点击开始时转动,当前选项的背景颜色为红色,其他 ...

  2. 用Python实现童年小游戏贪吃蛇

    贪吃蛇作为一款经典小游戏,早在 1976 年就面世了,我最早接触它还是在家长的诺基亚手机中.

  3. 教你用Python自制拼图小游戏,一起来制作吧

    摘要: 本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyt ...

  4. 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词

    一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...

  5. python 面向对象编程 - 小游戏

    面向对象写的小游戏 欢迎玩耍 class Omnicience: camp = 'Omniscience' def __init__(self, name, atk=100, hp=1000, mp= ...

  6. 上班无聊,自己用python做个小游戏来打发时间

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...

  7. Python猜数小游戏

    使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...

  8. Python学习-55 小游戏- 猜大小

    #游戏开始,首先玩家选择大小,选择完成后开始摇骰子(11<=总值<=18为大,3<=总值<=10为小) import random def roll_dice(numbers= ...

  9. python作业-2048小游戏

    需了解的知识 Pygame中的各个模块及其功能: Pygame.init():初始化所有导入的模块 pygame.display: pygame.display.init()  -  初始化 disp ...

随机推荐

  1. Java程序员的推荐阅读书籍

    作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一些,按照学习的先后顺序,推荐给大家,特别是那些想不断提高自己技术水 ...

  2. View epub and mobi File on Linux

    Calibre has stand-alone ebook viewer "ebook-viewer", start it in terminal: $ ebook-viewer ...

  3. Linux中DNS分离解析

    目录 一.分离解析概述 二.DNS分离解析实验 要求 实验步骤 一.分离解析概述 分离解析:同一个dns服务器,同一个域名情况下,不同网段进行访问会解析出不同的IP地址 分离解析的域名服务器实际也是主 ...

  4. docker 搭建kafka集群(入门版)

    1.环境 docker, docker-compose 2.zk-kafka.yml version: '3' services: zoo1: image: zookeeper:3.4.14 rest ...

  5. Windows提权总结

    当以低权用户进去一个陌生的windows机器后,无论是提权还是后续做什么,第一步肯定要尽可能的搜集信息.知己知彼,才百战不殆. 常规信息搜集 systeminfo 查询系统信息 hostname 主机 ...

  6. DVWA靶场之XSS(Stored)通关

    Low: <?php if( isset( $_POST[ 'btnSign' ] ) ) { // Get input $message = trim( $_POST[ 'mtxMessage ...

  7. liunx系统mysql全量备份和增量备份

    前提 ​ 在互联网项目中最终还是读数据进行操作,都离不开曾删改查,那么数据是重中之重,数据库的备份就显得格外重要. ​ 但是每次都直接导出整个数据库的sql文件,显然是不现实的.对数据库的性能影响比较 ...

  8. C#中的几种锁:用户模式锁、内核模式锁、动态计数、监视锁

    参考网址: https://blog.csdn.net/weixin_43989331/article/details/105356008 C#中的几种锁:用户模式锁.内核模式锁.动态计数.监视锁介绍 ...

  9. Mybatis--级联(一)

    级联是resultMap中的配置. 级联分为3种 鉴别器(discrimination):根据某些条件采用具体实现具体实现类级联,如体检表根据性别去区分 一对一:学生和学生证 一对多:班主任和学生. ...

  10. Mybatis中多表联查,查询出来的字段出现重名,造成数据异常的解决方法!

    在做一对多出现的问题,引发的思考:当数据库表中,主表的主键id和明细表的中的字段名相同时怎么办?Mybatis进行自动映射赋值的时候会不会出现异常?                      注意:M ...