def set_zx_tank_msg(self): msg_data = self.data["msg_data"] tanks = [] for tank_msg in msg_data["players"]: if tank_msg["team"] == self.team_id: new_tank = Tank((tank_msg["x"], tank_msg["y"]), tank_msg["id"]) if tank_msg["super_bullet"] == 1: new_tank.set_super_bullet() tanks.append(new_tank) return tanks
def __init__(self, width=25, height=17): """Initialize""" """Initialize PyGame""" pygame.init() """Set the window Size""" self.width = width * 50 self.height = height * 50 """Create the Screen""" self.screen = pygame.display.set_mode((self.width, self.height)) self.tiles = [] self.tank = Tank() self.tank_sprites = pygame.sprite.RenderPlain((self.tank)) self.LoadBoard()
def loadSprites(self): self.tank = Tank(self.screen) self.exploration = Exploration(self.screen, (100, 100)) self.map = Map(self.height, self.height, 32, 32) enemy_tank0 = EnemyTank(self.screen) enemy_tank1 = EnemyTank(self.screen) enemy_tank2 = EnemyTank(self.screen) enemy_tank3 = EnemyTank(self.screen) enemy_tank4 = EnemyTank(self.screen) self.enemy_group = pygame.sprite.Group() self.enemy_group.add(enemy_tank0, enemy_tank1, enemy_tank2, enemy_tank3, enemy_tank4) self.empty_map = EmptyMap(self.screen, self.width, self.height) """currently it is tank_sprites,later, you should decouple these"""
def registration(sock, team_id): reg_data = { "msg_name": "registration", "msg_data": { "team_id": team_id, "team_name": "test", }} send(sock, reg_data) all_tanks = [] log = log_zx.log for i in range(0,16): all_tanks.append(Tank()) class Game(object): data = None map_width = 0 map_height = 0 our_tank_id = [] enemy_tank_id = [] maps = None enemy_tank = [] star_list = [] coin_list = [] enemy_bullet_list = [] enemy_super_bullet = []
def test_collide_False(self): tank = Tank.Tank("tankpic.png", 300, 400, 1, 1) assert (self.barrier.collide(tank) == False)
def test_collide_true(self): tank = Tank.Tank("tankpic.png", 400, 540, 1, 1) assert (self.barrier.collide(tank) == True)
for c in range(len(initial_board[r])): if initial_board[r][c] == 1: wall = Wall(initial_board[r][c], r, c, wall1_img) gameDisplay.blit(wall.image, (c * BLOCK_SIZE, r * BLOCK_SIZE)) unbreakableWallGroup.add(wall) elif initial_board[r][c] == 2: wall = Wall(initial_board[r][c], r, c, wall2_img) wallGroup.add(wall) allSprite.add(wall) elif initial_board[r][c] == 0: gameDisplay.blit(road_img, (c * BLOCK_SIZE, r * BLOCK_SIZE)) pygame.display.update() background = gameDisplay.copy() playerTank = Tank(50, 150, "R", playerHealth) allSprite.add(playerTank) enemy_tank1 = TankAI(900, 50, "l", "M", enemyHealth) #testmap = tankSprites.generateCurrentMap(wallGroup, playerTank) #enemy_tank1.findShortestPath((1, 3), testmap) #Helper.print_best_move_map(enemy_tank1.shortest_path_tree, testmap) tankSprites.add(enemy_tank1) allSprite.add(enemy_tank1) enemy_tank3 = TankAI(900, 350, "u", "M", enemyHealth) #enemy tank in class Tank.py tankSprites.add(enemy_tank3) allSprite.add(enemy_tank3) while not gameExit:
def test_tank_collision(self): tank2 = Tank.Tank(self.image, 400, 400, 0, 1) assert(self.tank.collide(tank2))
def __init__(self, servDeetz, teamName, tankNames): self.teamName = teamName for tankName in tankNames: self.tanks.append(Tank(servDeetz, self, tankName))
green = (34, 177, 76) light_green = (0, 255, 0) #Screen setup screenwidth = 500 screenheight = 500 size = (screenwidth, screenheight) screen = pygame.display.set_mode(size) pygame.display.set_caption("Tank") #puts all my sprites into a list for easy access all_sprites_list = pygame.sprite.Group() #creating first Tank wolf = Tank(20, 30, red) all_sprites_list.add(wolf) carryOn = True clock = pygame.time.Clock() while carryOn: #Option to keep the game going or quit out at anytime for event in pygame.event.get(): if event.type == pygame.QUIT: carryOn = False elif event.type == pygame.KEYDOWN: if event.kkey == pygame.k_z: carryOn == False #setting up the tank movements for Wolf
while Tank == True: DISPLAYSURF.fill(WHITE) DISPLAYSURF.blit(train1, (0 ,0)) Draw(player1tank) Draw(player1soldaat) for event in pygame.event.get(): if event.type == MOUSEMOTION: mousex, mousey = pygame.mouse.get_pos() if event.type == MOUSEBUTTONUP and mousex > player1.startPosX and mousex < (player1.startPosX + 42) and mousey > player1.startPosY and mousey < (player1.startPosY +42): player1tank = Node(Tank(tank1,(player1.startPosX+42),player1.startPosY),player1tank) pygame.display.update() while train == True: DISPLAYSURF.fill(WHITE) DISPLAYSURF.blit(train1, (0 ,0)) Draw(player1soldaat) Draw(player1tank) for event in pygame.event.get(): if event.type == MOUSEMOTION: mousex, mousey = pygame.mouse.get_pos() if event.type == KEYUP and event.key == K_ESCAPE or (mousex > 1198 and mousex < 1360 and mousey > 690 and mousey < 763): train = False if event.type == MOUSEBUTTONUP and mousex > 936 and mousex < 1114 and mousey > 259 and mousey < 296: soldaat = True train = False
def main(): Green = (34,139,34) White = (255,255,255) Blue = (0,0,255) #Initialize Everything screen_width = 1500 screen_height = 800 pygame.init() screen = pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_caption('Navigation Simulation') #Sprite background bg = Background(0,0, 'b1.jpg') grass = Grass(700,120, 'grass.jpg') #Set game FPS FPS = 30 #Prepare Game Objects clock = pygame.time.Clock() #field Field_x1 = 700 Field_x2 = 1300 Field_y1 = 120 Field_y2 = 720 Buggy_Dimensions = 50 field_sprite_group = pygame.sprite.LayeredUpdates() z = Field_x2-Field_x1 w = Field_y2-Field_y1 Field = Collision_Line(Field_x1,Field_y1,z,w, Green) field_sprite_group.add(Field) Number_of_grids = round(((Field_x2-Field_x1)*(Field_y2-Field_y1))/(Buggy_Dimensions*Buggy_Dimensions)) percentage_per_grid = round((1/Number_of_grids)*100,4) #Field Boundary lines wall_sprite_group_horz_bottom = pygame.sprite.LayeredUpdates() wall_sprite_group_horz_top = pygame.sprite.LayeredUpdates() wall_sprite_group_vert_right = pygame.sprite.LayeredUpdates() wall_sprite_group_vert_left = pygame.sprite.LayeredUpdates() Bound_Line1 = Collision_Line(Field_x1,Field_y1,z,3, White) Inner_Bound_Line1 = Collision_Line(900,320,500,3, White) wall_sprite_group_horz_top.add(Bound_Line1) Bound_Line2 = Collision_Line(Field_x1,Field_y2,z,3, White) Inner_Bound_Line2 = Collision_Line(900,310,500,3, White) Inner_Bound_Line3 = Collision_Line(400,517,700,3, White) wall_sprite_group_horz_bottom.add(Bound_Line2) Bound_Line3 = Collision_Line(Field_x1,Field_y1,3,w, White) Inner_Bound_Line4 = Collision_Line(1100,517,3,400, White) wall_sprite_group_vert_left.add(Bound_Line3) Bound_Line4 = Collision_Line(Field_x2,Field_y1,3,w, White) wall_sprite_group_vert_right.add(Bound_Line4) #Field covering squares Field_Scanned_Squares_Group = pygame.sprite.LayeredUpdates() #text # initialize font; must be called after 'pygame.init()' to avoid 'Font not Initialized' error myfont = pygame.font.SysFont("monospace", 35) # render text label1 = myfont.render("Percentage of Field scanned: ", 1, (255,255,255)) label2 = myfont.render("Number of Grids: ", 1, (255,255,255)) label2_answer = myfont.render(str(Number_of_grids), 1, (255,255,255)) label3 = myfont.render("Each grid in % is apprx: ", 1, (255,255,255)) label3_answer = myfont.render(str(percentage_per_grid), 1, (255,255,255)) #player declarations tank = Tank(400,400, Field_x1, Field_x2, Field_y1, Field_y2, Buggy_Dimensions) #Adding to super group which will handle drawing allsprites = pygame.sprite.LayeredUpdates((bg, field_sprite_group,grass, wall_sprite_group_horz_bottom, wall_sprite_group_horz_top, wall_sprite_group_vert_left, wall_sprite_group_vert_right, Field_Scanned_Squares_Group, tank)) #Main Loop going = True Square_Paint_Bool = False #bgm.play() while going: clock.tick(FPS) '''square place on field for scanned stuff''' if tank.Place_Square_Bool==True and Square_Paint_Bool==True: Square = Collision_Line(tank.Square_X,tank.Square_Y,50,50, Blue) Field_Scanned_Squares_Group.add(Square) allsprites.add(Square) tank.Place_Square_Bool=False '''field scanned stuff''' field_scanned_percentage = tank.Fetch_Field_Percentage_Scanned() if field_scanned_percentage!='##': if field_scanned_percentage>100: field_scanned_percentage=100 label1_answer = myfont.render(str(field_scanned_percentage), 1, (255,255,255)) #Handle Input Events for event in pygame.event.get(): if event.type == QUIT: going = False elif event.type == KEYDOWN and event.key == K_ESCAPE: going = False elif event.type == KEYDOWN and event.key == K_q: tank.Current_X_position = 400 tank.Current_Y_position = 400 tank.Update_Field_Coordinates(Field_x1, Field_y1, Field_x2, Field_y2) tank.Navigate_Bool = False tank.Field_Scanned_Perc = 0 tank.Update_Animation('Reset') '''removing all the blue squares: get the list and then iterate over them removing each from allsprites''' Square_To_Remove_List = Field_Scanned_Squares_Group.sprites() for shape in Square_To_Remove_List: allsprites.remove(shape) elif event.type == KEYDOWN and event.key == K_DOWN: tank.Update_Animation('Move_Down') elif event.type == KEYUP and event.key == K_DOWN: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_UP: tank.Update_Animation('Move_Up') elif event.type == KEYUP and event.key == K_UP: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_LEFT: tank.Update_Animation('Move_Left') elif event.type == KEYUP and event.key == K_LEFT: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_RIGHT: tank.Update_Animation('Move_Right') elif event.type == KEYUP and event.key == K_RIGHT: tank.Update_Animation('Idle') elif event.type == KEYDOWN and event.key == K_p: tank.Current_X_position = Field_x1 tank.Current_Y_position = Field_y1 tank.Update_Animation('Navigate_Right') elif event.type == KEYDOWN and event.key == K_m: tank.Current_X_position = Field_x1+50 tank.Current_Y_position = Field_y1+50 tank.Update_Animation('Machine_Learning_Start') elif event.type == KEYDOWN and event.key == K_w: tank.Print_Ending_Array() elif event.type == KEYDOWN and event.key == K_z: tank.Update_Animation('Diagonal') elif event.type == KEYDOWN and event.key == K_a: wall_sprite_group_horz_top.add(Inner_Bound_Line1) wall_sprite_group_horz_bottom.add(Inner_Bound_Line2) wall_sprite_group_horz_bottom.add(Inner_Bound_Line3) wall_sprite_group_vert_left.add(Inner_Bound_Line4) allsprites.remove(wall_sprite_group_horz_bottom) allsprites.remove(wall_sprite_group_horz_top) allsprites.remove(wall_sprite_group_vert_left) allsprites.add(wall_sprite_group_horz_bottom) allsprites.add(wall_sprite_group_horz_top) allsprites.add(wall_sprite_group_vert_left) elif event.type == KEYDOWN and event.key == K_s: allsprites.remove(Inner_Bound_Line1) allsprites.remove(Inner_Bound_Line2) allsprites.remove(Inner_Bound_Line3) allsprites.remove(Inner_Bound_Line4) wall_sprite_group_horz_top.remove(Inner_Bound_Line1) wall_sprite_group_horz_bottom.remove(Inner_Bound_Line2) wall_sprite_group_horz_bottom.remove(Inner_Bound_Line3) wall_sprite_group_vert_left.remove(Inner_Bound_Line4) allsprites.remove(wall_sprite_group_horz_bottom) allsprites.remove(wall_sprite_group_horz_top) allsprites.remove(wall_sprite_group_vert_left) allsprites.add(wall_sprite_group_horz_bottom) allsprites.add(wall_sprite_group_horz_top) allsprites.add(wall_sprite_group_vert_left) elif event.type == KEYDOWN and event.key == K_r: Square_Paint_Bool=True elif event.type == KEYDOWN and event.key == K_t: Square_Paint_Bool=False allsprites.remove(tank) tank.update(wall_sprite_group_horz_bottom, wall_sprite_group_horz_top, wall_sprite_group_vert_left, wall_sprite_group_vert_right) allsprites.update() allsprites.add(tank) allsprites.move_to_back(bg) #Draw Everything allsprites.draw(screen) screen.blit(label1, (15, 100)) screen.blit(label1_answer, (600, 100)) screen.blit(label2, (15, 200)) screen.blit(label2_answer, (420, 200)) screen.blit(label3, (15, 300)) screen.blit(label3_answer, (520, 300)) pygame.display.flip() pygame.quit()
def __init__(self, gridLen): width = gridLen * 8 height = gridLen * 12 self.win = tk.Tk() self.win.title("P&ID Diagram") self.win.geometry(str(width) + "x" + str(height)) self.win.configure(bg='black') # CONSTANT fluidColor = '#41d94d' # HEADER self.header = Header.Header(self.win, 'black', 'SDR P&ID GUI', width, gridLen, 24) self.header.getWidget().place(x=gridLen * 0, y=gridLen * 0) # All TANKS self.gn2 = Tank.Tank(self.win, 'black', 'GN2', '#1d2396', gridLen, gridLen) self.lox = Tank.Tank(self.win, 'black', 'LOx', '#1d2396', gridLen, gridLen) self.k = Tank.Tank(self.win, 'black', 'K', '#1d2396', gridLen, gridLen) self.gn2.getWidget().place(x=gridLen * 3, y=gridLen * 1) self.lox.getWidget().place(x=gridLen * 1, y=gridLen * 5) self.k.getWidget().place(x=gridLen * 6, y=gridLen * 5) # All SOLENOID VALVES self.one = Valves.Solenoid(self.win, 'black', 1, gridLen, gridLen, False, True, True, False, fluidColor) self.two = Valves.Solenoid(self.win, 'black', 2, gridLen, gridLen, False, True, False, False, fluidColor) self.three = Valves.Solenoid(self.win, 'black', 3, gridLen, gridLen, False, False, True, True, fluidColor) self.four = Valves.Solenoid(self.win, 'black', 4, gridLen, gridLen, False, True, False, False, fluidColor) self.five = Valves.Solenoid(self.win, 'black', 5, gridLen, gridLen, True, False, False, True, fluidColor) self.six = Valves.Solenoid(self.win, 'black', 6, gridLen, gridLen, False, True, False, True, fluidColor) self.one.getWidget().place(x=gridLen * 1, y=gridLen * 2) self.one.setIn(2) self.one.setOut(3) self.two.getWidget().place(x=gridLen * 0, y=gridLen * 4) self.two.setIn(2) self.three.getWidget().place(x=gridLen * 6, y=gridLen * 2) self.three.setIn(4) self.three.setOut(3) self.four.getWidget().place(x=gridLen * 5, y=gridLen * 4) self.four.setIn(2) self.five.getWidget().place(x=gridLen * 3, y=gridLen * 8) self.five.setIn(1) self.five.setOut(4) self.six.getWidget().place(x=gridLen * 4, y=gridLen * 7) self.six.setIn(4) self.six.setOut(2) # All STEPPER self.s1 = Valves.Stepper(self.win, 'black', gridLen, gridLen, True, False, False, True, '#41d94d', False, False, False, False) self.s2 = Valves.Stepper(self.win, 'black', gridLen, gridLen, False, True, True, True, '#41d94d', False, False, False, False) self.s1.getWidget().place(x=gridLen * 6, y=gridLen * 7) self.s2.getWidget().place(x=gridLen * 2, y=gridLen * 8) # All ORIFICES self.o1 = Valves.Orifice(self.win, 'black', gridLen, gridLen, True, False, True, False, '#41d94d', False, False, False, False) self.o2 = Valves.Orifice(self.win, 'black', gridLen, gridLen, False, True, True, True, '#41d94d', False, False, False, False) self.o1.getWidget().place(x=gridLen * 1, y=gridLen * 6) self.o2.getWidget().place(x=gridLen * 5, y=gridLen * 7) # All Pressure Sensors self.ps1 = Valves.PressureSensor(self.win, 'black', gridLen, gridLen, False, True, False, False, '#41d94d', False, False, False, False) self.ps2 = Valves.PressureSensor(self.win, 'black', gridLen, gridLen, False, True, True, True, '#41d94d', False, False, False, False) self.ps3 = Valves.PressureSensor(self.win, 'black', gridLen, gridLen, False, False, False, True, '#41d94d', False, False, False, False) self.ps1.getWidget().place(x=gridLen * 0, y=gridLen * 3) self.ps2.getWidget().place(x=gridLen * 5, y=gridLen * 9) self.ps3.getWidget().place(x=gridLen * 7, y=gridLen * 3) self.tp1 = Valves.TempSensor(self.win, 'black', gridLen, gridLen, True, False, False, False, '#41d94d', False, False, False, False) self.tp1.getWidget().place(x=gridLen * 5, y=gridLen * 10) # All Text boxes self.t1 = Header.Text(self.win, 'black', 'K Fill', gridLen, gridLen, 12) self.t2 = Header.Text(self.win, 'black', 'K Drain', gridLen, gridLen, 12) self.t3 = Header.Text(self.win, 'black', 'LOx\nFill/Drain', gridLen, gridLen, 12) self.t4 = Header.Text(self.win, 'black', 'Regen\nCircuit', gridLen, gridLen, 12) self.t1.getWidget().place(x=gridLen * 7, y=gridLen * 4) self.t2.getWidget().place(x=gridLen * 7, y=gridLen * 6) self.t3.getWidget().place(x=gridLen * 1, y=gridLen * 9) self.t4.getWidget().place(x=gridLen * 7, y=gridLen * 9) # All PIPES self.p1 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, False, True, False, True, '#41d94d', False) self.p2 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, True, True, '#41d94d', False) self.p3 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, False, True, False, True, '#41d94d', False) self.p4 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, False, True, False, True, '#41d94d', False) self.p5 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, True, True, '#41d94d', False) self.p6 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, True, False, '#41d94d', False) self.p7 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, True, False, '#41d94d', False) self.p8 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, True, True, '#41d94d', False) self.p9 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, True, False, '#41d94d', False) self.p10 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, True, True, '#41d94d', False) self.p11 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, True, False, '#41d94d', False) self.p12 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, True, False, '#41d94d', False) self.p13 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, True, False, '#41d94d', False) self.p14 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, True, False, '#41d94d', False) self.p15 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, True, False, '#41d94d', False) self.p16 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, True, False, '#41d94d', False) self.p17 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, False, False, '#41d94d', False) self.p18 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, False, False, True, True, '#41d94d', False) self.p19 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, True, False, False, '#41d94d', False) self.p20 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, False, True, True, True, '#41d94d', False) self.p21 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, False, True, False, True, '#41d94d', False) self.p22 = Pipes.Pipe(self.win, 'black', gridLen, gridLen, True, False, False, True, '#41d94d', False) self.p1.getWidget().place(x=gridLen * 2, y=gridLen * 2) self.p2.getWidget().place(x=gridLen * 3, y=gridLen * 2) self.p3.getWidget().place(x=gridLen * 4, y=gridLen * 2) self.p4.getWidget().place(x=gridLen * 5, y=gridLen * 2) self.p5.getWidget().place(x=gridLen * 1, y=gridLen * 3) self.p6.getWidget().place(x=gridLen * 3, y=gridLen * 3) self.p7.getWidget().place(x=gridLen * 6, y=gridLen * 3) self.p8.getWidget().place(x=gridLen * 1, y=gridLen * 4) self.p9.getWidget().place(x=gridLen * 3, y=gridLen * 4) self.p10.getWidget().place(x=gridLen * 6, y=gridLen * 4) self.p11.getWidget().place(x=gridLen * 3, y=gridLen * 5) self.p12.getWidget().place(x=gridLen * 3, y=gridLen * 6) self.p13.getWidget().place(x=gridLen * 6, y=gridLen * 6) self.p14.getWidget().place(x=gridLen * 1, y=gridLen * 7) self.p15.getWidget().place(x=gridLen * 3, y=gridLen * 7) self.p16.getWidget().place(x=gridLen * 1, y=gridLen * 8) self.p17.getWidget().place(x=gridLen * 5, y=gridLen * 8) self.p18.getWidget().place(x=gridLen * 6, y=gridLen * 8) self.p19.getWidget().place(x=gridLen * 2, y=gridLen * 9) self.p20.getWidget().place(x=gridLen * 3, y=gridLen * 9) self.p21.getWidget().place(x=gridLen * 4, y=gridLen * 9) self.p22.getWidget().place(x=gridLen * 6, y=gridLen * 9) # NOZZLE self.n = Nozzle.Nozzle(self.win, 'black', gridLen, gridLen * 1.5) self.n.getWidget().place(x=gridLen * 3, y=gridLen * 10) #self.s2.setNeighbors(None, self.five, self.p19, self.p16) #self.s1.setNeighbors(self.p13, None, None, self.o2) #SET ALL VIRTUAL COMPONENTS (linked list) self.head = self.gn2 #row 1 self.gn2.setNeighbors(None, None, self.p2, None) #row 2 self.one.setNeighbors(None, self.p1, self.p5, None) self.p1.setNeighbors(None, self.p2, None, self.one) self.p2.setNeighbors(self.gn2, self.p3, self.p6, self.p1) self.p3.setNeighbors(None, self.p4, None, self.p2) self.p4.setNeighbors(None, self.three, None, self.p3) self.three.setNeighbors(None, None, self.p7, self.p4) #row 3 self.ps1.setNeighbors(None, self.p5, None, None) self.p5.setNeighbors(self.one, None, self.p8, self.ps1) self.p6.setNeighbors(self.p2, None, self.p9, None) self.p7.setNeighbors(self.three, self.ps2, self.p10, None) self.ps2.setNeighbors(None, None, None, self.p7) #row 4 self.two.setNeighbors(None, self.p8, None, None) self.p8.setNeighbors(self.p5, None, self.lox, self.two) self.p9.setNeighbors(self.p6, None, self.p11, None) self.four.setNeighbors(None, self.p10, None, None) self.p10.setNeighbors(self.p7, None, self.k, self.four) #row5 self.lox.setNeighbors(self.p8, None, self.o1, None) self.p11.setNeighbors(self.p9, None, self.p12, None) self.k.setNeighbors(self.p10, None, self.p13, None) #row 6 self.o1.setNeighbors(self.lox, None, self.p14, None) self.p12.setNeighbors(self.p11, None, self.p15, None) self.p13.setNeighbors(self.k, None, self.s1, None) #row 7 self.p14.setNeighbors(self.o1, None, self.p16, None) self.p15.setNeighbors(self.p12, self.six, self.five, None) self.six.setNeighbors(None, self.o2, None, self.p15) self.o2.setNeighbors(None, self.s1, self.p17, self.six) self.s1.setNeighbors(self.p13, None, None, self.o2) #row 8 self.p16.setNeighbors(self.p14, self.s2, None, None) self.s2.setNeighbors(None, self.five, self.p19, self.p16) self.five.setNeighbors(self.p15, None, None, self.s2) self.p17.setNeighbors(self.o2, self.p18, None, None) self.p18.setNeighbors(None, None, self.p22, self.p17) #row 9 self.p19.setNeighbors(self.s2, self.p20, None, None) self.p20.setNeighbors(None, self.p21, self.n, self.p19) self.p21.setNeighbors(None, self.ps3, None, self.p20) self.ps3.setNeighbors(None, self.p22, self.tp1, self.p21) self.p22.setNeighbors(self.p18, None, None, self.ps3) #row 10 self.n.setNeighbors(self.p20, None, None, None) self.tp1.setNeighbors(self.ps3, None, None, None)
from tkinter import * from Fighter import * from Healer import * from Tank import * from Kralamar import * import random rnd = random.randint(1, 3) username = '******' if (rnd == 1): player1 = Fighter(username) if (rnd == 2): player1 = Healer(username) if (rnd == 3): player1 = Tank(username) enemy = Kralamar() # game window settings main = Tk() frame = Frame(main, width=600, height=480) main.resizable(False, False) main.title('VERSUS') frame.pack() # dynamic text enemyInfo = StringVar() playerInfo = StringVar() gameInfo = StringVar() enemyInfo.set( f'{enemy.name}: {enemy.health} PdV\nPower: {enemy.power}\nMagic: {enemy.magic}' ) playerInfo.set(
def test_shoot(self): tank2 = Tank.Tank(self.image, 400, 400, 0, 2) self.tank.shoot(tank2, 10, 20, 20)
# initialize the flask application app = Flask(__name__) SAVE_FILE = "plants.csv" Plants = [] pump_time = 10 # initialize the gpio pin that # will control when the water pump # should run #pump = Pump.Pump(pin = 17, pump_rate = 1) # intialize the tank object tank = Tank.Tank(0, 0) ''' def water(pump_time): ''' '''function to water the plant chain by running the pump''' ''' # run water for specified amount of time pump.run(pump_time) # subtract the amount of water used from the tank tank.currentVol = tank.currentVol - (pump.pump_rate * pump_time) # test if the tank is empty if tank.currentVol == 0: # call the empty tank handler when the tank is empty tank_empty()
import random import os import time import sys import Physics #Preventing the recursion limit of the gameloop to close the game sys.setrecursionlimit(10000) Images = ["tankpic2.png", "tankpic.png"] barrier = Barrier.Barrier(random.randint(450, 600), 470) tank1 = Tank.Tank(Images[0], 800, 610, 1, 2) tank2 = Tank.Tank(Images[1], 300, 610, 0, 1) bg = Background.Background() # The introduction screen of the game def game_intro(): intro = True while intro: for event in pygame.event.get(): if event.type == pygame.QUIT:
'$+#$+#2++#+$+++', '+$#$A+$@$++$#++', '++#$$+@@@+$$#++', '++#$++$@$++$#$+', '+++$+#+++#+$#+$', 'A+#$+*+$+4+$++B', '++#$$$$$$$$$+##', '##+++####+@@++$', '$++#++$++++E#+$', '$$$#B$++++A+#$$'] map_max_width = 15 map_max_high = 15 enemy_list = ( (0,6),(2,2),(0,8),(0,10),(0,11) ) me = Tank.Tank((0,4),0) list #局势判断逻辑 Tank def panduanjushi(me,tm,enmey_list,map_max_width,map_max_high): face_enmey_num = 0 enemy_flag = 0 for enemy in enmey_list: if enemy[0] == me.coordinate[0]: for lie in range(0,map_max_width): print("lie:" + str(lie)) if tm[ enemy[0]] [lie] == '$': if lie > me.coordinate[1]: #列 return face_enmey_num + enemy_flag enemy_flag = 0;
def setup_method(self): self.image = "tankpic.png" self.tank = Tank.Tank(self.image, 400, 400, 1, 1)