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. Tomcat进程意外退出的问题分析

    http://ifeve.com/why-kill-2-cannot-stop-tomcat/?tdsourcetag=s_pctim_aiomsg tail后关掉客户端 正常执行shutdown.s ...

  2. Java程序设计(2021春)——第四章接口与多态课后题(选择题+编程题)答案与详解

    Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 第四章选择题 4.0 ...

  3. Java HashMap【笔记】

    Java HashMap[笔记] HashMap HashMap 基本结构 HashMap 底层的数据结构主要是数组 + 链表 + 红黑树 其中当链表的长度大于等于 8 时,链表会转化成红黑树,当红黑 ...

  4. SpringCloud升级之路2020.0.x版-15.UnderTow 订制

    本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 我们使用 Spri ...

  5. 使用Postfix与Dovecot收发电子邮件(物理机虚拟机之间)

    邮件应用协议包括: 简单邮件传输协议(SMTP),用来发送或中转发出的电子邮件,占用tcp 25端口. 第三版邮局协议(POP3),用于将服务器上把邮件存储到本地主机,占用tcp 110端口. 第四版 ...

  6. Vmware15的安装以及Ubunt的在虚拟机上的安装

    一.vmware15安装 1.百度网盘地址 链接:https://pan.baidu.com/s/1Lgez57n50QEW97HNdYZCfQ 提取码:9wvy 2.下载到本地后 3.双击安装程序 ...

  7. 经典树与图论(最小生成树、哈夫曼树、最短路径问题---Dijkstra算法)

    参考网址: https://www.jianshu.com/p/cb5af6b5096d 算法导论--最小生成树 最小生成树:在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树. im ...

  8. C语言 Ubuntu系统 UTF-8 文字处理

    关于UTF-8的规则:https://baike.baidu.com/item/UTF-8/481798?fr=aladdin 使用windows系统下的Ubuntu子系统,实现C语言对UTF-8编码 ...

  9. WPF 勾选划线

    最近项目需要一个左右侧一对多的划线功能 我们先来看一下效果秃: 主要功能: 支持动态添加 支持复选 支持修改颜色 支持动态宽度 主要实现:事件的传递 应用场景:购物互选,食品搭配,角色互选 数据源 左 ...

  10. ProjectEuler 004题

    1 #include<iostream> 2 using namespace std; 3 4 int main() { 5 bool isPalindromic (int num); 6 ...