有趣生活

当前位置:首页>科技>python之游戏代码pygame实现的90坦克大战代码有演示效果

python之游戏代码pygame实现的90坦克大战代码有演示效果

发布时间:2026-07-25阅读(1)

导读我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3pygame实现了一个另外小游戏“坦克大战”(其他的游戏,请翻阅我的博客)本实例代....

我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3 pygame实现了一个另外小游戏“坦克大战”(其他的游戏,请翻阅我的博客)

本实例代码量有些多,完整的版本在1000行左右(当然了如果再次优化的话会减少一部分)

分享出来,希望能帮助到大家,毕竟自己做教育行业做了这么多年,还是教育情怀的,哈哈哈哈哈

一,显示效果

二,代码

完整代码如下(注意:为了方便下载以及编写更简单,没有采用多模块的方式,所有代码全部放到main.py文件中)

import randomimport sys import pygame # 屏幕的宽、高WIDTH = 630HEIGHT = 630# 边界值BORDER_LEN = 3# 字体fontPATH = resources/font/font.ttf class Iron(pygame.sprite.Sprite): """ 铁墙类 """ # 定义精灵组,将所有的砖墙实例对象添加到里面 Group = pygame.sprite.Group() def __init__(self, position): # 调用父类的初始化方法,这样才能够实现必要的初始化操作 super().__init__() self.image = pygame.image.load("resources/images/scene/iron.png") # 当使用碰撞判断方法时,pygame就需要知道当前要检测的物体的位置,所以这个rect属性一定要设置 self.rect = self.image.get_rect() self.rect.topleft = position # 添加到精灵组 self.group.add(self) @classmethod def show(cls, screen): for temp in cls.group: screen.blit(temp.image, temp.rect) class Ice(pygame.sprite.Sprite): """ 冰类 """ # 定义精灵组,将所有的实例对象添加到里面 group = pygame.sprite.Group() def __init__(self, position): # 调用父类的初始化方法,这样才能够实现必要的初始化操作 super().__init__() # 因为是12x12的小图片,所以需要制作一个24x24的image image = pygame.Surface((24, 24)) for i in range(2): for j in range(2): image.blit(pygame.image.load("resources/images/scene/ice.png"), (12 * i, 12 * j)) self.image = image # 当使用碰撞判断方法时,pygame就需要知道当前要检测的物体的位置,所以这个rect属性一定要设置 self.rect = self.image.get_rect() self.rect.topleft = position # 添加到精灵组 self.group.add(self) @classmethod def show(cls, screen): for temp in cls.group: screen.blit(temp.image, temp.rect)

总结

以上就是所有的内容,希望对你有帮助。

喜欢本文章的不妨点个赞~

关注我~持续为您放送精彩~

TAGS标签:  python  游戏  代码  pygame  实现  python之游戏代

Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图