Exemple #1
0
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秒,防止程序内存溢出
Exemple #2
0
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:
Exemple #3
0
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)