鱼C论坛

 找回密码
 立即注册
查看: 781|回复: 1

[原创] 用pygame上的教程写了一个简易版的Flappy Bird

[复制链接]
发表于 2022-8-14 20:25:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 香蕉那个不拿拿 于 2022-8-19 13:12 编辑

Flappy Bird 是一款由越南视频游戏艺术家和程序员 Nguyn Hà ng 开发的手机游戏,最初于2013年5月发行,但在2014年初突然走红。这款游戏难度极高,并且十分令人上瘾,而它仅仅是通过简单的点按屏幕进行操作,来控制一个小鸟来躲避障碍物。

然而,在 Flappy Bird 大红大紫之时,也招致了很多批评的声音。美国《赫芬顿邮报》批评这款游戏是「一种令人发怒,困难且令人沮丧的游戏」。不久之后,《Flappy Bird》于 2014 年 2 月 10 日从 App Store 和谷歌 Play 主动下架,这位开发者称,他很抱歉做出了这样一款令人上瘾的应用。

                               
登录/注册后可看大图


今天,我根据B站上的教程制作出了一个及其简易的Flappy Bird


源码如下
https://pan.baidu.com/s/19Vvnb-7 ... 29583#list/path=%2F
提取码 nbnb

远观之,懵懵懂懂,不知其故
近观之,代码整洁如浮云,
清新出奇,可谓可远观而不可亵玩焉

细观之,却透露出了无与伦比的含蓄而残缺的美

好吧,我编不下去了

说人话就是:
一个因为作者懒而没有完善的游戏


                               
登录/注册后可看大图

没错,正如你所看到的。

即便是小鸟(或小鸡)进到了管子里面也会潇洒的出来



此外
  1. import pygame
  2. from random import *

  3. pygame.init()

  4. width,height = 284,512

  5. NB = 0
  6. screen = pygame.display.set_mode((width , height))
  7. pipes =[[200,4]]
  8. bird_up = pygame.image.load("images/bird_wing_up.png")
  9. bird_down = pygame.image.load("images/bird_wing_down.png")
  10. background = pygame.image.load("images/background.png")
  11. pipe_body = pygame.image.load("images/pipe_body.png")
  12. pipe_end = pygame.image.load("images/pipe_end.png")
  13. FBS=60
  14. def draw_pipes():
  15.     global pipes
  16.     for i in range(len(pipes)):
  17.         for m in range(pipes[i][1]):
  18.             screen.blit(pipe_body,(pipes[i][0],m*32))
  19.         for m in range(pipes[i][1]+6,16):
  20.             screen.blit(pipe_body,(pipes[i][0],m*32))
  21.         screen.blit(pipe_end,(pipes[i][0],(pipes[i][1])*32))
  22.         screen.blit(pipe_end,(pipes[i][0],(pipes[i][1]+5)*32))
  23.         pipes[i][0] -=1


  24. def draw():
  25.     h=height//2
  26.     g=0.2
  27.     v=0
  28.     clock=pygame.time.Clock()
  29.     while 1:
  30.         if len(pipes)<4:
  31.             x= pipes[-1][0]+200
  32.             open_pos = randrange(1,9)
  33.             pipes.append([x,open_pos])
  34.         if pipes[0][0]<-100:
  35.             pipes.pop(0)
  36.         screen.blit(background,(0,0))
  37.         global NB
  38.         draw_pipes()
  39.         if -1 < NB < 31:
  40.             screen.blit(bird_up,(20,h))
  41.             NB+=1
  42.         if 30 < NB < 61:
  43.             screen.blit(bird_down, (20, h))
  44.             NB += 1
  45.         if NB ==60:
  46.             NB=0
  47.         for event in pygame.event.get():
  48.             if event.type == pygame.QUIT:
  49.                 pygame.quit()
  50.                 return
  51.             if event.type == pygame.KEYDOWN:
  52.                 h -=40
  53.                 v=0
  54.         v+=g
  55.         h+=v
  56.         pygame.display.update()
  57.         clock.tick(FBS)
  58. draw()

复制代码


大家把这里g=2改成g=0.2更好一些
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-8-20 08:47:22 | 显示全部楼层
为什么就是么有人来吗
就没有人来看一看,

有大佬来指点我吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 16:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表