90坦克大战 nes 老式90坦克大战下载
我是一个典型的80后,年轻时玩过了特别多的游戏,所以这几天用Python3 + pygame实现了一个另外小游戏“坦克大战”(其他的游戏,请翻阅我的博客)
本实例代码量有些多,完整的版本在1000行左右(当然了如果再次优化的话会减少一部分)
分享出来,希望能帮助到大家,毕竟自己做教育行业做了这么多年,还是教育情怀的,哈哈哈哈哈
一,显示效果
二,代码
完整代码如下(注意:为了方便下载以及编写更简单,没有采用多模块的方式,所有代码全部放到main.py文件中)
import random
import sys
import pygame
屏幕的宽、高
WIDTH = 630
HEIGHT = 630
边界值
BORDER_LEN = 3
字体
FONTPATH = &39;resources/font/font.ttf&39;
class Iron(pygame.sprite.Sprite):
&34;&34;&34;
铁墙类
&34;&34;&34;
定义精灵组,将所有的砖墙实例对象添加到里面
group = pygame.sprite.Group()
def __init__(self, position):
调用父类的初始化方法,这样才能够实现必要的初始化操作
super().__init__()
self.image = pygame.image.load(&34;resources/images/scene/iron.png&34;)
当使用碰撞判断方法时,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):
&34;&34;&34;
冰类
&34;&34;&34;
定义精灵组,将所有的实例对象添加到里面
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(&34;resources/images/scene/ice.png&34;), (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)
总结
以上就是所有的内容,希望对你有帮助。
喜欢本文章的不妨点个赞~
关注我~持续为您放送精彩~
版权声明:本网站内容来源于网络和互联网作者投稿,本站不享有任何版权,如有侵权请联系删除 QQ邮箱:11111111@.qq.com