def run(): print '--> mission Smuggler lnterteption' if not ship.enableDefense(): return False # 2 pockets for i in range(2): if not overview.activateAccelerationGate(): return False print 'pocket ' + str(i+1) if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False # loot grustas personal transport while not overview.pickTarget('guristas_personnel'): pass print '<-- mission Smuggler lnterteption\n' return True
def run(): print '--> mission Rogue Drone Harassment' if not ship.enableDefense(): return False # 2 pockets for i in range(2): if not overview.activateAccelerationGate(): return False print 'pocket ' + str(i+1) if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False print '<-- mission Rogue Drone Harassment\n' return True
def closet(): while config.hat == False or config.sword == False : if config.hat == False and config.sword == False: choice = raw_input("You open the door and find an almost empty closet. Against the back wall is a singular table. A light shines down from above illuminating a pirate hat and a sword. The sound seems to be coming from the table but you don't know how. \n( Leave the closet / Take the sword / Put on the hat): ").lower() elif config.hat == True and config.sword == False: choice = raw_input("( Leave the closet / Take the sword ): ").lower() elif config.sword == True and config.hat == False: choice = raw_input("( Leave the closet / Put on the hat): ").lower() while choice not in ["leave the closet", "take the sword", "put on the hat"] : if config.hat == False and config.sword == False: choice = raw_input("Shiver me timbers, who would try to do that??. Please enter a choice from the options provided. \n( Leave the closet / Take the sword / Put on the hat): ").lower() elif config.hat == True and config.sword == False: choice = raw_input("Shiver me timbers, who would try to do that??. Please enter a choice from the options provided. \n( Leave the closet / Take the sword ): ").lower() elif config.sword == True and config.hat == False: choice = raw_input("Shiver me timbers, who would try to do that??. Please enter a choice from the options provided. \n( Leave the closet / Put on the hat): ").lower() if choice == "leave the closet" : break elif choice == "put on the hat": config.hat = True elif choice == "take the sword": config.sword = True config.inventory.append("Sword") if choice == "leave the closet" : investigate(2) else : raw_input("The buzzing sound stops. You can hear yourself think again. Outside of the closet things seem to be really picking up - the shanties have gotten louder and it sounds like they've turned on the wave pool.") Ship.hereWeGoMatey() return
def run(): print "--> mission Intercept the Pirate Smugglers" result = None begin = time.time() while not result and time.time() - begin < 5: time.sleep(0.2) result = findAtFull("close") if result: mouse.leftClickAtP(result) if not ship.enableDefense(): return False if not drones.launchSmall(): return False if not general.openMissionDetails(): return False ship.enableAfterburn() overview.seekAndDestory() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print "<-- mission Intercept the Pirate Smugglers\n" return True
def run(): print '--> mission Seek And Destroy' if not ship.enableDefense(): return False if not general.openMissionDetails(): return False if not overview.activateAccelerationGate(): return False if not ship.enableAfterburn(): return False if not drones.launchSmall(): return False overview.seekAndDestory() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission Seek And Destroy\n' return True
def run(): print '--> mission The Rogue Slave Trader (1 of 2)' if not ship.enableDefense(): return False if not drones.launchSmall(): return False overview.seekAndDestory() if not overview.switchTo('lcs'): return False if not overview.lockTarget('slave_pen'): return False ship.approach() ship.enableAfterburn() time.sleep(10) if not drones.engage(): return False while not overview.pickCargo(): pass if not drones.back(): return False print '<-- mission The Rogue Slave Trader (1 of 2)\n' return True
def place_ship_at_pos(self, x, y, direction): self.print_all_placed_ships() if len(self.placed_and_deleted_ships_size) + len(self.current_ship_size_remaining) == 0: return if self.check_point_available(x, y): if len(self.placed_and_deleted_ships_size) > 0: temp_size = self.placed_and_deleted_ships_size.pop() if self.check_if_valid_position(x, y, temp_size, direction): ship = Ship(x, y, temp_size, direction) self.ships.append(ship) self.place_ship_on_map(ship) self.assign_ship_bounds(ship) else: self.current_ship_size_remaining.append(temp_size) else: temp_size = self.current_ship_size_remaining.pop() if self.check_if_valid_position(x, y, temp_size, direction): ship = Ship(x, y, temp_size, direction) self.ships.append(ship) self.place_ship_on_map(ship) self.assign_ship_bounds(ship) else: self.current_ship_size_remaining.append(temp_size)
def run(): print '--> mission New Frontiers - Asnendanne (7 of 7)' if not ship.enableDefense(): return False if not general.openMissionDetails(): return False ship.enableAfterburn() if not overview.activateAccelerationGate(): return False print 'pocket 1' if not drones.launchSmall(): return False overview.seekAndDestory() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission New Frontiers - Asnendanne (7 of 7)\n' return True
def run(): print '--> mission Retribution' if not ship.enableDefense(): return False if not overview.activateAccelerationGate(): return False if not overview.switchTo('lcs'): return False if not overview.lockTarget('guristas_outpost', 5): return False if not general.openMissionDetails(): return False if not drones.launchSentry(): return False ship.fireOnce() drones.engage() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission Retribution\n' return True
def run(): print '--> mission Deadly Arrival' if not ship.enableDefense(): return False if not overview.switchTo('lco'): return False if not overview.lockTarget('ruined_structure'): return False if not ship.approach(): return False if not ship.enableAfterburn(): return False if not general.openMissionDetails(): return False if not general.missionObjectiveComplete(): return False print '<-- mission Deadly Arrival\n' return True
def run(): print '--> mission Angel Extravaganza' if not ship.enableDefense(): return False # 5 pockets for i in range(5): if not overview.activateAccelerationGate(): return False print 'pocket ' + str(i+1) if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False print '<-- mission Angel Extravaganza\n' return True
def run(): print '--> mission The Space Telescope' if not ship.enableDefense(): return False if not overview.activateAccelerationGate(): return False if not overview.switchTo('lcs'): return False if not overview.lockTarget('guristas_space', 15): return False if not drones.launchSmall(): return False ship.fireOnce() drones.engage() if not general.openMissionDetails(): return False if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission The Space Telescope\n' return True
def run(): print '--> mission Eliminate the Pirate Campers' if not ship.enableDefense(): return False if not drones.launchSentry(): return False if not overview.switchTo('battle'): return False begin = time.time() result = None while not result and time.time() - begin < 5: result = findAtFull('close') if result: mouse.leftClickAtP(result) # kill small count = 0 while count < 4: result = overview.lockTarget('s', 1) if result: count += 1 begin = time.time() while time.time() - begin < 120: overview.lockTarget('s', 1) ship.fireOnce() drones.engage() if not drones.back(): return False # seek and destory if not general.openMissionDetails(): return False ship.enableAfterburn() if not drones.launchSmall(): return False overview.seekAndDestory() if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission Eliminate the Pirate Campers\n' return True
def test_blocking_ships(self): fleet = Fleet.Fleet current_ship_position = Coordinate.Coordinate(1, 1) current_ship = Ship.Ship("B", "H", current_ship_position) test_ship_position = Coordinate.Coordinate(1, 1) test_ship = Ship.Ship("B", "H", test_ship_position) self.assertFalse(fleet.rules_placement_ok(current_ship, test_ship), msg="Ship blocking check does not work")
def __init__(self, player_type): self.ships_left = 5 self.carrier = Ship.Ship(5, "carrier", "A1", "A1") self.battleship = Ship.Ship(4, "battleship", "A1", "A1") self.cruiser = Ship.Ship(3, "cruiser", "A1", "A1") self.submarine = Ship.Ship(3, "submarine", "A1", "A1") self.destroyer = Ship.Ship(2, "destroyer", "A1", "A1") self.personal_board = Board.Board() self.guess_board = Board.Board() self.player_type = player_type
def run(): print '--> mission The Spy Stash' if not ship.enableDefense(): return False if not overview.activateAccelerationGate(): return False # pocket 1 direct access ship.enableAfterburn() if not overview.activateAccelerationGate(): return False # pocket 2 if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False result = findAtOverview('officers') if not result: return False mouse.doubleClickAtP(result) print 'wait until cargo open' result = None while not result: time.sleep(0.5) result = findAtFull('report') mouse.leftDownAtP(result) result = findAtFull('ship', 0.5) if not result: mouse.leftUp() return False mouse.moveToP(result) mouse.leftUp() time.sleep(2) result = findAtFull('x') if not result: return False mouse.leftClickAtP(result) print '<-- mission The Spy Stash\n' return True
def setUp(self): self.name = "Boaty McBoat Face" self.x = 1 self.y = 2 self.alignment = "something" self.max_health = 10 self.range = 5 self.attack_power = 20 self.damage = 10 self.first = Ship(self.name, self.x, self.y, self.alignment, self.max_health, self.range, self.attack_power)
def LoadSprites(self): self.ship = Ship() self.ship_sprite = pygame.sprite.RenderPlain((self.ship)) self.bullet_sprites = pygame.sprite.Group() #Make a group of bullets self.en_bullet_sprites = pygame.sprite.Group() self.enemy_sprites = pygame.sprite.Group() #Groups enemies self.backgrounds = pygame.sprite.Group() self.explosion_sprites = pygame.sprite.Group() self.ship_lives_sprites = LivesGroup(self.LIVES) self.last_death_rect = self.ship.rect self.font = pygame.font.Font( None, Settings.FONT_SIZE) #No specific font, size
def run(): print '--> mission The Score' if not ship.enableDefense(): return False if not overview.activateAccelerationGate(): return False # pocket 1 if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False if not overview.activateAccelerationGate(): return False # pocket 2 if not overview.switchTo('battle'): return False for i in range(4): overview.lockTarget('s', 1) drones.launchSentry() time.sleep(20) begin = time.time() while time.time() - begin < 100: ship.fireOnce() drones.engage() overview.lockEnemy(1) drones.back() ship.enableAfterburn() if not drones.launchSmall(): return False ship.fireOnce() overview.seekAndDestory() if not drones.back(): return False print '<-- mission The Score\n' return True
def __init__(self, ofWidth=ROWS, ofHeight=COLS): self._array = np.array([[0] * ofWidth] * ofHeight) self.lastHitShip = None self.ships = [ Ship("Carrier", length=5), Ship("Battleship", length=4), Ship("Cruiser", length=3), Ship("Submarine", length=3), Ship("Destroyer", length=2) ] self.placeShips()
def makefleet(): global fleet1, fleet2 fleet1.append(Ship.Ship(2, 1)) fleet1.append(Ship.Ship(2, 2)) fleet1.append(Ship.Ship(3, 3)) fleet1.append(Ship.Ship(3, 4)) fleet1.append(Ship.Ship(5, 5)) fleet2.append(Ship.Ship(2, 1)) fleet2.append(Ship.Ship(2, 2)) fleet2.append(Ship.Ship(3, 3)) fleet2.append(Ship.Ship(3, 4)) fleet2.append(Ship.Ship(5, 5))
def test_ship_move_health_doesnt_go_above_max(self): name = "Boaty McBoat Face" x = 1 y = 2 alignment = "something" max_health = 10 range = 5 attack_power = 20 damage = -10 first = Ship(name, x, y, alignment, max_health, range, attack_power) first.move() self.assertEquals(first.current_health, max_health)
def __init__(self, field_width, field_height): self.field_width = field_width self.field_height = field_height print("w = ", field_width, " h = ", field_height) self.background = QPixmap("space.png") self.shipImage = QPixmap("spaceship.png") self.ship = Ship( self, self.shipImage, Vector2D(self.field_width / 2, self.field_height - self.shipImage.height())) self.bars = Bars(self) self.score = 0 self.game_state = GameState.PLAYING self.font = QFont("Arial", 40)
def test_occupy_area(self): b_test = Board.Board(4) ship = Ship.Ship(b_test, 3) ship.position = [(1, 0), (1, 1), (1, 2)] b_test.occupy_area(ship.position) assert not numpy.sum(ship.board.array_occupied > 1) ship2 = Ship.Ship(b_test, 3) ship2.position = [(1, 2), (1, 3)] b_test.occupy_area(ship2.position) assert numpy.sum(ship.board.array_occupied == 2) == 9 ship2.remove_ship() assert not numpy.sum(ship.board.array_occupied > 1)
def run(): print '--> mission Dawning The Slavers (2 of 2)' if not ship.enableDefense(): return False result = None begin = time.time() while not result and time.time() - begin < 5: time.sleep(0.5) result = findAtFull('close') if result: mouse.leftClickAtP(result) if not drones.launchSmall(): return False overview.seekAndDestory() if not drones.back(): return False if not overview.activateAccelerationGate(): return False if not drones.launchSmall(): return False overview.seekAndDestory() if not drones.back(): return False print '<-- mission Dawning The Slavers (2 of 2)\n' return True
def createShips(self, prefix): count_ships = 0 while count_ships < 10: fleet_array = [] count_ships = 0 fleet_ships = [] for length in reversed(range(1, 5)): for i in range(5 - length): tries = 0 while 1: tries += 1 if tries >= 50: break #Пока рандомное расположение ship_point = prefix + "_" + str( randrange(10)) + "_" + str(randrange(10)) orientation = randrange(2) new_ship = Ship(length, orientation, ship_point) if new_ship.ship_correct == 1 and len( list( set(fleet_array) & set(new_ship.around_map + new_ship.coord_map))) == 0: fleet_array += new_ship.around_map + new_ship.coord_map fleet_ships.append(new_ship) count_ships += 1 break if prefix == "nmy": self.fleet_comp = fleet_ships else: self.fleet_user = fleet_ships self.paintShips(fleet_ships)
def create_new_ship(self, createShip, currentTime): if createShip and (currentTime - self.shipTimer > 900): self.player = Ship(self) self.allSprites.add(self.player) self.playerGroup.add(self.player) self.makeNewShip = False self.shipAlive = True
def reset(self, score, lives, newGame=False): self.player = Ship(self) self.playerGroup = sprite.Group(self.player) self.explosionsGroup = sprite.Group() self.bullets = sprite.Group() # on appelle la classe du mistery self.mysteryShip = Mystery(self) # la classe du super laser self.highlaser = Highlaser(game, self.player.rect.x, self.player.rect.y) # self.mysteryGroup = sprite.Group(self.mysteryShip) self.laserGroup = sprite.Group(self.highlaser) self.enemyBullets = sprite.Group() self.reset_lives(lives) self.enemyPosition = self.enemyPositionStart self.make_enemies() # Only create blockers on a new game, not a new round if newGame: self.allBlockers = sprite.Group(self.make_blockers(0), self.make_blockers(1), self.make_blockers(2), self.make_blockers(3)) self.keys = key.get_pressed() self.clock = time.Clock() self.timer = time.get_ticks() self.noteTimer = time.get_ticks() self.shipTimer = time.get_ticks() self.score = score self.lives = lives self.create_audio() self.create_text() self.makeNewShip = False self.shipAlive = True
def mainloop(): # Objects collide with things objects = [Ship(), SpaceObj()] # Effects don't. effects = [] objects[1].moveToXYZ(10.0, 0.0, 5.0) # What we're aiming the camera at target = objects[0] then = pygame.time.get_ticks() frames = 0 while True: now = pygame.time.get_ticks() dt = now - then event = pygame.event.poll() if not handleEvents(event): break handlePlayerEvents(target, dt) for x in objects: x.calc(dt) for x in effects: x.calc(dt) drawStuff(target, objects, effects) Gui.drawCompass(target) Gui.drawVector(target) pygame.display.flip() frames += 1 then = now return frames
def run(): print '--> mission Break Their Will' if not ship.enableDefense(): return False if not overview.switchTo('lcs'): return False if not overview.lockTarget('repair_station'): return False if not general.openMissionDetails(): return False if not drones.launchSentry(): return False if not drones.engage(): return False if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission Break Their Will\n' return True
def run(): print '--> mission What Comes Around Goes Around' if not ship.enableDefense(): return False if not drones.launchSmall(): return False result = None begin = time.time() while not result and time.time() - begin < 5: time.sleep(0.2) result = findAtFull('close') if result: mouse.leftClickAtP(result) if not general.openMissionDetails(): return False if not general.missionObjectiveComplete(): return False if not drones.back(): return False print '<-- mission What Comes Around Goes Around\n' return True
class Test_ShipTests(unittest.TestCase): def setUp(self): self.name = "Boaty McBoat Face" self.x = 1 self.y = 2 self.alignment = "something" self.max_health = 10 self.range = 5 self.attack_power = 20 self.damage = 10 self.first = Ship(self.name, self.x, self.y, self.alignment, self.max_health, self.range, self.attack_power) def test_Ship_init(self): self.assertEquals(self.name, self.first.name) self.assertEquals(self.x, self.first.x_location) self.assertEquals(self.y, self.first.y_location) def test_ship_assess_damage(self): self.first.assess_damage(self.damage) self.assertEquals(self.max_health - self.damage, self.first.current_health) def test_ship_assess_damage_doesnt_go_below_zero(self): self.first.assess_damage(20) self.assertEquals(0, self.first.current_health) def test_ship_assess_damage_doesnt_go_above_max(self): self.first.current_health = 5 self.first.assess_damage(-20) self.assertEquals(self.max_health, self.first.current_health) def test_ship_move_health_goes_up_one(self): self.first.current_health = 5 self.first.move() self.assertEquals(6, self.first.current_health) def test_ship_move_health_doesnt_go_above_max(self): name = "Boaty McBoat Face" x = 1 y = 2 alignment = "something" max_health = 10 range = 5 attack_power = 20 damage = -10 first = Ship(name, x, y, alignment, max_health, range, attack_power) first.move() self.assertEquals(first.current_health, max_health)
def field_generation(self): """ :return: """ field = [(i, r) for i in range(1, 11) for r in range(1, 11)] dict_field = {} for i in field: dict_field[i] = None ships_area = [] for lenght in [4, 3, 3, 2, 2, 2, 1, 1, 1, 1]: ship = [] count = 0 while len(ship) != lenght: count += 1 if count > 100: ship = [] dot = random.choice(field) row = random.choice([True, False]) for part in range(lenght): if row and dot[0] + lenght <= 10 \ and (dot[0] + part, dot[1]) not in ships_area: ship.append((dot[0] + part, dot[1])) elif not row and dot[1] + lenght <= 10 \ and (dot[0], dot[1] + part) not in ships_area: ship.append((dot[0], dot[1] + part)) else: break cl_ship = Ship.Ship(ship[0], row, lenght) for part in ship: dict_field[part] = cl_ship for part in ship: ships_area.append((part[0], part[1])) ships_area.append((part[0], part[1] + 1)) ships_area.append((part[0], part[1] - 1)) ships_area.append((part[0] - 1, part[1])) ships_area.append((part[0] + 1, part[1])) ships_area.append((part[0] - 1, part[1] - 1)) ships_area.append((part[0] - 1, part[1] + 1)) ships_area.append((part[0] + 1, part[1] + 1)) ships_area.append((part[0] + 1, part[1] - 1)) return dict_field
def prep_ships(self): """Show how many ships are left""" self.ships = Group() for ship_number in range(self.stats.ships_left): ship = Ship.Ship(self.ai_settings, self.screen) ship.rect.x = 10 + ship_number * ship.rect.width ship.rect.y = 10 self.ships.add(ship)
def test_find_ship_location(self): b_test = Board.Board(7) ships_size = (4, 3, 3, 2, 2, 1, 1, 1, 1) ships = [Ship.Ship(b_test, x) for x in ships_size] for i in range(len(ships_size)): ships[i].name = 'B' + str(i + 1) game = Game.Game(b_test, ships) game.play()
def run(): print '--> mission New Frontiers - Raw Materials (5 of 7)' if not ship.enableDefense(): return False if not drones.launchSentry(): return False if not overview.switchTo('battle'): return False if not overview.lockTarget('drone_energy', 25): return False drones.engage() time.sleep(160) if not drones.back(): return False mouse.moveTo(100, 100) result = findAtDrones('sentry') if result: mouse.leftClickAtP(result) if not drones.launchSmall(): return False overview.seekAndDestory() ship.enableAfterburn() while not overview.pickCargo(): time.sleep(5) while overview.pickCargo(): pass if not drones.back(): return False print '<-- mission New Frontiers - Raw Materials (5 of 7)\n' return True
def run(): print "--> mission The Black Market Hub" if not ship.enableDefense(): return False if not overview.activateAccelerationGate(): return False # pocket 1 if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False if not overview.activateAccelerationGate(): return False # pocket 2 if not overview.switchTo("lcs"): return False if not overview.lockTarget("docked_bestower", 1): return False ship.approachFor(5) ship.enableAfterburn() if not drones.launchSmall(): return False ship.fireOnce() drones.engage() overview.switchTo("battle") while not overview.pickCargo(): time.sleep(1) drones.back() print "<-- mission The Black Market Hub\n" return True
def add_ship(self, ship_width, ship_height, loc, ship_no, BF, ship_hit_points): if (BF.loc_availability(ship_width, ship_height, loc, ship_hit_points)): s = Ship(ship_width, ship_height, loc, ship_hit_points) return self._myships.append(s) else: AssertionError("Location is not available")
def run(): print '--> mission Cargo Deliver' if not ship.enableDefense(): return False if not overview.switchTo('battle'): return False ship.enableAfterburn() while not overview.pickCargo(): pass print '<-- mission Cargo Deliver\n' return True
def reInit(self): self.sta.name = 'Richlieu' self.sta.length = 248 self.sta.propulsion = 150 self.sta.evasion = 0.04 self.sta.health = [100, 100, 100, 100, 100, 100, 100, 100] self.sta.armor = [100, 100, 100, 100, 100, 100, 100, 100] self.sta.weapon = [[Arm.cannon380(), Arm.cannon152(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()],[Arm.cannon380(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()],[Arm.cannon380(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()],[Arm.cannon380(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()],[Arm.cannon380(), Arm.cannon152(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()],[Arm.cannon380(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()],[Arm.cannon380(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()],[Arm.cannon380(), Arm.cannon152(), Arm.cannon100(), Arm.cannon100(), Arm.cannon100()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (0, 0, 0) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def reInit(self): self.sta.name = 'G3' self.sta.length = 261 self.sta.propulsion = 160 self.sta.evasion = 0.04 self.sta.health = [115, 115, 115, 115, 115, 115, 115, 115] self.sta.armor = [115, 115, 115, 115, 115, 115, 115, 115] self.sta.weapon =[[Arm.cannon406(), Arm.cannon406(), Arm.cannon152(), Arm.cannon152()],[Arm.cannon406(), Arm.cannon152(), Arm.cannon152(), Arm.cannon120()],[Arm.cannon406(), Arm.cannon152(), Arm.cannon152(), Arm.cannon120()],[Arm.cannon406(), Arm.cannon152(), Arm.cannon152(), Arm.cannon120()],[Arm.cannon406(), Arm.cannon406(), Arm.cannon152(), Arm.cannon152()],[Arm.cannon406(), Arm.cannon152(), Arm.cannon152(), Arm.cannon120()],[Arm.cannon406(), Arm.cannon152(), Arm.cannon152(), Arm.cannon120()],[Arm.cannon406(), Arm.cannon152(), Arm.cannon152(), Arm.cannon120()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (255, 255, 0) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def reInit(self): self.sta.name = 'Yamato' self.sta.length = 263 self.sta.propulsion = 135 self.sta.evasion = 0.04 self.sta.health = [130, 130, 130, 130, 130, 130, 130, 130] self.sta.armor = [130, 130, 130, 130, 130, 130, 130, 130] self.sta.weapon = [[Arm.cannon460(), Arm.cannon460(), Arm.cannon155(), Arm.cannon127()],[Arm.cannon460(), Arm.cannon155(), Arm.cannon155(), Arm.cannon127()],[Arm.cannon460(), Arm.cannon155(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon460(), Arm.cannon155(), Arm.cannon155(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon460(), Arm.cannon460(), Arm.cannon155(), Arm.cannon127()],[Arm.cannon460(), Arm.cannon155(), Arm.cannon155(), Arm.cannon127()],[Arm.cannon460(), Arm.cannon155(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon460(), Arm.cannon155(), Arm.cannon155(), Arm.cannon127(), Arm.cannon127()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (255, 200, 200) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def reInit(self): self.sta.name = 'Iowa' self.sta.length = 263 self.sta.propulsion = 163 self.sta.evasion = 0.04 self.sta.health = [100, 100, 100, 100, 100, 100, 100, 100] self.sta.armor = [100, 100, 100, 100, 100, 100, 100, 100] self.sta.weapon = [[Arm.cannon406(), Arm.cannon406(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon406(), Arm.cannon127(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon406(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon406(), Arm.cannon127(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon406(), Arm.cannon406(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon406(), Arm.cannon127(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon406(), Arm.cannon127(), Arm.cannon127()],[Arm.cannon406(), Arm.cannon127(), Arm.cannon127(), Arm.cannon127()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (128, 128, 255) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def reInit(self): self.sta.name = 'NorthCarolina' self.sta.length = 222 self.sta.propulsion = 140 self.sta.evasion = 0.04 self.sta.health = [80, 80, 80, 80, 80, 80, 80, 80] self.sta.armor = [95, 95, 95, 95, 95, 95, 95, 95] self.sta.weapon = [[Arm.cannon410(), Arm.cannon410(), Arm.cannon130(), Arm.cannon130()],[Arm.cannon410(), Arm.cannon130(), Arm.cannon130(), Arm.cannon130()],[Arm.cannon410(), Arm.cannon130(), Arm.cannon130()],[Arm.cannon410(), Arm.cannon130(), Arm.cannon130(), Arm.cannon130()],[Arm.cannon410(), Arm.cannon410(), Arm.cannon130(), Arm.cannon130()],[Arm.cannon410(), Arm.cannon130(), Arm.cannon130(), Arm.cannon130()],[Arm.cannon410(), Arm.cannon130(), Arm.cannon130()],[Arm.cannon410(), Arm.cannon130(), Arm.cannon130(), Arm.cannon130()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (128, 128, 255) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def reInit(self): self.sta.name = 'Bismark' self.sta.length = 250 self.sta.propulsion = 175 self.sta.evasion = 0.04 self.sta.health = [96, 96, 96, 96, 96, 96, 96, 96] self.sta.armor = [100, 90, 90, 100, 100, 90, 90, 100] self.sta.weapon = [[Arm.cannon380(), Arm.cannon150(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()],[Arm.cannon380(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()],[Arm.cannon380(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()],[Arm.cannon380(), Arm.cannon150(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()],[Arm.cannon380(), Arm.cannon150(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()],[Arm.cannon380(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()],[Arm.cannon380(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()],[Arm.cannon380(), Arm.cannon150(), Arm.cannon150(), Arm.cannon105(), Arm.cannon105()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (128, 128, 128) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def reInit(self): self.sta.name = 'Kongo' self.sta.length = 222 self.sta.propulsion = 150 self.sta.evasion = 0.04 self.sta.health = [82, 82, 82, 82, 82, 82, 82, 82] self.sta.armor = [94, 94, 94, 94, 94, 94, 94, 94] self.sta.weapon = [[Arm.cannon356(), Arm.cannon152(), Arm.cannon152(), Arm.torpedo553(), Arm.torpedo553(), Arm.torpedo553(), Arm.torpedo553()], [Arm.cannon356(), Arm.cannon152(), Arm.cannon152()], [Arm.cannon356(), Arm.cannon152(), Arm.cannon152()], [Arm.cannon356(), Arm.cannon152(), Arm.cannon152()], [Arm.cannon356(), Arm.cannon152(), Arm.cannon152(), Arm.torpedo553(), Arm.torpedo553(), Arm.torpedo553(), Arm.torpedo553()], [Arm.cannon356(), Arm.cannon152(), Arm.cannon152()], [Arm.cannon356(), Arm.cannon152(), Arm.cannon152()], [Arm.cannon356(), Arm.cannon152(), Arm.cannon152()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (255, 200, 200) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def reInit(self): self.sta.name = 'Fletcher' self.sta.length = 115 self.sta.propulsion = 180 self.sta.evasion = 0.1 self.sta.health = [30, 30, 30, 30, 30, 30, 30, 30] self.sta.armor = [50, 50, 50, 50, 50, 50, 50, 50] self.sta.weapon = [[Arm.cannon460(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610()], [Arm.cannon460()], [], [Arm.cannon460()], [Arm.cannon460(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610()], [Arm.cannon460()], [], [Arm.cannon460()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (128, 128, 255) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def run(): print '--> mission TheSevensPrisionFacility' if not ship.enableDefense(): return False if not drones.launchSmall(): return False ship.enableAfterburn() overview.seekAndDestory() if not drones.back(): return False print '<-- mission TheSevensPrisionFacility\n' return True
def reInit(self): self.sta.name = 'Shimakaze' self.sta.length = 130 self.sta.propulsion = 205 self.sta.evasion = 0.08 self.sta.health = [36, 36, 36, 36, 36, 36, 36, 36] self.sta.armor = [59, 59, 59, 59, 59, 59, 59, 59] self.sta.weapon = [[Arm.cannon460(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610()], [Arm.cannon460()], [], [Arm.cannon460()], [Arm.cannon460(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610(), Arm.torpedo610()], [Arm.cannon460()], [], [Arm.cannon460()]] self.sta.block = [Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block(), Ship.block()] self.sta.color = (255, 200, 200) for i in range(0, 8): self.sta.block[i].number = i self.sta.block[i].init(self.sta) for block in self.sta.block: block.armor += self.sta.level block.health += self.sta.level for weapon in block.weapon: weapon.harm += self.sta.level
def addship(shiplist): level = 0 while True: level = int(raw_input("please enter ship level")) if level <= 200 and level >= 0: break else: print "invalid level, please enter again" while True: name = raw_input("please enter a shipname") if name == 'Default': shiplist.append(Ship.ship()) shiplist[-1].sta.level = level break elif name == 'Shimakaze': shiplist.append(Shimakaze()) shiplist[-1].sta.level = level break elif name == 'Fletcher': shiplist.append(Fletcher()) shiplist[-1].sta.level = level break elif name == 'Kongo': shiplist.append(Kongo()) shiplist[-1].sta.level = level break elif name == 'Bismarck': shiplist.append(Bismarck()) shiplist[-1].sta.level = level break elif name == 'NorthCarolina': shiplist.append(NorthCarolina()) shiplist[-1].sta.level = level break elif name == 'Iowa': shiplist.append(Iowa()) shiplist[-1].sta.level = level break elif name == 'Yamato': shiplist.append(Yamato()) shiplist[-1].sta.level = level break elif name == 'Soyuz': shiplist.append(Soyuz()) shiplist[-1].sta.level = level break elif name == 'G3': shiplist.append(G3()) shiplist[-1].sta.level = level break elif name == 'Richelieu': shiplist.append(Richelieu()) shiplist[-1].sta.level = level break else: print "no such ship found, please enter again"