mainvoid  #音效存放picture #图片存放need #各种计算相关的函数play.py #运行db.db #数据库loadding.py #对图片进行加载


下面为主逻辑部分

def MainGame(info):#主游戏模块global distance,bird_x,bird_y,mask,tempname , level , default , color = inforeal_bg=random.choice(bg)level=dict_[level]mask ={}upper_img=pipe['green'][0]# 获得图像lower_img = pygame.transform.rotate(upper_img , 180)#翻转图像#管道距离mask['bird'] = (getHitmask(bird_c[color]))mask['pipe'] = (getHitmask(pipe['green'][0]) ,getHitmask(pipe['green'][1]) ,)mask['box']=(getHitmask(box))score=57#分数distance = distance_-level*20 #每个的距离bet=200-10*levelcount=distance #为了pipe距离一致进行的计算bird_x = 57  #鸟的初始坐标bird_y=190if default=='简单':far=easy #设置画面速度elif default=='一般':far=commontelse:far=difficultrotate=60 #角度v=0 #加速度g_v=0.5 #设置画面加速度g_v_=2 #起始下落速度cc=bird_c[color]#鸟的颜色box_x=[]box_y=[]x=[]far_=faru_y=[]l_y=[]v_=0counter=0while True:screen.blit(real_bg , (0 , 0))for event in pygame.event.get():if event.type==QUIT:pygame.display.quit()elif event.type==KEYDOWN and (event.key==K_SPACE or event.key==K_UP):m['wing'].play()v=8v_=rotateg_v_=2if v>0:cc=pygame.transform.rotate(bird_c[color],v_/2)bird_y-=vv_-=8v-=1else:v_-=1cc=pygame.transform.rotate(bird_c[color],v_)g_v_+=g_vbird_y+=(g_v_)#上面是飞行机制if count>=distance:count=0x.append(388)u_yy,l_yy=get_pipe(bet)u_y.append(u_yy)l_y.append(l_yy)#下面定义道具出现在俩个管道之间b_count = random.randint(1 , 10)if b_count < 10 * box_pro:box_x.append(random.randint(440 , 440 + distance-70))box_y.append(random.randint(100 , 300))#贴上管道if counter>0:if big:cc=pygame.transform.scale2x(cc)  #处于大状态if fast:passif small:cc=pygame.transform.scale(cc, (17, 12))else:far=far_fast=Falsebig=Falsefor x_,u_y_,l_y_ in zip(x,u_y,l_y):if x_<-100:del x[0],u_y[0],l_y[0]screen.blit(upper_img,(x_,u_y_))screen.blit(lower_img,(x_,l_y_))for i in range(len(x)):x[i]-=far#贴上道具box_crash =check_crash(cc,box_x,box_y,img=box)if box_crash[0][0]:for b_x,b_y in zip(box_x,box_y):if b_x>55 and b_x<130:del box_x[box_x.index(box_crash[1])],box_y[box_y.index(box_crash[2])]far=far_big=Falsesmall=Falsetmp=random.randint(1,3)if tmp==1:big=Trueelif tmp==2:fast=Truefar_=farfar-=slowedelse:small=Truecounter=box_timecount+=farfor b_x,b_y in zip(box_x,box_y):if b_x<-100:del box_x[0],box_y[0]screen.blit(box,(b_x,b_y))for i in range(len(box_x)):box_x[i]-=farscore+=farrel_score=int((score-438+distance)/(distance))if rel_score<=0:rel_score=0;rel_score_=0if rel_score>rel_score_:m['point'].play()rel_score_=rel_scoreindex=0for i in str(rel_score):screen.blit(score_group[i],(200+index*30,10))index+=1counter-=4crash_test=check_crash(cc,x,u_y,l_y)if crash_test[0][0] and big==False:m['die'].play()return cc,bird_x,bird_y,name , level , default,rel_score_ #返回鸟的坐标if crash_test[0][0] and big==True:del u_y[u_y.index(crash_test[1])],l_y[l_y.index(crash_test[2])],x[x.index(crash_test[3])]rel_score+=distanceif cc.get_height()+bird_y>=410 or bird_y<=0:m['die'].play()return cc,bird_x,bird_y,name , level , default,rel_score_screen.blit(cc,(bird_x,bird_y))temp = -((-temp + 4) % 48)screen.blit(move , (temp , base))clock.tick(30)pygame.display.update()

