香蕉那个不拿拿 发表于 2022-8-14 20:25:52

用pygame上的教程写了一个简易版的Flappy Bird

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

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

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

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


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

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

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

好吧,我编不下去了{:10_260:}

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

https://imgtu.com/i/vUxElT
没错,正如你所看到的。

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

{:10_312:}

此外
import pygame
from random import *

pygame.init()

width,height = 284,512

NB = 0
screen = pygame.display.set_mode((width , height))
pipes =[]
bird_up = pygame.image.load("images/bird_wing_up.png")
bird_down = 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")
FBS=60
def draw_pipes():
    global pipes
    for i in range(len(pipes)):
      for m in range(pipes):
            screen.blit(pipe_body,(pipes,m*32))
      for m in range(pipes+6,16):
            screen.blit(pipe_body,(pipes,m*32))
      screen.blit(pipe_end,(pipes,(pipes)*32))
      screen.blit(pipe_end,(pipes,(pipes+5)*32))
      pipes -=1


def draw():
    h=height//2
    g=0.2
    v=0
    clock=pygame.time.Clock()
    while 1:
      if len(pipes)<4:
            x= pipes[-1]+200
            open_pos = randrange(1,9)
            pipes.append()
      if pipes<-100:
            pipes.pop(0)
      screen.blit(background,(0,0))
      global NB
      draw_pipes()
      if -1 < NB < 31:
            screen.blit(bird_up,(20,h))
            NB+=1
      if 30 < NB < 61:
            screen.blit(bird_down, (20, h))
            NB += 1
      if NB ==60:
            NB=0
      for event in pygame.event.get():
            if event.type == pygame.QUIT:
                pygame.quit()
                return
            if event.type == pygame.KEYDOWN:
                h -=40
                v=0
      v+=g
      h+=v
      pygame.display.update()
      clock.tick(FBS)
draw()



大家把这里g=2改成g=0.2更好一些

香蕉那个不拿拿 发表于 2022-8-20 08:47:22

为什么就是么有人来吗
就没有人来看一看,{:10_269:}{:10_269:}

有大佬来指点我吗
页: [1]
查看完整版本: 用pygame上的教程写了一个简易版的Flappy Bird