会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 133306个问题
推荐

image.png

Python 全系列/第二阶段:Python 深入与提高/文件处理 31楼

import pygame

# 设置通用属性
BG_COLOR = pygame.Color(255,255,255)
SCREEN_WIDTH = 700
SCREEN_HEIGHT = 500
TEXT_COLOR = pygame.Color(255,0,0)

class Tank():
  def __init__(self):
    pass
  #坦克的移动方法
  def move(self):
    pass
  #碰撞墙壁的方法
  def hitWalls(self):
    pass
  #射击方法
  def shot(self):
    pass
  #展示坦克
  def displayTank(self):
    pass
class MyTank(Tank):
  def __init__(self):
    pass
  #碰撞敌方坦克的方法
  def hitEnemyTank(self):
    pass
class EnemyTank(Tank):
  '''
   敌方坦克类
   '''
  def __init__(self) -> None:
    pass
class Bullet:
  '''
   子弹类
   '''
  def __init__(self) -> None:
    pass
  def display_bullet(self) -> None:
    '''
     显示子弹
     '''
    pass
  def move(self) -> None:
    '''
     子弹的移动
     '''
    pass
class Wall:
  '''
   墙壁类
   '''
  def __init__(self) -> None:
    pass
  def display_wall(self) -> None:
    '''
     显示墙壁
     '''
    pass
class Explode:
  '''
   爆炸效果类
   '''
  def __init__(self) -> None:
    pass
  def display_explode(self) -> None:
    '''
     显示爆炸效果
     '''
    pass
class Music:
  '''
   音效类
   '''
  def __init__(self) -> None:
    pass
  def play_music(self) -> None:
    '''
     播放音效
     '''
    pass
class MainGame:
  '''
   游戏主窗口类
   '''
  def __init__(self) -> None:
    pass
  def start_game(self) -> None:
    '''
    开始游戏
    '''
    # 初始化游戏窗口
    pygame.display.init()
    # 创建一个窗口
    MainGame.window = pygame.display.set_mode((SCREEN_WIDTH,SCREEN_HEIGHT))
    # 设置窗口标题
    pygame.display.set_caption('坦克大战1.0')
    # 刷新窗口
    while True:
      # 给窗口设置填充色
      MainGame.window.fill(BG_COLOR)
      num = 6
      text = self.get_surface(f'敌方坦克剩余数量{num}')
     
    def get_text_surface(self,text:str) -> None:
      '''
      获取文字的图片
     '''
     # 初始化字体模块
  pygame.font.init()
     # 获取可以使用的字体
      # print(pygame.font.get_fonts())
      # 创建字体
  font = pygame.font.SysFont('kaiti',18)
  # 绘制文字信息
  text_surface = font.render(text,True,TEXT_COLOR)
  # 将绘制的文字信息返回
  return text_surface
# 1.要增加文字内容

# 2.如何把文字加上
  MainGame.window.blit(text,(10,10))
  pygame.display.update()


def end_game(self) -> None:
    '''
    结束游戏
    '''
    pass

函数为啥用不了,老师

我问一下


Python 全系列/第二阶段:Python 深入与提高/坦克大战 32楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 33楼
Python 全系列/第二阶段:Python 深入与提高/异常机制 35楼
Python 全系列/第二阶段:Python 深入与提高/异常机制 36楼
Python 全系列/第二阶段:Python 深入与提高/文件处理 37楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 38楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 39楼

屏幕截图 2024-11-28 185257.png

Python 全系列/第二阶段:Python 深入与提高/坦克大战 40楼
Python 全系列/第二阶段:Python 深入与提高/异常机制 41楼

tank09.zip

老师我的坦克移动不了麻烦帮我看看

Python 全系列/第二阶段:Python 深入与提高/坦克大战 42楼
Python 全系列/第二阶段:Python 深入与提高/坦克大战 43楼

填充白色之后

窗口一闪而过不能一直保存,注释掉fill之后又可以了

导入 pygame


BG_COLOR = pygame色度(255,255,255)


坦克类

    def __init__个体经营):

        pass


    def display个体取录):


        pass


    def move自身):


        pass


    def shot个体取录):


        pass


MyTankTank):

   

    def __init__个体经营):

        pass


兵种 EnemyTankTank):


    def __init__个体经营):

        pass

   

Bullet

   

    def __init__个体经营):

        pass


    def display_bullet个体经营):


        pass


    def move自身):


        pass

   

Wall

   

    def __init__个体经营):

        pass


    def display_wall个体经营):


        pass


Explode

    def __init__个体经营):

        pass


    def display_explore个体经营):

        pass



音乐类

    def __init__个体经营):

        pass


    def play_music个体经营):

        pass


class MainGame:


    window = None

   

    def __init__(self):

        pass


    def start_game(self):

        pygame.display.init()


        MainGame.window=pygame.display.set_mode((700,600))


        pass

        pygame.display.set_caption("欢迎")


        while True:

            # MainGame.winow.fill(BG_COLOR)

            pygame.display.update()

    def end_game(self):

        pass



if __name__ == "__main__":

    MainGame().start_game()



Python 全系列/第二阶段:Python 深入与提高/坦克大战 44楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637