python 飞翔的小鸟相关推荐

  1. python带你成功复刻热门手机游戏——飞翔的小鸟

    前言 大家早好.午好.晚好吖 ❤ ~欢迎光临本文章 飞翔的小鸟(游戏英文名:Flappy Bird) 一款由越南独立开发者开发的手机游戏,是之前非常流行的一款手机游戏 小游戏目标:让小鸟穿过管子,不要 ...

  2. 【Python游戏】Python各大游戏合集(3):飞翔的小鸟、俄罗斯方块、24点小游戏、吃豆豆小游、扫雷 | 附带源码

    相关文件 关注小编,私信小编领取哟! 当然别忘了一件三连哟~~ 公众号:Python日志 可以关注小编公众号,会不定时的发布一下Python小技巧,还有很多资源可以免费领取哟!! 源码领取:加Pyth ...

  3. 16 - python 仿写飞翔的小鸟,附带源码

    在写飞翔的小鸟游戏前,要用到pygame这个模块.pygame是一个利用SDL库(全名Simple DirectMedia Layer)写就的游戏库.可以用pip3 install pygame命令来 ...

  4. vue+js练手前端项目->游戏平台(贪吃蛇、俄罗斯方块、飞机大战、飞翔的小鸟、2048、五子棋)

    线上地址:http://codeape.site/ 源码地址:https://gitee.com/wooden-joint/my-game 觉得有用可以点个star 项目介绍 该游戏平台涉及的知识点有 ...

  5. 【源码+教程】Java课设项目_12款最热最新Java游戏项目_Java游戏开发_Java小游戏_飞翔的小鸟_王者荣耀_超级玛丽_推箱子_黄金矿工_贪吃蛇

    马上就要期末了,同学们课设做的如何了呢?本篇为大家带来了12款热门Java小游戏项目的源码和教程,助力大家顺利迎接暑假![源码+教程]Java课设项目_12款最热最新Java游戏项目_Java游戏开发 ...

  6. Unity3d制作2D游戏飞翔的小鸟(FlappyBird)

    目录 一.学习方向 二.制作步骤 1.新建项目 3.设置为精灵模式 4.精灵图像分割 5.场景布局设置 6.录制小鸟飞翔动画 7.构建飞翔的小鸟让其响应 8.构建UI对象并让其响应 9.构建游戏背景并 ...

  7. 【Java基础】手把手教你用Java制作飞翔的小鸟

    课程介绍: 飞翔的小鸟,游戏中玩家只需通过点击方向键操纵让小鸟避开绿色管道等障碍物即可继续前进,如果小鸟碰到管道,游戏立即结束,那么如何用java编写一款属于自己的飞翔的小鸟游戏呢? 这个其实真的没有 ...

  8. 【源码+图片素材+详细教程】Java游戏开发_Java开发经典游戏飞翔的小鸟_飞扬的小鸟_Java游戏项目Flappy Bird像素鸟游戏_Java课程设计项目

    课程目标: 1.通过本课程的学习巩固Java的相关基础知识,例如循环判断,数组和集合的使用,对象的继承,接口的实现,窗口的创建,事件监听,图形绘制. 2.完成小鸟的移动,管道自动生成.碰撞死亡,计分系 ...

  9. C语言实现飞翔的小鸟小游戏

    参考视频https://www.bilibili.com/video/BV1Xo4y1R7hs 缺陷:撞柱子功能暂未实现 //飞翔的小鸟 #include<stdio.h>//C语言标准头 ...

最新文章

  1. 美团面试题:String s = new String(111)会创建几个对象?
  2. Eclipse的安装与汉化
  3. EJB和JavaBean的区别
  4. 设置允许远程连接MySQL (Ubuntu为例)
  5. 静物摄影用光技巧_室内人像摄影想要拍好,这3种用光技巧你了解吗?
  6. windows7用VMware workstation安装ubuntu server 16.04 虚拟机
  7. java 直播_一对一直播源码开发过程中区分Java和PHP的重要性
  8. Linux 2.6 和安卓一样吗,Linux2.4和Linux2.6设备驱动的一些区别
  9. 数据包的分类和调度-Linux TC的另一种解释
  10. 少谈设计模式,多谈基本功
  11. iWebOffice2015入门(二)
  12. logback控制台彩色日志输出
  13. JDK 11 是发布了,但收费吗?
  14. Latex 摘要部分
  15. qemu教程_QEMU实例教程
  16. jpg转bmp c语言 linux,C语言实现BMP转换JPG的方法
  17. 智慧消防之物联网消防的意义
  18. hdu--6045 Is Derek Lying
  19. java 天气api_基于JAVA的免费天气预报接口查询
  20. Codeforces Round #672 (Div. 2) Pokémon Army

热门文章

  1. 适合在家种植的中药材
  2. 【数据分析与挖掘】基于Apriori算法的中医证型的关联规则挖掘(有数据集和代码)
  3. 前端吃香还是后端吃香?
  4. Vmware Ubuntu虚拟机提示:无法连接虚拟设备 sata0:1,因为主机上没有相对应的设备,解决办法
  5. 索尼和微软同时发布新游戏机——抢钱了
  6. #03 ASP.NET主题
  7. 应聘华为各类工程师通信基础题库以及答案(转)
  8. 范冰冰戛纳再惊艳 搜狗网址导航带你重温女神经典作品
  9. HDFS 的权限管理不可怕,一篇文章搞懂它
  10. java 消息队列_JAVA-消息队列