【Pygame小游戏】10年前风靡全球的手游《愤怒的小鸟》,是如何霸榜的?经典回归......

【Pygame小游戏】10年前风靡全球的手游《愤怒的小鸟》,是如何霸榜的?经典回归......前言 嘻嘻 很久没给大家更新新的内容啦 有点儿原因 文章这次重新给大家上架一下下 之后还会每天写新的文章哒 本期的这篇文章我们做点儿简单滴 来做一 下 Python 版本 愤怒的小鸟 简约版跟一个不那么简约版的一起来哈 所有文章完整的素材 源码都在

大家好,我是讯享网,很高兴认识大家。

 前言

嘻嘻,很久没给大家更新新的内容啦~有点儿原因,文章这次重新给大家上架一下下!

之后还会每天写新的文章哒~本期的这篇文章我们做点儿简单滴,来做一

下Python版本《愤怒的小鸟》简约版跟一个不那么简约版的一起来哈~

所有文章完整的素材+源码都在👇👇

粉丝白嫖源码福利,请移步至CSDN社区

为什么说是简约版?因为第一个版本研究了很久,还没写出来,一个算是失败的作品,没啥游戏体

验感代码也超级简单,2333 准备继续找找别的大佬写的代码做参考去了!后来想想还是续写一个

简易版跟不那么简易两个版本的吧~太简单担心大家都会做了~哈哈哈哈.jpg


讯享网

正文

本文的游戏大概就是一只愤怒的小鸟左右duangduangduang来回撞!笑哭😂

因为代码很简单我感觉可以直接给大家标上去了👇

一、简约版

环境安装👇

Python3、 Pycharm 、Pygame模块。(如需安装包、激活码等直接私信我即可安装问题解答

都可以的哈~)

第三方库的安装:pip install pygame

讯享网

1)代码展示

讯享网import pygame,sys pygame.init()#初始化操作 #保存窗口大小 width,height=600,400 screen=pygame.display.set_mode([width,height])#创建游戏窗口 #设置窗口标题 pygame.display.set_caption("愤怒的小鸟") #加载小鸟素材 player=pygame.image.load("xiaoniao.png") #获取图像矩形位置 rect=player.get_rect() #声明XY运动速度的列表 speed = [3,2] left_head = pygame.transform.flip(player,True,False) right_head = player #无限循环 while True: for event in pygame.event.get(): if event.type ==pygame.QUIT: exit() if event.type ==pygame.KEYDOWN: if event.key == pygame.K_LEFT: player = left_head #小鸟的头向左 speed=[-2,1] if event.key == pygame.K_RIGHT: player = right_head #小鸟的头向左 speed=[2,1] if event.key == pygame.K_UP: player = left_head #小鸟的头向左 speed=[2,-1] if event.key == pygame.K_DOWN: player = right_head #小鸟的头向左 speed=[2,1] rect =rect.move(speed) if rect.right>width or rect.left<0: #将图片水平翻转 反转对象 是否水**转 是否垂直翻转 player = pygame.transform.flip(player,True,False) speed[0]=-speed[0] if rect.bottom>height or rect.top<0: speed[1]=-speed[1] screen.fill((255,255,255)) screen.blit(player,rect) pygame.display.update() pygame.time.delay(10)

2)效果展示👇

其实截图的话不怎么展示的出来效果——

其实这个游戏可以飘了

二、不那么简约版

环境安装👇

Python3、 Pycharm 、Pygame模块。(如需安装包、激活码等直接私信我即可安装问题解答

都可以的哈~)

第三方库的安装:pip install pygame

1)代码展示

