Python趣味编程之开发一个打地鼠小游戏!!

1,043 阅读2分钟

导语

图片

玩儿打地鼠吗?

哈哈哈~今天是摸鱼的一天,一起来打地鼠叭!

我们比一比看谁分数最高!完美通关!

正文

游戏规则简单说明:

在游戏代码运行之后,即可直接进入游戏。此刻,会有一个界面,选择游戏开始。地鼠会从一个个地洞中不经意的探出一个脑袋,或者一双眼睛,企图躲过游戏者的视线。不用心软,直接敲打锤子,拍下去,力求一次一个准,来一个砸一个,来二个砸一双。这是积分游戏砸的越多越好哦~

​(1)环境安装部分:

Python3、pycharm2021社区版、主要Pygame、pyqt5模块以及自带的一些模块。

模块安装:

pip install  pygame  
pip install pyqt5

详细的第三方模块安装安装方式可以看往期的文章都有滴:模块安装教程

(2)打地鼠的话图片素材主要是,地洞、地鼠缩进,地鼠出洞等。如下:

​​

class virus(QPushButton):
    def __init__(self, parent=None):
        super().__init__(parent)
        self.setFixedSize(160, 120)  # self.resize(40, 30)
        self.setStyleSheet("QPushButton{border-image: url(sucai/地洞2.png)}")  # 地洞
        self.upTime = QTimer()
        self.upTime.timeout.connect(self.up)

    def kill(self):
        try:
            if self.flag == 1:
                self.setStyleSheet("QPushButton{border-image: url(sucai/killvirus2.png)}")  # 被砸
                global score
                score += 1
                self.flag = 0
        except:
            pass

    def mousePressEvent(self, event):
        self.setCursor(QCursor(QPixmap(r"sucai/down.png")))
        self.upTime.start(100)
        self.kill()

    def up(self):
        self.setCursor(QCursor(QPixmap(r"sucai/up.png")))

(3)设置了背景音乐以及音乐的界面静音,播放等功能。

# 播放音乐
        pygame.init()
        pygame.mixer.music.load(r"sucai/Game.mp3")
        pygame.mixer.music.play()

 @QtCore.pyqtSlot()
    def handle_music_button(self):
        btn = self.sender()
        if btn is not None:
            text = btn.text()
            if text == "音乐🎵":
                btn.setText("静音🔇")
                pygame.mixer.music.pause()
            else:
                btn.setText("音乐🎵")
                pygame.mixer.music.unpause()

(4)游戏启动之后会砸中地鼠, 但是肯定也有没砸中的撒!

 def virusactive(self):
        if self.virusSign != None:
            exec("self.virus%s.flag = 0" % self.virusSign)
            exec("self.virus%s.setStyleSheet('QPushButton{border-image: url(./sucai/地洞2.png)}')" % self.virusSign)
        self.virusSign = int(random.random() * 25)  # 随机
        # print(self.virusSign)
        exec("self.virus%s.flag = 1" % self.virusSign)
        exec(
            "self.virus%s.setStyleSheet('QPushButton{border-image: url(./sucai/virusout2.png)}')" % self.virusSign)  # 地鼠冒出
        self.virustimer.start(1000)
        self.virusnum += 1
        self.killBrowser.setText("击中数:" + str(score))
        self.escapeBrowser.setText("逃离数:" + str(self.virusnum - score - 1))

(5)游戏的话是有时间限制的,每玩多久时间会减少,提示剩下的时间,加强游戏的紧迫感。

    def remainTimeshow(self):
        remaintime = int(round(self.timer.remainingTime() / 1000, 0))
        # print(remaintime)
        self.remaintimeText.setText("剩余时间:\n" + str(remaintime) + "s")
        self.remaintimer.start(1000)

游戏效果:

​​​​​​总结

好啦!打地鼠小游戏就分享到这里啦,

​制作不易,记得一键三连哦!! 本文完整的源码老地方源码基地:私信小编06  免费领取哈!

如果需要新手安装包激活码、配套完整项目+源码笔记、更多Python资料,都在源码基地!!

​​