愤怒的小鸟中文版手机版(10年前风靡全球的手游愤怒的小鸟,是如何霸榜的?经典回归..)
前言
《愤怒的小鸟》一直是我蛮喜欢的一个系列。
并不是说小鸟的每个系列游戏我都玩过,而是我一直觉得小鸟在ip的塑造上很让人有辨识度,色彩
每个角色造型,都让我觉得无比亲切,而且人设饱满。所以本期的这篇文章我们做得简单点,来做一
下Python版本《愤怒的小鸟》简约版。(代码见文末)
为什么说是简约版?因为研究了很久,还没写出来,一个算是失败的作品,没啥游戏体验感代码也
超级简单,2333 准备继续找找别的大佬写的代码做参考去了!我们先来看看这份简单的小代码
吧!后来想想还是续写一个简易版跟不那么简易两个版本的吧~
正文
本文的游戏大概就是一只愤怒的小鸟左右duangduangduang来回撞!笑哭
因为代码很简单我感觉可以直接给大家标上去了
一、简约版
环境安装
Python3、 Pycharm 、Pygame模块。(如需安装包、激活码等直接私信我即可完成安装问题解答
都可以的哈~)
第三方库的安装:pip install pygame
1)代码展示
import pygame,syspygame.init()#初始化操作#保存窗口大小width,height=600,400screen=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 pygameimport sysfrom pygame.locals import *from random import randintpygame.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, 570screen = 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)效果展示
游戏界面:(游戏运行之后都是有音效的哦,游戏规则就是躲避右边的小猪啦)
游戏结束!
总结
时隔多年,小编写代码的水平都飞起来了,说明技术还是提升了的,大家放心观看!往期还有很多
源码等着你们自己拿自己看呢!
✨完整的素材等:私信小编06即可的啦~
往期推荐阅读——
项目1.6 【Pygame小游戏】斗地主我见多了,BUT 这款开源欢乐斗地主,最让人服气~
项目2.2【Pygame小游戏】扫雷游戏50多岁了,但这款我能玩一年~(三个版本集合)
项目0.5 【视频倒放神器】超级玩法:千万不要倒放视频,太魔性了根本停不下来......
项目0.6 【Python小程序】隐藏表白图:“你永远都不知道我喜欢你”(建议保存)
项目0.4  Python教程:去除背景,我保证不动她一根头发(附多种方式)
文章汇总——
汇总: Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦!)
