# encoding = utf-8 """ The name of the game: Aircraft war game. This is a small game developed by myself. """ import pygame import time SCREEN_HEIGHT = 768 SCREEN_WIDTH = 512 class MainGame(): """主类""" window = None my_plane = 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("飞机大战") # 加载背景图片 background = pygame.image.load(r"images/bg/bg.jpg") # 初始化我方飞机 MainGame.my_plane = MyPlane(200, 550) while True: # 给窗口设置背景图片 MainGame.window.blit(background, (0, 0)) self.getEvent() # 调用显示我方飞机的方法 MainGame.my_plane.displayMyPlane() # 调用我方飞机移动方法 if MainGame.my_plane.stop: MainGame.my_plane.move() pygame.display.update() time.sleep(0.02) def endGame(self): print("客观下次再来玩呀") exit() def getEvent(self): # 获取所有事件 eventList = pygame.event.get() for event in eventList: # 判断按下的键是关闭还是按下 if event.type == pygame.QUIT: self.endGame() if event.type == pygame.KEYDOWN: # 判断按下的是上下左右键 if event.key == pygame.K_LEFT or event.key == pygame.K_a: MyPlane.direction_left = True MyPlane.stop = True print('向左') #MainGame.my_plane.move() elif event.key == pygame.K_RIGHT or event.key == pygame.K_d: MyPlane.direction_right = True MyPlane.stop = True print('向右') #MainGame.my_plane.move() elif event.key == pygame.K_UP or event.key == pygame.K_w: MyPlane.direction_up = True MyPlane.stop = True print('向上') #MainGame.my_plane.move() elif event.key == pygame.K_DOWN or event.key == pygame.K_s: MyPlane.direction_down = True MyPlane.stop = True print('向下') #MainGame.my_plane.move() class Plane(): """飞机类""" def __init__(self): pass def move(self): """飞机可以移动""" pass def shot(self): """飞机可以射击""" pass def displayAircraft(self): """展示飞机的方法""" class MyPlane(Plane): """我方飞机""" def __init__(self, left, top): self.image = pygame.image.load(r'images\hero\hero_b_04.png') # 根据图片获取区域 self.rect = self.image.get_rect() # 设置区域的 left和 top self.rect.left = left self.rect.top = top # 飞机的速度 self.speed = 5 # 飞机移动的开关 self.stop = False # 飞机的移动方向 self.direction_left =False self.direction_right =False self.direction_up =False self.direction_down = False def displayMyPlane(self): MainGame.window.blit(self.image, self.rect) def move(self): if self.direction_left: if self.rect.left > 0: self.rect.left -= self.speed elif self.direction_up: if self.rect.top > 0: self.rect.top -= self.speed elif self.direction_right: if self.rect.left + self.rect.width < SCREEN_WIDTH: self.rect.left += self.speed elif self.direction_down: if self.rect.top + self.rect.height < SCREEN_HEIGHT: self.rect.top += self.speed class EnemyPlane(Plane): """敌方飞机""" pass class Bullet(): """子弹类""" def __init__(self): pass def move(self): """子弹移动""" def displayBullet(self): """展示子弹的方法""" pass class Explode(): """爆炸效果""" def __init__(self): pass def displayExplode(self): """展示爆炸效果的方法""" pass if __name__ == "__main__": MainGame().startGame()
老师,我得小飞机,把移动方法放到while True里面后,它就失灵了。
我就加了个加了个飞机四个移动方向得开关,一开始是False,当按下对应得方向按键,对应得开关也编程True,同时,小飞机得移动开关也会变成True。从而可以调用move方法,这是我得想法,但是他不会动
老师,这里说的集合可用数组方式使用,是指数组的所有属性都适用于集合吗?
老师我配置Vue,到npm run serve时出现了这种情况怎么解决
老师,你好!我想问一下 在浏览器输入url地址之后,后端的代码 是怎样的执行过程!看之前的装饰器视频都有一个程序执行的入口。
闯关里面这个,抽象类可以定义构造器,但是不能实例化。
>>> a = flase Traceback (most recent call last): File "<pyshell#9>", line 1, in <module> a = flase NameError: name 'flase' is not defined >>> a = true Traceback (most recent call last): File "<pyshell#10>", line 1, in <module> a = true NameError: name 'true' is not defined 老师,这里哪个地发出错
已经成功安装xgboost,但是在导入模块的时候出现以下错误:
XGBoostError: XGBoost Library (xgboost.dll) could not be loaded. Likely causes: * OpenMP runtime is not installed (vcomp140.dll or libgomp-1.dll for Windows, libomp.dylib for Mac OSX, libgomp.so for Linux and other UNIX-like OSes). Mac OSX users: Run `brew install libomp` to install OpenMP runtime. * You are running 32-bit Python on a 64-bit OS Error message(s): ['[WinError 126] 找不到指定的模块。']
我的电脑是win10系统,网上解决办法有安装openMP,有c++是不是就带openMP,如下图,我的电脑应该已经有安装吧。还有的解决 办法是将 vcomp140.dll和libgomp-1.dll两个文件移到C:\Windows\System32目录下,但是均未解决问题。
vcomp140.dll or libgomp-1.dll
一、程序
''' 验证线程运行速度 ''' # 调用创建线程的模块 from threading import Thread from time import time, sleep import threading # 定义一种方法 def func1(name): print(threading.current_thread()) print('threading:{},start'.format(name)) sleep(3) print('threading:{},end'.format(name)) sleep(3) # 创建线程 t1 = Thread(target=func1, args=('t1',)) t2 = Thread(target=func1, args=('t2',)) if __name__=='__main__': print(threading.current_thread()) start = time() # 开始线程 t1.start() t2.start() # 等待t1线程结束,再往下执行 t1.join() # 等待t2线程结束,再往下执行 t2.join() #func1('t1') #func1('t2') end = time() t=end-start print(t)
二、疑问
老师请问,这个程序的主线程是什么?具体在执行什么功能?
缓冲字节流和缓冲字符流问题
老师,我在测试缓冲字节流_缓冲字符流时,发现缓冲字节流可以读取复制文本、视频、图片等文件,复制的文件大小一致可以正常打开。缓冲字符流复制视频和图片后,文档变大了,而且无法打开,复制文档后,打开出现乱码情况。
这个是什么原因导致。
import java.io.*; public class TestCopy2 { public static void main(String[] args) { BufferedReader br= null; BufferedWriter bw= null; long start= 0; try { br = new BufferedReader(new FileReader("G:\\1.txt")); bw = new BufferedWriter(new FileWriter("F:\\1.txt")); start = System.currentTimeMillis(); String line=null; while((line=br.readLine())!=null) { bw.write(line); bw.newLine(); bw.flush(); } } catch (IOException e) { e.printStackTrace(); } finally { if(bw!=null){ try { bw.close(); } catch (IOException e) { e.printStackTrace(); } } if(br!=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } } long end=System.currentTimeMillis(); System.out.println("耗时:"+(end-start)); } }
老师那些原型页面在企业里做开发的时候是我们拿前端设计好的直接用吧?应该不需要我们自己写这个页面吧,虽然能写出来但是感觉很费劲,特别是页面布局什么的
我知道接口是一个更抽象的抽象类。我是想说如果往多态的三个必要条件上面靠的话,是不是只要有类似于extends这样的类之间的关系存在都可以符合,而不是必须要有extends关键字。换句话说,就是是不是继承是一个概念,而extends是最接近他的解释,但不是继承=extends。只要符合继承概念,类与类之间关系的都可以看作符合多态的必要条件之一即继承,即会发生多态性。
这是百度百科上面对于继承的解释
继承可以使用 extends 和 implements 这两个关键字来实现继承,而且所有的类都是继承于java.lang.Object,当一个类没
有继承的两个关键字,则默认继承object(这个类在 java.lang包中,所以不需要 import)祖先类。
是不是可以理解为继承是一个概念,而实现继承概念的方法有implemets和extends。而不是我们经常说的,extends叫做继承。
老师 请问这里为什么要加一个双引号 而不是两个 加了一个双引号代表什么吗
那个问题不是文件名的错误,而是浏览器的问题,用qq浏览器打开会弹出下载,但是用谷歌的话就可以正常打开页面。
现在是合并运行报错,是因为我把experss框架安装在了mock目录中吗?这个应该跟安装路径没有关系吧
''' 装饰器的练习: 使用装饰器完成,不修改一个函数源码的前提下,增加xi 《西游记》 ''' def funcOut(): def funcIn(): return '《'+func()+'》' return funcIn def bookName(): return'西游记' @funcOut # bookName() = funcOut(bookName) print(bookName())
18行哪里错了
老师,粘贴秘钥send后一直提示请登陆后使用
flask_shop.zip
非常抱歉给您带来不好的体验!为了更深入的了解您的学习情况以及遇到的问题,您可以直接拨打投诉热线:
我们将在第一时间处理好您的问题!
关于
课程分类
百战程序员微信公众号
百战程序员微信小程序
©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园网站维护:百战汇智(北京)科技有限公司 京公网安备 11011402011233号 京ICP备18060230号-3 营业执照 经营许可证:京B2-20212637