100行Python代码,做一个打地鼠小游戏~

最近在学习使用 Python 来完成一些小游戏,使用到的有 Pygame 和 PyQt5 等,根据网上前人的代码,整理了一个打地鼠的小游戏,今天也分享给大家,一起学习!

游戏画面

首先先进行游戏画面排版,

class TopWindow(QWidget):  
    def __init__(self, parent=None):  
        super().__init__(parent)  
        self.virusnum = 0  
        self.setWindowTitle("消灭地鼠小游戏")  
        self.setWindowIcon(QIcon(r'sucai/图标.jpg'))  
  
  
app = QApplication(sys.argv)  
Display = TopWindow()  
Display.setFixedSize(900, 600)  
Display.show()  
sys.exit(app.exec_())  

对于 PyQt5 来说,需要创建一个全局的 Application 对象,其参数是命令行参数列表,可以通过 setFixedSize 来设置游戏框的大小。
我们还设置了类变量 virusnum 作为地鼠个数计量

接下来我们创建一个地鼠类,把相关的地洞排布起来

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

再创建25个地洞

        for i in range(25):  
            exec("self.virus{0}=virus()".format(i))  
        for i in range(5):  
            for j in range(5):  
                exec("self.imagelayout.addWidget(self.virus{0},{1},{2})".format(t, i, j))  
                t += 1

此时我们程序的效果如下

Python打地鼠游戏的基本步骤可以分为以下几个部分: 1. **游戏框架**: 首先,导入必要的库如`pygame`用于图形界面,`random`处理随机事件。 ```python import pygame import random ``` 2. **初始化游戏**: 初始化窗口大小、标题等,并创建地鼠、锤子等游戏元素。 ```python pygame.init() screen = pygame.display.set_mode((640, 480)) pygame.display.set_caption("打地鼠") ``` 3. **游戏循环**: 使用`while True`创建主循环,控制游戏,有暂停和退出功能。 ```python clock = pygame.time.Clock() running = True ``` 4. **地鼠位置生成**: 通过`random.randint()`随机决定地鼠的位置。 ```python mice_positions = [(random.randint(50, screen.get_width() - 50), random.randint(50, screen.get_height() - 50)) for _ in range(5)] ``` 5. **锤子显示和碰撞检测**: 创建锤子图像并检查鼠标点击是否砸到地鼠。 ```python hit = False mouse_pos = pygame.mouse.get_pos() ``` 6. **更新和绘制游戏状态**: 根据玩家动作和随机事件更新游戏画面,判断是否击中地鼠。 7. **游戏结束条件和得分计算**: 当所有地鼠都被击中或者玩家无法快速反应时,游戏结束,显示得分。 ```python if not hit and all(mouse_pos[0] == mouse for mouse in mice_positions): running = False score = len(mice_positions) ``` 8. **关闭游戏**: 游戏结束后关闭窗口并退出循环。 完整代码会比这个复杂得多,包括动画效果、音效、用户输入处理等细节,但这基本概述了如何开始构建一个简单的Python打地鼠游戏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值