Example #1
0
 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
Example #2
0
    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()
Example #3
0
    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"""
Example #4
0

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 = []
Example #5
0
 def test_collide_False(self):
     tank = Tank.Tank("tankpic.png", 300, 400, 1, 1)
     assert (self.barrier.collide(tank) == False)
Example #6
0
 def test_collide_true(self):
     tank = Tank.Tank("tankpic.png", 400, 540, 1, 1)
     assert (self.barrier.collide(tank) == True)
Example #7
0
    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:
Example #8
0
    def test_tank_collision(self):

        tank2 = Tank.Tank(self.image, 400, 400, 0, 1)

        assert(self.tank.collide(tank2))
Example #9
0
 def __init__(self, servDeetz, teamName, tankNames):
     self.teamName = teamName
     for tankName in tankNames:
         self.tanks.append(Tank(servDeetz, self, tankName))
Example #10
0
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
Example #11
0





    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
Example #12
0
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)
Example #14
0
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(
Example #15
0
    def test_shoot(self):

        tank2 = Tank.Tank(self.image, 400, 400, 0, 2)

        self.tank.shoot(tank2, 10, 20, 20)
Example #16
0
# 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()
Example #17
0
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:
Example #18
0
    '$+#$+#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;
Example #19
0
    def setup_method(self):

        self.image = "tankpic.png"

        self.tank = Tank.Tank(self.image, 400, 400, 1, 1)