一、代码
""" 新增功能: 左上角文字绘制: 当前敌方坦克的数量6, """ #导入pygame模块 import pygame SCREEN_WIDTH=700 SCREEN_HEIGHT=500 BG_COLOR=pygame.Color(0,0,0) #黑色 TEXT_COLOR=pygame.Color(255,0,0) #红色 class MainGame(): window=None #窗口对象,初始化为None def __init__(self): pass # 开始游戏 def startGame(self): #加载主窗口 #初始化窗口 pygame.display.init() #设置窗口的大小和显示 MainGame.window = pygame.display.set_mode([SCREEN_WIDTH,SCREEN_HEIGHT]) #设置窗口标题 pygame.display.set_caption("坦克大战游戏1.03窗口") while True: #给当前窗口设置填充色 MainGame.window.fill(BG_COLOR) #获取事件 self.getEvent() #绘制文字 MainGame.window.blit(self.getTextSurface("敌方坦克剩余数量%d"%6),(10,10)) pygame.display.update() # 结束游戏 def endGame(self): print("谢谢使用,欢迎再次使用") exit() #左上角的文字绘制 def getTextSurface(self,text): #初始化字体模块 pygame.font.init() #查看所有字体名称 # print(pygame.font.get_fonts()) #获取字体font对象 pygame.font.SysFont("georgia",18) #绘制文字信息 textSurface=font.render(text,True,TEXT_COLOR) return textSurface #获取事件 def getEvent(self): #获取所有事件 eventList=pygame.event.get() #遍历事件 for event in eventList: #判断按下的键是关闭还是键盘 #如果按的是退出,则关闭窗口 if event.type == pygame.QUIT: self.endGame() elif event.type == pygame.KEYDOWN: #判断按下的是上、下、左或右 if event.key == pygame.K_LEFT: print("按下左方向键,坦克向左移动") elif event.key == pygame.K_RIGHT: print("按下右方向键,坦克向右移动") elif event.key == pygame.K_UP: print("按下上方向键,坦克向上移动") elif event.key == pygame.K_DOWN: print("按下下方向键,坦克向下移动") # STEP2、坦克类:我方坦克,敌方坦克 class Tank(): def __init__(self): pass # 移动 def move(self): pass # 射击 def shot(self): pass # 展示坦克的方法 def displayTank(self): pass # 我方坦克 class MyTank(Tank): def __init__(self): pass # 敌方坦克 class EnemyTank(Tank): def __init__(self): pass class Bullet(): def __init__(self): pass # 子弹移动的方法 def move(self): pass # 展示子弹的方法 def displayBullet(self): pass class Wall(): def __init__(self): pass # 展示墙壁的方法 def displayWall(self): pass class Explode(): def __init__(self): pass # 展示爆炸效果的方法 def displayExplode(self): pass class Music(): def __init__(self): pass # 播放音乐的方法 def play(self): pass if __name__=="__main__": MainGame().startGame() #MainGame().getTextSurface()
二、运行结果
三、问题
老师,这个问题出在哪里
老师,我运行空格时,只空了两个字节,那怎样设置才能和老师讲课那样空两个汉字
还有个问题,我在快捷键操作提示时显示如下,怎样才能和老师那样
老师,我看这个视频下面的回答,为什么我这么写会报错呢。如果写var t=s(); t 就不会不报错。是和咱们这个这个函数作为函数的返回值有关吗?
<script> function s(){ console.log("文本"); } var t=s(); t(); </script>
老师,我运行出来的图像,只有标题的边框,没有其他的边框的,
后面加载了图片之后,也是没有其它的边框
后来我运行了高老师的代码,也是只有上边框的
win10系统的,有什么原因吗
这个为什么下载这么慢 老师 请指教 我始终找不到问题
老师,如果这样写,console.log(console.log("文本")) console.log(a());这两种写法有问题吗? a()表示调用这个函数了,结果是“文本”,在写这个console.loga(a()) ,就表示打印“文本”,为什么是结果运行了两遍。一遍为文本,一遍为unfined。我不知道哪里错了。
<script> var a=function( ){ console.log("文本") } console.log(a); console.log(a()); console.log(console.log("文本")) </script>
课件中给返回值的定义是:“返回值:方法在执行完毕后返还给调用它的环境的数据。”
问题一:返回值是指return后面的内容吗?
在方法的重载(overload)这节课中,课件里对构成方法重载的条件有这样一条描述:
“只有返回值不同不构成方法的重载,如:int a(String str){}与 void a(String str){}不构成方法重载”。
问题二:这里的返回值是否指返回值类型呢?是笔误才写成返回值的吗?
老师去哪里下载你视频中讲到的这些安装包呀
子类FlyCar调用父类SupeprCar的move方法失败,无法打印出“在陆地上行驶的汽车”
源码:
public class Test{ public static void main(String[] args) { CarFunction newCar = new Car(); //newCar.move(); FlyCar flyCar = new FlyCar(newCar); flyCar.fly(); } } //定义接口 interface CarFunction{ void move(); //抽象方法:移动方式 } //具体的构建角色Car类 class Car implements CarFunction{ public void move(){ System.out.println("在陆上行驶的汽车"); } } //装饰器角色 class SuperCar implements CarFunction{ private CarFunction newCar; SuperCar(CarFunction newCar){ this.newCar = newCar; } @Override public void move() { newCar.move(); //调用真实角色的行驶的方法 } } class FlyCar extends SuperCar{ public FlyCar(CarFunction newCar){ super(newCar); } @Override public void move() { super.move(); //调用父类的行驶方法 this.fly(); } public void fly(){ System.out.println("拥有飞行功能的汽车"); } }
运行结果:
昨天还好用 跑起来了 今天又这样了是什么原因
在进行IF语句判断之前,一定要加grade = ""吗?不加好像也不影响
报错:java: 无法从静态上下文中引用非静态
老师:
视频里说当调用函数f2时,在栈创建一个变量m,并让其指向传进来的b值对象,完成后便清除这块(也就是图中的蓝色框)
我的问题是,在定义函数的时候没有先将函数作为一个对象储存起来的吗,等到调用才会开辟内存进行储存吗,因为函数调用完便结束当前进程并删除,那么再次调用它是去哪找到这个对象进行引用的呢,都知道函数能反复使用,但是调用的机理是怎样的呢
a = 20
b = a与c = copy.copy(a)的区别就是有没有创建新的对象吗
le = LabelEncoder() for col in features_non_numeric: le.fit(list(train[col])+list(test[col])) train[col] = le.transform(train[col]) test[col] = le.transform(test[col])
这段代码是如何将非数值型数据转换为数值型数据的?
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637