####################引用数据库与函数######################
import pygame
from random import randrange
pygame.init()
from time import sleep######################定义变量###########################
frame = 0  #当前在0帧处
map_width = 284
map_height = 512 #因为图片大小是284*512的
FPS = 60
pipes = [[200,4]]
bird = [40,map_height//2-50]
gravity = 0.2
velocity = 0gameScreen = pygame.display.set_mode((map_width,map_height))
clock = pygame.time.Clock()
bird_wing_up = bird_wing_up_copy = pygame.image.load("images/bird_wing_up.png")
bird_wing_down = bird_wing_down_copy =  pygame.image.load("images/bird_wing_down.png")
background = pygame.image.load("images/background.png")
pipe_body = pygame.image.load("images/pipe_body.png")
pipe_end = pygame.image.load("images/pipe_end.png")#######################定义函数##########################
def draw_pipes():global pipesfor n in range(len(pipes)):for m in range(pipes[n][1]):gameScreen.blit(pipe_body,(pipes[n][0],m*32))#一个小管子的高度是32for m in range(pipes[n][1]+6,16):gameScreen.blit(pipe_body, (pipes[n][0], m * 32))gameScreen.blit(pipe_end,(pipes[n][0],pipes[n][1] * 32))gameScreen.blit(pipe_end,(pipes[n][0],(pipes[n][1]+5) * 32))pipes[n][0] -= 1
def draw_bird(x,y):global frameif 0<= frame < 30:gameScreen.blit(bird_wing_up, (x, y))frame += 1elif 30<= frame <=60:gameScreen.blit(bird_wing_down, (x, y))frame += 1if frame == 60:frame = 0def safe():if bird[1]>map_height-35:print('you die ! fw')return Falseif bird[1] < 0:print('you die ! fw')return Falseif pipes[0][0]-30 < bird[0] < pipes[0][0]+79 :if bird[1]<(pipes[0][1]+1)*32 or bird[1]>(pipes[0][1]+4)*32:print("You  die ! fw")return Falsereturn Truedef reset():global bird,velocity, gravity, bird_wing_down, bird_wing_up, frame, map_width, map_height, FPS, pipesframe = 0  # 当前在0帧处map_width = 284map_height = 512  # 因为图片大小是284*512的FPS = 60pipes.clear()bird.clear()pipes = [[200, 4]]bird = [40, map_height // 2 - 50]gravity = 0.2velocity = 0def gameLoop():while True:global velocity,gravity,bird_wing_down,bird_wing_upif len(pipes)<4:x = pipes[-1][0]+200open_pos = randrange(1,9)pipes.append([x,open_pos])if pipes[0][0]< -100 :pipes.pop(0)for event in pygame.event.get():  #记录用户所有的操作if event.type == pygame.KEYDOWN:bird[1] -= 40velocity = 0if event.type == pygame.QUIT:pygame.quit()returnvelocity += gravitybird[1]+= velocitybird_wing_down = pygame.transform.rotate(bird_wing_down_copy,-90*(velocity/15))bird_wing_up= pygame.transform.rotate(bird_wing_up_copy, -90*(velocity/ 15))gameScreen.blit(background, (0, 0))  # blit:位块传送draw_pipes()draw_bird(bird[0],bird[1])#↓→为正pygame.display.update()if not safe():sleep(3)reset()clock.tick(FPS)#######################主程序##########################
gameLoop()

python编写呆呆小鸟游戏相关推荐

  1. python 贪吃蛇小游戏代码_10分钟再用Python编写贪吃蛇小游戏

    Python编写贪吃蛇 前不久我们公众号发布了一篇C++编写贪吃蛇小游戏的推文,反响空前.看来大家对这类简单易上手小游戏还是很喜爱的. 恰逢2018年IEEE Spectrum编程语言排行榜新鲜出炉, ...

  2. c++编写手机小游戏代码_只需22行代码,用python编写自己的小游戏

    假期最后一天,有些人在外面玩累了,有些人躺在家里快发霉了,闲暇时候不如动动手做个小游戏玩一玩吧! 本文实例为大家分享了python编写猜数字小游戏的具体代码,供大家参考,具体内容如下 1 import ...

  3. 用python 编写一个简单的游戏

    This blog will memory my work and process with the interesting skill. 用python 编写一个简单的游戏 这是一个非常简单的游戏, ...

  4. 请用python编写一个斗地主小游戏,并给出完整代码

    很高兴为您服务!这是一个使用Python编写的斗地主小游戏的完整代码:# 导入必备模块 import random# 定义一副牌 poker = ['A', 2, 3, 4, 5, 6, 7, 8, ...

  5. python小游戏代码大全-Python编写的点灯小游戏代码

    Python语言编写的点灯小游戏代码及思路如下: 点灯游戏及其求解的方法, 点灯游戏的游戏规则: (1)有个N行N列的灯板,当你开关其中一盏灯: (2)它和上下左右的灯的状态全部反转,目标是将全部的灯 ...

  6. 10分钟用python编写贪吃蛇小游戏_牛得一批!10分钟用Python编写一个贪吃蛇小游戏...

    贪吃蛇,大家应该都玩过.当初第一次接触贪吃蛇的时候 ,还是能砸核桃的诺基亚上,当时玩的不亦乐乎.今天,我们用Python编程一个贪吃蛇游戏,下面我们先看看效果: 好了,先介绍一个思路 所有的游戏最主要 ...

  7. 用python编写吃苹果小游戏

    一.游戏简介 本次小游戏的玩法没有那么复杂,通过键盘的"↑","↓","←","→"控制人物上下左右的移动,人物碰到苹果 ...

  8. 使用Python编写程序求解数独游戏答案

    问题描述:数独盘面是个九宫,每一宫又分为九个小格.在这八十一格中给出一定的已知数字和解题条件,利用逻辑和推理,在其他的空格上填入1-9的数字.使1-9每个数字在每一行.每一列和每一宫中都只出现一次,所 ...

  9. 用Python编写第一个小游戏

    前言序锦 今天刚学了Python的一些基础知识,趁热打铁,现在就派上用场,来编写一个小游戏娱乐娱乐-- 简版一 print('.....................Huacode......... ...

  10. Python编写打飞机小游戏

    这是一个简单的打飞机的游戏,运行main.py即可! 最近在学python,总要写一定小项目练练手的.所以就写了个仿微信打飞机的小游戏,有参照网上开源的项目的~后续功能正在完善中- 效果图 代码实现 ...

最新文章

  1. 技术干货 | C++20 四大特性之一:Module 特性详解
  2. windows路由表 重启后就还原了_绕过Apple id并可以随意重启的终极方案来了 (Windows下操作)...
  3. Go语言的interface
  4. Selenium WebDriver API
  5. sqlserver 分组合并列_【双11秒杀】帕克96分阿根廷一级名庄鼎尖单一园马尔贝克...
  6. 安装caffe-yolov3时报错:ImportError: No module named torch(环境变量设置)
  7. rsync + inotify 数据实时同步
  8. pycharm 调试教程
  9. 宏碁 Aspire E1-471g黑苹果efi引导文件
  10. STM32F407概述
  11. MFC 绘制 PNG 格式图片
  12. Python百日百行代码挑战-day7,游戏模块学习,tkinter
  13. 第1章 Dev C++的使用
  14. 22(线性方程组求解)高斯赛德尔迭代法
  15. git如何撤销某次提交记录
  16. SSRNet:用于大规模点云表面重建的深度学习网络(CVPR2020)
  17. linux qos 软件,linux下QOS:应用篇
  18. 可信启动、安全启动:SGX、TrustZone、SecureEnclave
  19. 【Web技术】1118- 图片防盗链的实现既然如此简单
  20. Thymeleaf是干什么的

热门文章

  1. 图数据库知识点2:图思维方式
  2. 家辉猫的20180108的python强化课
  3. 牙不好全身遭殃!这些病竟都和牙有关,以前太小瞧了!
  4. DJI lightbrdige2 遥控器外接图像采集卡
  5. WPF之路-常用布局控件
  6. 如何将PC的VPN代理分享给局域网的其它Linux嵌入式设备、或其它PC
  7. 手撸一款简单高效的线程池(二)
  8. java url文件大小,如何在java中从URL计算文件大小
  9. 浅析声音中响度的基础知识
  10. 开源项目: Paint.NET