- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章python实现简单flappy bird由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了python实现flappy bird的简单代码,供大家参考,具体内容如下 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
import
pygame
from
pygame.
locals
import
*
from
sys
import
exit
import
random
# 屏幕宽度
SCREENWIDTH
=
288
# 屏幕高度
SCREENHEIGHT
=
512
IMAGES
=
{}
# 背景图片地址
BACKGROUND_PATH
=
'back_ground.png'
PIPE_PATH
=
'pipe.png'
BASE_PATH
=
'base.png'
PLAYER_PATH
=
(
'bird2_0.png'
,
'bird2_1.png'
,
'bird2_2.png'
,
)
# 初始化
pygame.init()
# 创建窗口
SCREEN
=
pygame.display.set_mode((SCREENHEIGHT, SCREENHEIGHT))
# 设置窗口标题
pygame.display.set_caption(
"Flappy Bird"
)
# 加载图片,透明用convert_alpha,不透明用convert
IMAGES[
'background'
]
=
pygame.image.load(BACKGROUND_PATH).convert()
IMAGES[
'base'
]
=
pygame.image.load(BASE_PATH).convert_alpha()
IMAGES[
'bird'
]
=
(
pygame.image.load(PLAYER_PATH[
0
]).convert_alpha(),
pygame.image.load(PLAYER_PATH[
1
]).convert_alpha(),
pygame.image.load(PLAYER_PATH[
2
]).convert_alpha(),
)
IMAGES[
'pipe'
]
=
(
pygame.transform.rotate(pygame.image.load(PIPE_PATH).convert_alpha(),
180
),
pygame.image.load(PIPE_PATH).convert_alpha()
)
BASEY
=
SCREENHEIGHT
*
0.82
# 设置帧率
FPS
=
30
FPSCLOCK
=
pygame.time.Clock()
PIPE_WIDTH
=
IMAGES[
'pipe'
][
0
].get_width()
PIPE_HEIGHT
=
IMAGES[
'pipe'
][
0
].get_height()
PLAYER_WIDTH
=
IMAGES[
'bird'
][
0
].get_width()
PLAYER_HEIGHT
=
IMAGES[
'bird'
][
0
].get_height()
PIPEGAPSIZE
=
100
# 两个水管之间的距离
x
=
SCREENWIDTH
/
/
2
y
=
SCREENHEIGHT
/
/
2
move_x
=
0
move_y
=
0
flap
=
0
# 小鸟初始状态
pipeVelX
=
-
4
# 管道x方向的速度
playerVelY
=
0
# 小鸟y方向的初速度
playerMaxVelY
=
10
# 小鸟y方向的最大速度
playerMinVelY
=
-
8
# 小鸟y方向的最小速度
playerAccY
=
2
# 小鸟y方向的下降加速度
playerFlapAcc
=
-
3
# 小鸟y方向的上升加速度
playerFLapped
=
False
# 当小鸟飞的时候为真
playery
=
int
((SCREENHEIGHT
-
PLAYER_HEIGHT)
/
2
)
# 随机移动柱子
def
getRandomPipe():
# 两个水管之间的距离有如下变量
gapYs
=
[
20
,
30
,
40
,
50
,
60
,
70
,
80
,
90
]
index
=
random.randint(
0
,
len
(gapYs)
-
1
)
gapY
=
gapYs[index]
gapY
+
=
int
(BASEY
*
0.2
)
# 水管x坐标
pipeX
=
SCREENWIDTH
+
10
return
[
{
'x'
: pipeX,
'y'
: gapY
-
PIPE_HEIGHT},
# 上面水管的左上角位置
{
'x'
: pipeX,
'y'
: gapY
+
PIPEGAPSIZE},
# 下面水管的左上角位置
]
newPipel
=
getRandomPipe()
upperPipes
=
[
{
'x'
: SCREENWIDTH,
'y'
:newPipel[
0
][
'y'
]}
]
lowerPipes
=
[
{
'x'
: SCREENWIDTH,
'y'
:newPipel[
1
][
'y'
]}
]
while
True
:
for
event
in
pygame.event.get():
if
event.
type
=
=
QUIT:
exit()
elif
event.
type
=
=
KEYDOWN:
if
event.key
=
=
K_LEFT:
move_x
=
-
3
elif
event.key
=
=
K_RIGHT:
move_x
=
3
elif
event.key
=
=
K_UP:
move_y
=
-
3
elif
event.key
=
=
K_DOWN:
move_y
=
3
elif
event.
type
=
=
KEYUP:
move_x
=
0
move_y
=
0
x
=
x
+
move_x
y
=
y
+
move_y
# 防止冲出边界
if
x > SCREENWIDTH:
x
=
0
elif
x <
0
:
x
=
SCREENWIDTH
if
y > SCREENHEIGHT:
y
=
0
elif
y <
0
:
y
=
SCREENHEIGHT
# 贴图在左上角
SCREEN.blit(IMAGES[
'background'
], (
0
,
0
))
# 背景
# 显示水管
for
uPipe, lPipe
in
zip
(upperPipes, lowerPipes):
SCREEN.blit(IMAGES[
'pipe'
][
0
], (uPipe[
'x'
], uPipe[
'y'
]))
SCREEN.blit(IMAGES[
'pipe'
][
1
], (lPipe[
'x'
], lPipe[
'y'
]))
# 放小鸟
SCREEN.blit(IMAGES[
'bird'
][flap], (x, y))
flap
=
flap
+
1
if
flap
%
3
=
=
0
:
flap
=
0
for
uPipe, lPipe
in
zip
(upperPipes, lowerPipes):
uPipe[
'x'
]
+
=
pipeVelX
lPipe[
'x'
]
+
=
pipeVelX
# 当水管移动到某一位置的时候,生成新的水管
if
0
< upperPipes[
0
][
'x'
] <
5
:
newPipe
=
getRandomPipe()
upperPipes.append(newPipe[
0
])
lowerPipes.append(newPipe[
1
])
# 如果水管从右往左移动到边缘,则摧毁水管
if
upperPipes[
0
][
'x'
] <
-
PIPE_WIDTH:
# 队列头出队
upperPipes.pop(
0
)
lowerPipes.pop(
0
)
# 刷新画面
pygame.display.update()
FPSCLOCK.tick(FPS)
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/wwxy1995/article/details/81436788 。
最后此篇关于python实现简单flappy bird的文章就讲到这里了,如果你想了解更多关于python实现简单flappy bird的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
一些想法 自学python已经有快三个月了 最近这段时间没有怎么写过python 很多东西反而又遗忘了 准备翻以前的笔记复习一下在博客上记录下来 自己也没能够做出什么厉害的东西 小鸟游戏算是目前自
我正在尝试编写一个简单的 flappy bird 游戏作为 Java Applet。我遇到的问题是图形极度无响应,通常在按下键后需要 5-10 秒才能响应。此外,它仅在按键被按下一定次数(大约 6 或
我正在尝试创建一种遗传算法来学习玩飞扬的小鸟。我的游戏正在运行,这是我的 Bird 类: public class Bird extends Player { public NNetwork netw
所以,我正在制作一只飞翔的小鸟克隆。问题是我是使用 java 和 libgdx 编程的新手,我想请求您的帮助。我想在特定区域(只是一个简单的矩形形状)进行触摸检测,而不是在整个屏幕上单击。 这是我当前
好的,我有 Game、Bird 和 Board 类。我的 Game 类中有管道创建、删除和移动代码。有人建议我不要创建 Pipe 类并创建一个管道对象。没有管道代码,我的游戏运行流畅,尽管没有管道出现
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this qu
为了熟悉强化学习,我正在实现基本的 RL 算法来玩游戏 Flappy Bird 。我已完成所有设置,唯一遇到的问题是实现奖励功能。我希望能够处理屏幕并识别是否已得分或鸟是否已死亡。 处理屏幕是使用 m
这里是新手...我正在学习 Brent 的 Flappy Bird 教程,尽管我正在制作类似 Icy Tower 的游戏,但开始屏幕等内容也是如此。 事实是,布伦特使用了: public static
在iOS游戏flappy bird中,有一段距离后生成的管道,它们生成的高度随机 我也在尝试制作飞扬的鸟 pipe (我在我的代码中称它为 Twig 而不是 pipe )。除了管道垂直移动而不是水平移
我想在我的 flappy bird 游戏中添加一个炸弹,但它无法检测到碰撞。如果这只鸟接触了炸弹,我就无法检测到它炸弹出现了,但我无法让它检测到与鸟的碰撞,这是我到目前为止的代码。另外,我没有为炸弹分
对 swift 和一般编码非常陌生,所以请放轻松): 我将如何创建一个自定义 UIAlert,类似于 Flappy Bird 结束游戏的方式。我假设它只是游戏结束后出现的某种容器节点?看起来很简单,但
我正在开发一个 flappy bird clone,我真的被我想创建的这个按钮卡住了。对不起,我知道这是一个基本问题,但我是初学者,我真的需要你的帮助。所以,游戏差不多完成了,但我不想触摸整个屏幕让小
我正在制作 Flappy Bird 的克隆版。当我从纵向模式切换到横向模式时,我遇到了一个错误,即我的地面节点消失了。 编辑:我的代码基于此:https://github.com/fullstacki
下面是创建和管理游戏管道的基本代码: import pygame as pg import sys,os,math,time,random # colours white = (255,255,255
我一直在学习技术教程,在第 4 部分结束时一切正常,第 5 部分只是解释了 neat,然后在第 6 部分中实现了 neat,到一半时我们再次测试了代码第 7 部分(最后一部分)它没有正常工作,但没有错
所以我正在学习如何使用 Sprite 来构建 iOS 游戏。我正在重新制作 flappy bird 作为我的第一个项目。我无法弄清楚如何正确工作的最后一段代码是鸟在空中落下时的旋转。 当我的鸟通过重力
我学习了如何在 iOS 上创建游戏。现在我创建了一个 Flappy bird 克隆。 Flappy Bird Clone我对此深信不疑——当鸟接触到一些管道时,它开始旋转。游戏当然结束了。但是当我开始
我在隔离期间开始学习代码,并决定学习如何使用 pygame(因为我只知道 python 的基础知识),我在 youtube 上学习了一个名为“通过制作 flappy bird 学习 pygame”的教
我目前正在使用 SpriteKit 创建一个 Flappy Bird 风格的游戏。我想让游戏在特定条件下加速,让游戏更难。目前,我正在通过增加 self.speed 来做到这一点。 这对于加快游戏速度
我正在关注 youtube 上的一个教程,该教程使用 python 和 pygame 制作了一个 flappy bird 游戏。到目前为止,我已经完成了他所做的工作,但是当我尝试运行代码时出现错误:
我是一名优秀的程序员,十分优秀!