def main(): screen = pygame.display.set_mode((480, 852), 0, 32) # 创建窗口对象 screen_temp = Screen(screen) # 创建一个飞机对象 plane = Plane(screen) # 创建敌机对象 enemyPlane = HeroPlane(screen) while True: screen_temp.display() # 显示窗口 plane.display(plane.bullet_list) # 显示飞机 enemyPlane.display(enemyPlane.bullet_list) # 敌机显示 enemyPlane.move() # 敌机移动 enemyPlane.fire() # 敌机开火 key_control(plane) # 键盘事件监听 pygame.display.update() # 更新窗口 time.sleep(0.01) # 延时0.01秒,防止程序内存溢出
from Grid import Grid from Screen import Screen from Obstacle import Obstacle from AStar import AStar import sys size = int(sys.argv[1]) numOfObstacles = int(sys.argv[2]) pygame.init() s = Screen(1024, 700) sizeOfQuad = (s.width / size, s.height / size) s.display = pygame.display.set_mode(s.getSize(), 0, 32) pygame.display.set_caption("Pathfinding A*") s.display.fill((255, 255, 255)) pygame.display.flip() grid = Grid(size) grid.generateObstacles(numOfObstacles, sizeOfQuad) carPos = grid.createCar(sizeOfQuad) objectivePos = grid.createObjective(sizeOfQuad) a = AStar(grid.grid, carPos, objectivePos) path = a.run() while True: for event in pygame.event.get(): if event.type == QUIT:
class Computer: def __init__(self, rom="invaders.rom"): self.cpu = CPU() self.memory = Memory() self.memory.Load(rom) self.ports = Puertos() self.Screen = Screen() #push rrc ani call pop ret incx lxi def execute(self): instructions_per_frame = 1000 while not self.cpu.getStatus(): i = 0 while i < instructions_per_frame and not self.cpu.getStatus(): self.Prompt() i += 1 #screenDisplay self.Screen.display(self.memory) #input() def Prompt(self): self.cpu.getALU().displayFlags() self.cpu.getRegisters().displayRegisters() print("PC =", hex(self.cpu.getPC())) print("SP =", hex(self.cpu.getSP())) instruction = 0 #input(">").upper() if instruction == "Q": self.cpu.setStatus(True) # halt elif instruction == "A": value = int(input("A=")) self.cpu.setRegister("A", value) elif instruction == "B": value = int(input("B=")) self.cpu.setRegister("B", value) elif instruction == "C": value = int(input("C=")) self.cpu.setRegister("C", value) elif instruction == "D": value = int(input("D=")) self.cpu.setRegister("D", value) elif instruction == "E": value = int(input("E=")) self.cpu.setRegister("E", value) elif instruction == "H": value = int(input("H=")) self.cpu.setRegister("H", value) elif instruction == "L": value = int(input("L=")) self.cpu.setRegister("L", value) elif instruction == "P": value = int(input("PC=")) self.cpu.setPC(value, self.memory) elif instruction == "S": value = int(input("SP=")) self.cpu.setSP(value, self.memory) elif instruction == "M": addr = int(input("Dir=")) value = int(input("Valor=")) self.memory.setMemory(addr, value) elif instruction == "W": filename = input("Nombre del archivo: ") self.memory.Write(filename) else: self.cpu.execute(self.memory, self.ports)