讯享网import pygame import sys from pygame.locals import * from random import randint pygame.init() pygame.mixer.init() pygame.mixer.music.load('愤怒的小鸟背景音效.wav') pygame.mixer.music.set_volume(0.2) pygame.mixer.music.play(loops=-1) bg = pygame.image.load('愤怒的小鸟背景图3.jpg') bg_position = bg.get_rect() size = width, height = 1000, 570 screen = pygame.display.set_mode(size) pygame.display.set_caption('愤怒的小鸟!') def main(): class Bird(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) position=100,100 self.image=pygame.image.load('愤怒的小鸟里的小鸟.png') self.rect=self.image.get_rect() self.rect.center=position def move_left(self): self.speed=[-5,0] if self.rect.left<=0: self.rect.left=0 else: self.rect=self.rect.move(self.speed) def move_right(self): self.speed=[5,0] if self.rect.right>=1000: self.rect.right=1000 else: self.rect=self.rect.move(self.speed) def move_up(self): self.speed=[0,-5] if self.rect.top<=0: self.rect.top=0 else: self.rect=self.rect.move(self.speed) def move_down(self): self.speed=[0,5] if self.rect.bottom>=570: self.rect.bottom=570 else: self.rect=self.rect.move(self.speed) class Pig(pygame.sprite.Sprite): def __init__(self): pygame.sprite.Sprite.__init__(self) y=randint(0,570) position=[1000,y] self.image=pygame.image.load('愤怒的小鸟里的小猪.png') self.rect=self.image.get_rect() self.rect.center=position self.speed=[-4,0] def move(self): self.rect=self.rect.move(self.speed) bird=Bird() i=0 group=pygame.sprite.Group() state=True while state: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() key=pygame.key.get_pressed() if key[K_LEFT]: bird.move_left() if key[K_RIGHT]: bird.move_right() if key[K_UP]: bird.move_up() if key[K_DOWN]: bird.move_down() screen.blit(bg, bg_position) screen.blit(bird.image,bird.rect) i=i+1 if i%10==0: pig=Pig() group.add(pig) for p in group.sprites(): p.move() screen.blit(p.image,p.rect) if pygame.sprite.collide_mask(bird,p): state=False pause() pygame.display.flip() pygame.time.Clock().tick(60) def pause(): bg_go = pygame.image.load('愤怒的小鸟gameover图.jpg') bg_go_pos = bg_go.get_rect() size = width, height = 1000, 570 screen = pygame.display.set_mode(size) pygame.display.set_caption('GameOver!') while True: for event in pygame.event.get(): if event.type == pygame.QUIT: sys.exit() img_src=pygame.image.load('重玩按钮.jpg') img_src_pos=img_src.get_rect() mouse_press=pygame.mouse.get_pressed() mouse_pos=pygame.mouse.get_pos() left=img_src_pos.left right=img_src_pos.right top=img_src_pos.top bottom=img_src_pos.bottom if left+100<mouse_pos[0]<right+100 and top+185<mouse_pos[1]<bottom+185: img_src=pygame.image.load('重玩按钮2.jpg') if mouse_press[0]: main() img_src_pos = img_src.get_rect().center = 100, 185 screen.blit(bg_go, bg_go_pos) screen.blit(img_src,img_src_pos) pygame.display.flip() main()

2)效果展示👇

游戏界面:(游戏运行之后都是有音效的哦,游戏规则就是躲避右边的小猪🐖啦)

​​

游戏结束!

​​

总结

时隔多年,小编写代码的水平都飞起来了,说明技术还是提升了的,大家放心观看!往期还有很多

源码等着你们自己拿自己看呢!

✨完整的素材等:也可以滴滴我吖!或者点击文末自取免费拿的哈~

😘往期推荐阅读——

项目1.6 【Pygame小游戏】斗地主我见多了,BUT 这款开源欢乐斗地主,最让人服气~

项目2.2【Pygame小游戏】扫雷游戏50多岁了,但这款我能玩一年~(三个版本集合)

项目0.5 【视频倒放神器】超级玩法:千万不要倒放视频,太魔性了根本停不下来......

项目0.6 【Python小程序】隐藏表白图:“你永远都不知道我喜欢你”(建议保存)

项目0.4 ​​​​​​ Python教程:去除背景,我保证不动她一根头发(附多种方式)

🎄文章汇总——

项目1.0 Python—2021 |已有文章汇总 | 持续更新,直接看这篇就够了

(更多内容+源码都在文章汇总哦!!欢迎阅读~)

🎁文章汇总——

汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)

(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)

小讯
上一篇 2025-02-24 23:24
下一篇 2025-03-03 10:29

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/124854.html