前言

《愤怒的小鸟》一直是我蛮喜欢的一个系列。

愤怒的小鸟手游大全(10年前风靡全球的手游愤怒的小鸟)(1)

并不是说小鸟的每个系列游戏我都玩过,而是我一直觉得小鸟在ip的塑造上很让人有辨识度,色彩

每个角色造型,都让我觉得无比亲切,而且人设饱满。所以本期的这篇文章我们做得简单点,来做一

下Python版本《愤怒的小鸟》简约版。(代码见文末)

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

超级简单,2333 准备继续找找别的大佬写的代码做参考去了!我们先来看看这份简单的小代码

吧!后来想想还是续写一个简易版跟不那么简易两个版本的吧~

愤怒的小鸟手游大全(10年前风靡全球的手游愤怒的小鸟)(2)

正文

本文的游戏大概就是一只愤怒的小鸟左右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)效果展示

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

愤怒的小鸟手游大全(10年前风靡全球的手游愤怒的小鸟)(3)

其实这个游戏可以飘了

愤怒的小鸟手游大全(10年前风靡全球的手游愤怒的小鸟)(4)

二、不那么简约版

环境安装

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==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)效果展示

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

愤怒的小鸟手游大全(10年前风靡全球的手游愤怒的小鸟)(5)

​​

游戏结束!

愤怒的小鸟手游大全(10年前风靡全球的手游愤怒的小鸟)(6)

​​

总结

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

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

✨完整的素材等:私信小编06即可的啦~往期推荐阅读——

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

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

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

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

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

文章汇总——

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

(文章汇总还有更多你案例等你来学习啦!)

愤怒的小鸟手游大全(10年前风靡全球的手游愤怒的小鸟)(7)

,