100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > python语言能做什么游戏好玩_太好玩了我用 Python 制作一款小游戏

python语言能做什么游戏好玩_太好玩了我用 Python 制作一款小游戏

时间:2021-06-17 22:34:02

相关推荐

python语言能做什么游戏好玩_太好玩了我用 Python 制作一款小游戏

超级玛丽、魂斗罗、坦克大战、冒险岛……提到这些游戏,"80后"、"90后"滔滔不绝,掀起一波回忆杀。

最近不少媒体发文称:"小霸王被申请破产"。其实,不管有没有破产,小霸王终究只能成为童年回忆了,它的落寞是不争的事实,曾风靡全国的光辉再也回不去了。

今天我来用 Python 制作一个曾经标志性的游戏:「贪吃蛇」。学习和趣味两不耽误的coding。让我们开始构建游戏吧。

导入库

首先,我们需要将库导入到代码中,这些代码将用于构建游戏。我们需要下面的库来构建和运行我们的游戏。importpygame

importtime

importrandom

说明如下:pygame:此库将帮助我们获取所有图形组件来构建游戏。

random:这个库将帮助我们在游戏中随机位置生成食物。

time:这有助于我们在游戏中与时间相关的功能,如蛇的速度。

启动游戏并设置图形

现在,让我们开始构建游戏部分。我们将首先初始化游戏。pygame.init()

我们在游戏中定义了6种颜色。white=(255,255,255)

yellow=(255,255,102)

black=(0,0,0)

red=(213,50,80)

green=(0,255,0)

blue=(50,153,213)

接下来,我们应该定义游戏运行的显示的大小。将高度定义为 600px,宽度定义为 800px。width=800

height=600

接下来,我们将使用定义游戏标题的游戏名称。dis=pygame.display.set_mode((width,height))

pygame.display.set_caption("SnakeGame")

定义游戏中使用的变量

现在我们将初始化时钟变量,该变量将使用我们之前导入的时间包。clock=pygame.time.Clock()

定义我们的蛇的速度,以及蛇块的大小。snake_block=10

snake_speed=12

接下来,我们定义字体大小和字体样式,用于显示分数。font_style=pygame.font.SysFont(“bahnschrift”,25)

score_font=pygame.font.SysFont(“comicsansms”,35)

定义帮助器函数

在这里,我们需要定义三个帮助器函数,用于以下目的:用于显示分数、处理蛇和处理游戏中其他相关信息的显示。defYour_score(score):

value=score_font.render("YourScore:"+str(score),True,yellow)

dis.blit(value,[0,0]

defour_snake(snake_block,snake_list):

forxinsnake_list:

pygame.draw.rect(dis,black,[x[0],x[1],snake_block,snake_block])

defmessage(msg,colour):

mesg=font_style.render(msg,True,colour)

dis.blit(mesg,[width/6,height/3])

构建游戏循环

现在,我们开始构建游戏的组件,使其运行并通过键盘响应用户输入。

我们首先定义两个布尔变量:game_over和game_close。他们将描述游戏状态。

第一个会告诉游戏是否结束。下一个变量定义游戏是否关闭,我们需要再次玩游戏。我们把两者定义为假。game_over=False

game_close=False

下一步,我们的目标是定义游戏中需要的其他变量。x1=width/2

y1=height/2

x1_change=0

y1_change=0

snake_List=[]

snake_length=1

foodx=round(random.randrange(0,width—snake_block)/10.0)*10.0

foody=round(random.randrange(0,height—snake_block)/10.0)*10.0

接下来,我们将启动一个循环,该循环将game_over变为True。

在该循环中,我们将首先定义要执行的指令,以防game_close为 True。

下面是代码,这将有助于我们解决这种情况时,game_close等于真。whilegame_close==True:

dis.fill(blue)

message(“Oops!Yoursnakedied!PressPtoplayagainorQtoquit”,red)

Your_score(snake_length—1)

pygame.display.update()

foreventinpygame.event.get():

ifevent.type==pygame.KEYDOWN:

ifevent.key==pygame.K_q:

game_over=True

game_close=False

ifevent.key==pygame.K_p:

gameLoop()

现在,在处理game_close条件后,我们接下来将定义所有必需的步骤,这些步骤将允许我们的蛇通过用户的输入移动。我们将接受 W, A, S, D 和向上, 向下, 左右键组合玩游戏。您可以自由选择您选择的键来玩游戏。foreventinpygame.event.get():

ifevent.type==pygame.QUIT:

game_over=True

ifevent.type==pygame.KEYDOWN:

ifevent.key==pygame.K_LEFTorevent.key==pygame.K_a:

x1_change=-snake_block

y1_change=0

elifevent.key==pygame.K_RIGHTorevent.key==pygame.K_d:

x1_change=snake_block

y1_change=0

elifevent.key==pygame.K_UPorevent.key==pygame.K_w:

y1_change=-snake_block

x1_change=0

elifevent.key==pygame.K_DOWNorevent.key==pygame.K_s:

y1_change=snake_block

x1_change=0

接下来,我们将定义输掉比赛的条件。ifx1>=widthorx1=heightory1

game_close=True

x1+=x1_change

y1+=y1_change

dis.fill(blue)

pygame.draw.rect(dis,green,[foodx,foody,snake_block,snake_block])

然后,我们调用our_snake Your_score(定义在之前),并传递给这些函数所需的参数,以显示更新的蛇和玩家的分数。snake_Head=[]

snake_Head.append(x1)

snake_Head.append(y1)

snake_List.append(snake_Head)

iflen(snake_List)>snake_length:

delsnake_List[0]

forxinsnake_List[:-1]:

ifx==snake_Head:

game_close=True

our_snake(snake_block,snake_List)

Your_score(snake_length—1)

pygame.display.update()

接下来,我们将蛇速作为时钟的参数。ifx1==foodxandy1==foody:

foodx=round(random.randrange(0,width—snake_block)/10.0)*10.0

foody=round(random.randrange(0,height—snake_block)/10.0)*10.0

snake_length+=1

clock.tick(snake_speed)

我们的游戏快结束了。最后一步,我们需要退出游戏,并再次调用游戏循环。pygame.quit()

quit()

gameLoop()

我们已经完成了贪吃蛇游戏。完整版贪吃蛇游戏代码如下。

领取方式:

长按扫码,发消息[贪吃蛇]

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。