柠檬友玩

首页 > 游戏资讯 > 正文

pygame做的最简单游戏,pygame游戏新手教程

时间:2022-12-27 18:08:01

导游词

喂! 你好,我是木木子。 关注我,一起玩游戏吧~

pygame做的最简单游戏,pygame游戏新手教程

微信游戏很久以前就掀起了切果热,还记得吗? 我记得是因为这个游戏家的孩子们还没有放弃。 比如果盘忍者|切果|一起切果|全民切西瓜|王牌飞刀手……就在那时,——款同类型切果游戏层出不穷,“前仆后继”层出不穷。 那个场面简直就是经典手游《水果忍者》的强势回归! 今天木木木子手把手地教你一个简单快乐的切水果游戏。 让我们比较一下——电池。

还“没切过水果”的朋友们你们出局了! 关注“顾木子吖”CSDN账号,点击文章总结游戏系列栏目【水果忍者游戏】即可获取游戏入口哦。

本文是写水果忍者的游戏,还是用了大家熟悉的Pygame模块,本文会做超详细的解说哦。

一.筹备中

1.0游戏规则Python版本水果忍者小编默认为玩家三个生命值,切到相应的水果会加相应的积分,切到爆炸物比如炸弹会减少相应的生命值,在生命值内可以一直切下去请快点试试。 能给我多少分? 哈哈,今天也录了游戏的视频。 看视频的人更像在玩游戏呢~

1.1游戏图片素材(可修改) )。

1.2游戏字体素材(可修改) )。

二、环境安装正文木子用Python3、Pycharm写。 模块Pygame、random中随机出现水果和一些附件。 在此,模块安装命令统一镜像源豆瓣。

pip install-I https://pypi.douban.com/simple /模块名称

三.开始敲代码

3.0设定界面玩家的生命值等

player_lives=3 #生命score=0 #得分fruits=['melon ',' orange ',' pomegranate ',' guava ',' bomb'] #水果和炸弹

3.1模块部署

import pygame,sysimport osimport random

3.2界面背景、字体设置

background=pygame.image.load (背景图/02.png ) (背景font=pygame.font.font ) OS.path.join ) OS.getcwd,42 )

3.3游戏窗口设置

width=800 height=500 fps=12 # gamedisplay的帧速率是每1/12秒一次pygame.init ( pygame.display.set _ caption (水果忍者,

3.4随机生成的水果位置和数据存储

def generate _ random _ fruits ( fruit ):fruit _ path=' images/' fruit '.png ' data [ fruit ]={ ' img:pygame . 500 )、水果在x坐标轴上的位置' y' : 800、' speed _ x ':random.randint (-10,10 )、#水果在x方向上的速度和对角线# y方向上的速度' throw': False,#效果}将返回}ifrandom.random(=0.75 )的data [ fruit ] [ ' throw ' ]=true else:data [ fruit ] [ ' throw ' ]=false

3.5用一个词典保存水果数据

data={ } forfruitinfruits:generate _ random _ fruits ( fruit ) def hide_cross_lives(x ) x,y:gamedisplay.brate

3.6在屏幕上绘制字体

font _ name=pygame.font.match _ font ( comic.TTF ) ) defdraw_text ) display,text,size,x,y ):font=pyte WHITE ) text _ rect=text _ surface.get _ rect ) ( text_rect.surface.get_rect ) ) text652

3.7描绘玩家的生命

defdraw_lives(display,x,y,lives,image ):foriinrange ( lives ):img=pygame.image.load ) image ) img _ re

3.8游戏开始和结束画面

def show _ game over _ screen (:gamedisplay.blit ) background,( 0,0 ) ) draw_text ) gamedisplay,' FRUIT NINJA! ) )。90、WIDTH/2、height/4 ( ifno tgame _ over:draw _ text ) gamedisplay,' score:'str(score )、50、WIDTH/2、650 HEIGHT * 3/4) pygame.display.flip ( waiting=truewhilewaiting:clock.tick ( fps ) for event in pygame.event.get:get

3.9游戏主循环

first _ round=true game _ over=true #将3个以上的炸弹作为游戏循环的结束game_running=True # 管理游戏循环while game _ running:if game _ over:if first _ round:show _ game over _ screen ( first _ round=false game _ ren ) player_lives,' images/red_lives.png ' ) score=0foreventinpygame.event.get ( #窗口if event.type==pygame ( 0,0 ) ) )检查是否关闭gamedisplay.blit )0) draw_lives(gamedisplay,690,5,player_lives,' images/blit ) value in data.items (:if value ( throw ) ) ( value ) ) x )=value ) ( speed_x ) ) (沿#x方向水果value ) ) y )移动的value=800:gamedisplay.blit ) value['img'],) value['x'], 动态显示value['y'](#水果else:generate _ random _ fruits ( key ) current _ position=pygame.mouse.get _ pos ) value [ ' x ' ] and current _ position [0] value [ ' x ' ] 60 _即and current _ position [1] value [ ' y ' ] and current 60:if key==' bomb ':player _ lives-=1if player _ lives==0: hide _ cross _ lives ( 690,15 ) elifplayer_liver 15 ) elif player _ lives==2: hide _ cross _ lives ( 760, 15 ) #3次以上发生炸弹,提示游戏结束,窗口if player _ lives0: show _ game over _ screen ( game _ over=true half _ fruit _ path 重置explosion.png ' ' half _ ' key '.png ' value [ ' img ' ]=pygame.image.load [ half _ fruit _ path ] value=10 iii=' bomb ':score=1score _ text=font.render ( score:' str ( score ),True,) 255、255、255、255 ) value [ ' value ]

四.游戏展示效果

4.1第1部分视频展示效果如下

Python版水果忍者,有趣又有趣~

4.2第2部分静态截图效果如下: (1)游戏进入界面——

)2)修改背景图后进入的界面—— )这种感觉看起来很漂亮~

4.3第3部分静态进入游戏界面截图如下

总结

哈哈~写到这里了哦~你觉得这两种水果忍者的背景哪个更适合你呢? 外观不好~泣辽,你自己做专用的Python版水果忍者吧~

完整的自由来源领取处:如果需要完整的项目来源素材来源基地,可以通过#私信小编06#享受免费福利! 你们的支持是我最大的动力! 呃! 记得三联哦~mua欢迎大家读过去的文章哦~

文章总结——1.1Python—2021 |现有文章总结|继续更新,直接看这个就足够了~