马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
远观之,懵懵懂懂,不知其故
近观之,代码整洁如浮云,
清新出奇,可谓可远观而不可亵玩焉
细观之,却透露出了无与伦比的含蓄而残缺的美
好吧,我编不下去了
说人话就是:
一个因为作者懒而没有完善的游戏
没错,正如你所看到的。
即便是小鸟(或小鸡)进到了管子里面也会潇洒的出来
此外import pygame
from random import *
pygame.init()
width,height = 284,512
NB = 0
screen = pygame.display.set_mode((width , height))
pipes =[[200,4]]
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[i][1]):
screen.blit(pipe_body,(pipes[i][0],m*32))
for m in range(pipes[i][1]+6,16):
screen.blit(pipe_body,(pipes[i][0],m*32))
screen.blit(pipe_end,(pipes[i][0],(pipes[i][1])*32))
screen.blit(pipe_end,(pipes[i][0],(pipes[i][1]+5)*32))
pipes[i][0] -=1
def draw():
h=height//2
g=0.2
v=0
clock=pygame.time.Clock()
while 1:
if len(pipes)<4:
x= pipes[-1][0]+200
open_pos = randrange(1,9)
pipes.append([x,open_pos])
if pipes[0][0]<-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更好一些 |