From ad4d1839723a3decb2350c91cb8bfebb14d8b201 Mon Sep 17 00:00:00 2001 From: Vasyl Horbachenko Date: Fri, 1 Jun 2018 22:39:12 +0300 Subject: [PATCH] game loop; player budget; enemy progression; GUI WIP --- .idea/dcs_pmcliberation.iml | 2 +- .idea/misc.xml | 2 +- __init__.py | 110 ++++++++++-------- game/event.py | 180 +++++++++++++++++++++++++----- game/event_results.py | 8 ++ game/game.py | 128 +++++++++++++++++++-- game/{mission.py => operation.py} | 10 ++ gen/aircraft.py | 8 +- gen/conflictgen.py | 1 + resources/caumap.gif | Bin 0 -> 190180 bytes shop/db.py | 37 +++++- theater/base.py | 107 +++++++++++++++--- theater/caucasus.py | 30 ++--- theater/conflicttheater.py | 21 +++- theater/controlpoint.py | 28 +++-- theater/start_generator.py | 11 ++ ui/__init__.py | 0 ui/basemenu.py | 62 ++++++++++ ui/eventmenu.py | 98 ++++++++++++++++ ui/eventresultsmenu.py | 61 ++++++++++ ui/mainmenu.py | 78 +++++++++++++ ui/window.py | 41 +++++++ userdata/debriefing_parser.py | 12 ++ 23 files changed, 906 insertions(+), 129 deletions(-) create mode 100644 game/event_results.py rename game/{mission.py => operation.py} (93%) create mode 100644 resources/caumap.gif create mode 100644 theater/start_generator.py create mode 100644 ui/__init__.py create mode 100644 ui/basemenu.py create mode 100644 ui/eventmenu.py create mode 100644 ui/eventresultsmenu.py create mode 100644 ui/mainmenu.py create mode 100644 ui/window.py create mode 100644 userdata/debriefing_parser.py diff --git a/.idea/dcs_pmcliberation.iml b/.idea/dcs_pmcliberation.iml index 9eedabcf..1f377c84 100644 --- a/.idea/dcs_pmcliberation.iml +++ b/.idea/dcs_pmcliberation.iml @@ -4,7 +4,7 @@ - + diff --git a/.idea/misc.xml b/.idea/misc.xml index e524f659..65531ca9 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,4 @@ - + \ No newline at end of file diff --git a/__init__.py b/__init__.py index b92cad68..e34e6ab1 100755 --- a/__init__.py +++ b/__init__.py @@ -5,71 +5,87 @@ import os import gen import theater.caucasus -import game.mission +import game.operation +import ui.window +import ui.mainmenu + +from game.game import Game +from theater.controlpoint import * from dcs.planes import * from dcs.vehicles import * m = dcs.Mission() - theater = theater.caucasus.CaucasusTheater() - theater.kutaisi.base.aircraft = { - A_10C: 4, F_15C: 4, + A_10C: 2, } -theater.kutaisi.base.armor = { - Armor.MBT_M1A2_Abrams: 4, -} +g = Game(theater=theater) -theater.senaki.base.aircraft = { - MiG_21Bis: 8, -} +w = ui.window.Window() +m = ui.mainmenu.MainMenu(g, w) -theater.senaki.base.armor = { - Armor.MBT_T_55: 6, -} +w.run() -theater.senaki.base.aa = { - AirDefence.AAA_ZU_23_on_Ural_375: 2, -} -op = game.mission.InterceptOperation( - mission=m, - attacker=m.country("USA"), - defender=m.country("Russia"), - destination=theater.batumi, - destination_port=m.terrain.batumi(), - escort={Su_27: 2}, - transport={An_26B: 2}, - interceptors={M_2000C: 2} -) +""" +selected_cp = None # type: ControlPoint +while True: + ptr = 0 -op = game.mission.GroundInterceptOperation( - mission=m, - attacker=m.country("USA"), - defender=m.country("Russia"), - position=m.terrain.batumi().position, - target={Unarmed.Transport_ZIL_4331: 10}, - strikegroup={A_10C: 2} -) + print("Budget: {}m".format(g.budget)) -op = game.mission.CaptureOperation( - mission=m, - attacker=m.country("USA"), - defender=m.country("Russia"), - from_cp=theater.senaki, - to_cp=theater.batumi, - cas={A_10C: 2}, - escort={F_15C: 2}, - attack={Armor.MBT_M1A2_Abrams: 4}, - intercept={Su_27: 4}, - defense={Armor.MBT_T_55: 4}, - aa={AirDefence.AAA_ZU_23_Insurgent_on_Ural_375: 3}) -op.generate() + if selected_cp is None: + print("Events:") + for event in g.events: + ptr += 1 + print("{}. {} {}".format(ptr, event.attacker != g.side and "!" or " ", event)) + + print("Control Points:") + controlpoints = g.theater.controlpoints + controlpoints.sort(key=lambda x: x.captured) + for cp in g.theater.controlpoints: + ptr += 1 + print("{}. [{}{}] {}{}{}{}".format( + ptr, + cp.captured and "x" or " ", + int(cp.base.readiness * 10), + cp.name, + "^" * cp.base.total_planes, + "." * cp.base.total_armor, + "*" * cp.base.total_aa)) + + events_boundary = len(g.events) + try: + selected_idx = int(input(">").strip()) - 1 + except: + continue + + if selected_idx == -1: + g.pass_turn() + continue + if selected_idx < events_boundary: + event = g.events[selected_idx] + else: + selected_cp = controlpoints[selected_idx - events_boundary] + else: + print("Units on the base: ") + for unit, count in selected_cp.base.all_units: + print("{} ({}) ".format(unit.name and unit.name or unit.id, count), end="") + print("") + + try: + selected_idx = int(input(">").strip()) - 1 + except: + continue + if selected_idx == -1: + selected_cp = None if not os.path.exists("./build"): os.mkdir("./build") m.save("build/output.miz") +""" + diff --git a/game/event.py b/game/event.py index 113e3a9e..0eca4455 100644 --- a/game/event.py +++ b/game/event.py @@ -1,55 +1,185 @@ import typing +import random +import math import dcs from theater.controlpoint import * -from .mission import * +from userdata.debriefing_parser import * +from game.operation import * + +DIFFICULTY_LOG_BASE = 1.5 + class Event: silent = False - operation = None # type: Operation + operation = None # type: Operation + difficulty = 1 # type: int + BONUS_BASE = 0 - def failure(self): + def __init__(self, attacker_name: str, defender_name: str, from_cp: ControlPoint, to_cp: ControlPoint): + self.mission = dcs.mission.Mission() + self.attacker = self.mission.country(attacker_name) + self.defender = self.mission.country(defender_name) + self.to_cp = to_cp + self.from_cp = from_cp + + def bonus(self) -> int: + return math.ceil(math.log(self.difficulty, DIFFICULTY_LOG_BASE) * self.BONUS_BASE) + + def is_successfull(self, debriefing: Debriefing) -> bool: + return self.operation.is_successfull(debriefing) + + def commit(self, debriefing: Debriefing): + for country, losses in debriefing.destroyed_units.items(): + cp = None # type: ControlPoint + if country == self.attacker.name: + cp = self.from_cp + else: + cp = self.to_cp + + cp.base.commit_losses(losses) + + def skip(self): pass - def success(self): - pass + +class GroundInterceptEvent(Event): + BONUS_BASE = 3 + TARGET_AMOUNT_FACTOR = 3 + TARGET_VARIETY = 3 + + def __str__(self): + return "Ground intercept at {} ({})".format(self.to_cp, "*" * self.difficulty) + + def commit(self, debriefing: Debriefing): + super(GroundInterceptEvent, self).commit(debriefing) + + if self.from_cp.captured: + if self.is_successfull(debriefing): + self.to_cp.base.affect_strength(-0.1) + else: + self.to_cp.base.affect_strength(+0.1) + else: + assert False + + def skip(self): + if not self.to_cp.captured: + self.to_cp.base.affect_strength(+0.1) + else: + pass + + def player_attacking(self, position: Point, strikegroup: typing.Dict[PlaneType, int]): + suitable_unittypes = db.find_unittype(CAP, self.defender.name) + random.shuffle(suitable_unittypes) + unittypes = suitable_unittypes[:self.TARGET_VARIETY] + typecount = max(math.floor(self.difficulty * self.TARGET_AMOUNT_FACTOR), 1) + targets = {unittype: typecount for unittype in unittypes} + + self.operation = GroundInterceptOperation(mission=self.mission, + attacker=self.attacker, + defender=self.defender, + position=position, + target=targets, + strikegroup=strikegroup) + class InterceptEvent(Event): - pass + ESCORT_AMOUNT_FACTOR = 2 + BONUS_BASE = 5 + + def __str__(self): + return "Intercept at {} ({})".format(self.to_cp, "*" * self.difficulty) + + def commit(self, debriefing: Debriefing): + super(InterceptEvent, self).commit(debriefing) + if self.is_successfull(debriefing): + self.to_cp.base.affect_strength(0.1 * self.from_cp.captured and -1 or 1) + else: + self.to_cp.base.affect_strength(0.1 * self.from_cp.captured and 1 or -1) + + def skip(self): + if self.to_cp.captured: + self.to_cp.base.affect_strength(-0.2) + + def player_attacking(self, interceptors: typing.Dict[PlaneType, int]): + escort = self.to_cp.base.scramble_sweep(self.to_cp) + transport_unit = random.choice(db.find_unittype(Transport, self.defender.name)) + assert transport_unit is not None + + self.operation = InterceptOperation(mission=self.mission, + attacker=self.attacker, + defender=self.defender, + destination=self.to_cp, + destination_port=self.to_cp.airport, + escort=escort, + transport={transport_unit: 1}, + interceptors=interceptors) + + def player_defending(self, escort: typing.Dict[PlaneType, int]): + interceptors = self.from_cp.base.scramble_interceptors_count(self.difficulty * self.ESCORT_AMOUNT_FACTOR) + transport_unit = random.choice(db.find_unittype(Transport, self.defender.name)) + assert transport_unit is not None + + self.operation = InterceptOperation(mission=self.mission, + attacker=self.attacker, + defender=self.defender, + destination=self.to_cp, + destination_port=self.to_cp.airport, + escort=escort, + transport={transport_unit: 1}, + interceptors=interceptors) + class CaptureEvent(Event): silent = True + BONUS_BASE = 7 - def __init__(self, from_cp: ControlPoint, to_cp: ControlPoint): - pass + def __str__(self): + return "Capture {} ({})".format(self.to_cp, "*" * self.difficulty) - def player_defending(self, from_cp: ControlPoint, to_cp: ControlPoint, interceptors: typing.Dict[PlaneType, int]): - assert not self.operation + def commit(self, debriefing: Debriefing): + super(CaptureEvent, self).commit(debriefing) + if self.is_successfull(debriefing): + if self.from_cp.captured: + self.to_cp.captured = True + else: + if not self.from_cp.captured: + self.to_cp.captured = False + self.to_cp.base.affect_strength(+0.5) - cas = from_cp.base.scramble_cas(to_cp) - escort = from_cp.base.scramble_sweep(to_cp) - attackers = from_cp.base.assemble_cap(to_cp) + def skip(self): + if self.to_cp.captured: + self.to_cp.captured = False - self.operation = CaptureOperation(from_cp=from_cp, - to_cp=to_cp, + def player_defending(self, interceptors: typing.Dict[PlaneType, int]): + cas = self.from_cp.base.scramble_cas(self.to_cp) + escort = self.from_cp.base.scramble_sweep(self.to_cp) + attackers = self.from_cp.base.assemble_cap(self.to_cp) + + self.operation = CaptureOperation(mission=self.mission, + attacker=self.attacker, + defender=self.defender, + from_cp=self.from_cp, + to_cp=self.to_cp, cas=cas, escort=escort, attack=attackers, intercept=interceptors, - defense=to_cp.base.armor, - aa=to_cp.base.aa) + defense=self.to_cp.base.armor, + aa=self.to_cp.base.aa) - def player_attacking(self, from_cp: ControlPoint, to_cp: ControlPoint, cas: typing.Dict[PlaneType, int], escort: typing.Dict[PlaneType, int], armor: typing.Dict[Armor, int]): - assert not self.operation + def player_attacking(self, cas: typing.Dict[PlaneType, int], escort: typing.Dict[PlaneType, int], armor: typing.Dict[Armor, int]): + interceptors = self.to_cp.base.scramble_sweep(for_target=self.to_cp) - interceptors = to_cp.base.scramble_sweep() - - self.operation = CaptureOperation(from_cp=from_cp, - to_cp=to_cp, + self.operation = CaptureOperation(mission=self.mission, + attacker=self.attacker, + defender=self.defender, + from_cp=self.from_cp, + to_cp=self.to_cp, cas=cas, escort=escort, attack=armor, intercept=interceptors, - defense=to_cp.base.armor, - aa=to_cp.base.aa) \ No newline at end of file + defense=self.to_cp.base.armor, + aa=self.to_cp.base.aa) \ No newline at end of file diff --git a/game/event_results.py b/game/event_results.py new file mode 100644 index 00000000..55a78829 --- /dev/null +++ b/game/event_results.py @@ -0,0 +1,8 @@ +import typing +import dcs + +from game.event import * + + + + diff --git a/game/game.py b/game/game.py index b0a74e78..fec7c3c4 100644 --- a/game/game.py +++ b/game/game.py @@ -1,21 +1,135 @@ import typing +import random from theater.conflicttheater import * from theater.controlpoint import * -from .event import * +from userdata.debriefing_parser import * +from game.event import * + +COMMISION_LIMITS_SCALE = 2 +COMMISION_LIMITS_FACTORS = { + CAP: 2, + CAS: 1, + FighterSweep: 3, + AirDefence: 2, +} + +COMMISION_AMOUNTS_SCALE = 2 +COMMISION_AMOUNTS_FACTORS = { + CAP: 0.6, + CAS: 0.3, + FighterSweep: 0.5, + AirDefence: 0.3, +} + + +ENEMY_INTERCEPT_PROBABILITY_BASE = 25 +ENEMY_CAPTURE_PROBABILITY_BASE = 15 + +PLAYER_INTERCEPT_PROBABILITY_BASE = 30 +PLAYER_GROUNDINTERCEPT_PROBABILITY_BASE = 30 + +PLAYER_BUDGET_BASE = 25 +PLAYER_BUDGET_IMPORTANCE_LOG = 2 + class Game: - events = [] # type: typing.List[Event] + budget = 45 + events = None # type: typing.List[Event] def __init__(self, theater: ConflictTheater): + self.events = [] self.theater = theater + self.player = "USA" + self.enemy = "Russia" + + def _roll(self, prob, mult): + return random.randint(0, 100) <= prob * mult def _fill_cap_events(self): - for cp in [x for x in self.theater.controlpoints if x.captured]: - for connected_cp in [x for x in cp.connected_points if not x.captured]: - self.events.append(CaptureEvent(cp, connected_cp)) + for from_cp, to_cp in self.theater.conflicts(True): + self.events.append(CaptureEvent(attacker_name=self.player, + defender_name=self.enemy, + from_cp=from_cp, + to_cp=to_cp)) + + def _generate_enemy_caps(self): + for from_cp, to_cp in self.theater.conflicts(False): + if self._roll(ENEMY_CAPTURE_PROBABILITY_BASE, from_cp.base.strength): + self.events.append(CaptureEvent(attacker_name=self.enemy, + defender_name=self.player, + from_cp=from_cp, + to_cp=to_cp)) + break + + def _generate_interceptions(self): + for from_cp, to_cp in self.theater.conflicts(False): + if self._roll(ENEMY_INTERCEPT_PROBABILITY_BASE, from_cp.base.strength): + self.events.append(InterceptEvent(attacker_name=self.enemy, + defender_name=self.player, + from_cp=from_cp, + to_cp=to_cp)) + break + + for from_cp, to_cp in self.theater.conflicts(True): + if self._roll(PLAYER_INTERCEPT_PROBABILITY_BASE, from_cp.base.strength): + self.events.append(InterceptEvent(attacker_name=self.player, + defender_name=self.enemy, + from_cp=from_cp, + to_cp=to_cp)) + break + + def _generate_groundinterceptions(self): + for from_cp, to_cp in self.theater.conflicts(True): + if self._roll(PLAYER_GROUNDINTERCEPT_PROBABILITY_BASE, from_cp.base.strength): + self.events.append(GroundInterceptEvent(attacker_name=self.player, + defender_name=self.enemy, + from_cp=from_cp, + to_cp=to_cp)) + break + + def _commision_units(self, cp: ControlPoint): + for for_task in [CAP, CAS, FighterSweep, AirDefence]: + limit = COMMISION_LIMITS_FACTORS[for_task] * math.pow(cp.importance, COMMISION_LIMITS_SCALE) + missing_units = limit - cp.base.total_units(for_task) + if missing_units > 0: + awarded_points = COMMISION_AMOUNTS_FACTORS[for_task] * math.pow(cp.importance, COMMISION_AMOUNTS_SCALE) + points_to_spend = cp.base.append_commision_points(for_task, awarded_points) + if points_to_spend > 0: + unit_type = random.choice(db.find_unittype(for_task, self.enemy)) + cp.base.commision_units({unit_type: points_to_spend}) + + def _budget_player(self): + total_importance = sum([x.importance for x in self.theater.player_points()]) + total_strength = sum([x.base.strength for x in self.theater.player_points()]) / len(self.theater.player_points()) + + self.budget += math.ceil(math.log(total_importance * total_strength + 1, PLAYER_BUDGET_IMPORTANCE_LOG) * PLAYER_BUDGET_BASE) + + def initiate_event(self, event: Event): + event.operation.generate() + event.mission.save("build/next_mission.miz") + + def finish_event(self, event: Event, debriefing: Debriefing): + event.commit(debriefing) + if event.is_successfull(debriefing): + self.budget += event.bonus() + + self.events.remove(event) + + def is_player_attack(self, event: Event): + return event.attacker.name == self.player def pass_turn(self): - self.events = [] # type: typing.List[Event] - self._fill_cap_events() + for event in self.events: + event.skip() + + self._budget_player() + for cp in self.theater.enemy_bases(): + self._commision_units(cp) + + self.events = [] # type: typing.List[Event] + self._fill_cap_events() + self._generate_enemy_caps() + self._generate_interceptions() + self._generate_groundinterceptions() diff --git a/game/mission.py b/game/operation.py similarity index 93% rename from game/mission.py rename to game/operation.py index 531e4fd3..c311c1e4 100644 --- a/game/mission.py +++ b/game/operation.py @@ -1,6 +1,7 @@ import typing from globals import * +from userdata.debriefing_parser import * from dcs.mission import * from dcs.unitgroup import * from dcs.vehicles import * @@ -22,6 +23,15 @@ class Operation: self.airgen = AircraftConflictGenerator(self.mission, self.conflict) self.aagen = AAConflictGenerator(self.mission, self.conflict) + def units_of(self, country_name: str) -> typing.Collection[UnitType]: + return [] + + def is_successfull(self, debriefing: Debriefing) -> bool: + return True + + def generate(self): + pass + class CaptureOperation(Operation): def __init__(self, diff --git a/gen/aircraft.py b/gen/aircraft.py index db7d498e..b1fdbe65 100644 --- a/gen/aircraft.py +++ b/gen/aircraft.py @@ -35,6 +35,7 @@ class AircraftConflictGenerator: def __init__(self, mission: Mission, conflict: Conflict): self.m = mission self.conflict = conflict + self.escort_targets = [] def _group_point(self, point) -> Point: distance = randint( @@ -53,6 +54,8 @@ class AircraftConflictGenerator: airport: Airport = None) -> PlaneGroup: starttype = airport == None and StartType.Warm or StartType.Cold print("generating {} ({}) at {} {}".format(unit, count, at, airport, side)) + assert count > 0 + return self.m.flight_group( country=side, name=name, @@ -66,7 +69,8 @@ class AircraftConflictGenerator: group_size=count) def _generate_escort(self, units: typing.Dict[PlaneType, int], airport: Airport, side: Country, location: Point): - assert len(self.escort_targets) > 0 + if len(self.escort_targets) == 0: + return for type, count in units.items(): group = self._generate_group( @@ -81,7 +85,7 @@ class AircraftConflictGenerator: group.load_task_default_loadout(dcs.task.Escort) heading = group.position.heading_between_point(self.conflict.position) - position = group.position # type: Point + position = group.position # type: Point wayp = group.add_waypoint(position.point_from_heading(heading, WORKAROUND_WAYP_DIST), CAS_ALTITUDE) for group in self.escort_targets: diff --git a/gen/conflictgen.py b/gen/conflictgen.py index 070a9cfb..797f1d83 100644 --- a/gen/conflictgen.py +++ b/gen/conflictgen.py @@ -25,6 +25,7 @@ INTERCEPT_DEFENDERS_HEADING = -10, 10 INTERCEPT_ATTACKERS_DISTANCE = 60000 INTERCEPT_DEFENDERS_DISTANCE = 30000 + class Conflict: attackers_side = None # type: Country defenders_side = None # type: Country diff --git a/resources/caumap.gif b/resources/caumap.gif new file mode 100644 index 0000000000000000000000000000000000000000..f3d388f13c42ad89d25bbd48fa0088ee5043c773 GIT binary patch literal 190180 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 literal 0 HcmV?d00001 diff --git a/shop/db.py b/shop/db.py index fc2771a5..46a4bd18 100644 --- a/shop/db.py +++ b/shop/db.py @@ -13,6 +13,7 @@ PRICES = { # planes Su_25T: 10, + Su_25: 10, A_10A: 15, A_10C: 20, @@ -23,6 +24,10 @@ PRICES = { MiG_15bis: 10, MiG_21Bis: 13, + MiG_29A: 23, + + IL_76MD: 20, + S_3B_Tanker: 20, # armor @@ -40,5 +45,35 @@ PRICES = { UNIT_BY_TASK = { FighterSweep: [Su_27, Su_33, Su_25, F_15C, MiG_15bis, MiG_21Bis, MiG_29A, ], CAS: [Su_25T, A_10A, A_10C, ], - CAP: [Armor.MBT_T_90, Armor.MBT_T_80U, Armor.MBT_T_55, Armor.MBT_M1A2_Abrams, Armor.MBT_M60A3_Patton, Armor.ATGM_M1134_Stryker, Armor.APC_BTR_80, ] + CAP: [Armor.MBT_T_90, Armor.MBT_T_80U, Armor.MBT_T_55, Armor.MBT_M1A2_Abrams, Armor.MBT_M60A3_Patton, Armor.ATGM_M1134_Stryker, Armor.APC_BTR_80, ], + AirDefence: [AirDefence.AAA_ZU_23_on_Ural_375, ], + Transport: [IL_76MD, S_3B_Tanker, ], } + +UNIT_BY_COUNTRY = { + "Russia": [Su_25T, A_10C, Su_27, Su_33, Su_25, MiG_15bis, MiG_21Bis, MiG_29A, AirDefence.AAA_ZU_23_on_Ural_375, Armor.APC_BTR_80, Armor.MBT_T_90, Armor.MBT_T_80U, Armor.MBT_T_55, IL_76MD, ], + "USA": [F_15C, A_10C, Armor.MBT_M1A2_Abrams, Armor.MBT_M60A3_Patton, Armor.ATGM_M1134_Stryker, S_3B_Tanker], +} + + +def unit_task(unit: UnitType) -> Task: + for task, units in UNIT_BY_TASK.items(): + if unit in units: + return task + + assert False + + +def find_unittype(for_task: Task, country_name: str) -> typing.List[UnitType]: + return [x for x in UNIT_BY_TASK[for_task] if x in UNIT_BY_COUNTRY[country_name]] + + +def unit_type_name(unit_type) -> str: + return unit_type.id and unit_type.id or unit_type.name + + +def task_name(task) -> str: + if task == AirDefence: + return "AirDefence" + else: + return task.name diff --git a/theater/base.py b/theater/base.py index cfb2cba9..8a7011a7 100644 --- a/theater/base.py +++ b/theater/base.py @@ -1,6 +1,7 @@ import typing import dcs import math +import itertools from shop import db from theater.controlpoint import ControlPoint @@ -17,10 +18,15 @@ ARMOR_IMPORTANCE_FACTOR = 4 class Base: aircraft = {} # type: typing.Dict[PlaneType, int] armor = {} # type: typing.Dict[Armor, int] - aa = {} # type: typing.Dict[AirDefence, int] + aa = {} # type: typing.Dict[AirDefence, int] + strength = 1 # type: float + commision_points = {} def __init__(self): - pass + self.aircraft = {} + self.armor = {} + self.aa = {} + self.commision_points = {} @property def total_planes(self) -> int: @@ -30,19 +36,40 @@ class Base: def total_armor(self) -> int: return sum(self.armor.values()) + @property + def total_aa(self) -> int: + return sum(self.aa.values()) + + def total_units(self, task: Task) -> int: + return sum([c for t, c in itertools.chain(self.aircraft.items(), self.armor.items(), self.aa.items()) if t in db.UNIT_BY_TASK[task]]) + + def total_units_of_type(self, unit_type) -> int: + return sum([c for t, c in itertools.chain(self.aircraft.items(), self.armor.items(), self.aa.items()) if t == unit_type]) + + @property + def all_units(self): + return itertools.chain(self.aircraft.items(), self.armor.items(), self.aa.items()) + def _find_best_unit(self, dict, for_type: Task, count: int) -> typing.Dict: - sorted_planes = [key for key in dict.keys() if key in db.UNIT_BY_TASK[for_type]] - sorted_planes.sort(key=lambda x: db.PRICES[x], reverse=True) + assert count > 0 + + sorted_units = [key for key in dict.keys() if key in db.UNIT_BY_TASK[for_type]] + sorted_units.sort(key=lambda x: db.PRICES[x], reverse=True) result = {} - for plane in sorted_planes: - existing_count = dict[plane] # type: int + for unit_type in sorted_units: + existing_count = dict[unit_type] # type: int if not existing_count: continue + if count <= 0: + break + result_unit_count = min(count, existing_count) count -= result_unit_count - result[plane] = result.get(plane, 0) + result_unit_count + + assert result_unit_count > 0 + result[unit_type] = result.get(unit_type, 0) + result_unit_count return result @@ -65,24 +92,68 @@ class Base: total_scrambled += PLANES_IN_GROUP yield PLANES_IN_GROUP and total_scrambled < total_planes or total_planes - total_scrambled - def commit_scramble(self, scrambled_aircraft: typing.Dict[PlaneType, int]): - for k, c in scrambled_aircraft: - self.aircraft[k] -= c - assert self.aircraft[k] >= 0 - if self.aircraft[k] == 0: - del self.aircraft[k] + def append_commision_points(self, for_type, points: float) -> int: + self.commision_points[for_type] = self.commision_points.get(for_type, 0) + points + points = self.commision_points[for_type] + if points >= 1: + self.commision_points[for_type] = points - math.floor(points) + return int(math.floor(points)) + + return 0 + + def commision_units(self, units: typing.Dict[typing.Any, int]): + for value in units.values(): + assert value > 0 + assert value == math.floor(value) + + for unit_type, unit_count in units.items(): + for_task = db.unit_task(unit_type) + + target_dict = None + if for_task == CAS or for_task == FighterSweep: + target_dict = self.aircraft + elif for_task == CAP: + target_dict = self.armor + elif for_task == AirDefence: + target_dict = self.aa + + assert target_dict is not None + target_dict[unit_type] = target_dict.get(unit_type, 0) + unit_count + + def commit_losses(self, units_lost: typing.Dict[typing.Any, int]): + for unit_type, count in units_lost.items(): + aircraft_key = next((x for x in self.aircraft.keys() if x.id == unit_type), None) + if aircraft_key: + self.aircraft[aircraft_key] = self.aircraft[aircraft_key] - count + + armor_key = next((x for x in self.armor.keys() if x.name == unit_type), None) + if armor_key: + self.armor[armor_key] = self.armor[armor_key] - count + + aa_key = next((x for x in self.aa.keys() if x.name == unit_type), None) + if aa_key: + self.aa[aa_key] = self.aa[aa_key] - count + + def affect_strength(self, amount): + self.strength += amount + if self.strength > 1: + self.strength = 1 def scramble_cas(self, for_target: ControlPoint) -> typing.Dict[PlaneType, int]: - return self._find_best_planes(CAS, int(for_target.importance * PLANES_IMPORTANCE_FACTOR)) + return self._find_best_planes(CAS, math.ceil(for_target.importance * PLANES_IMPORTANCE_FACTOR * self.strength)) def scramble_sweep(self, for_target: ControlPoint) -> typing.Dict[PlaneType, int]: - return self._find_best_planes(FighterSweep, int(for_target.importance * PLANES_IMPORTANCE_FACTOR)) + return self._find_best_planes(FighterSweep, math.ceil(for_target.importance * PLANES_IMPORTANCE_FACTOR * self.strength)) def scramble_interceptors(self, factor: float) -> typing.Dict[PlaneType, int]: - return self._find_best_planes(FighterSweep, int(self.total_planes * factor)) + return self._find_best_planes(FighterSweep, math.ceil(self.total_planes * factor * self.strength)) + + def scramble_interceptors_count(self, count: int) -> typing.Dict[PlaneType, int]: + assert count > 0 + return self._find_best_planes(FighterSweep, count) def assemble_cap(self, for_target: ControlPoint) -> typing.Dict[Armor, int]: - return self._find_best_armor(CAP, int(for_target.importance * ARMOR_IMPORTANCE_FACTOR)) + return self._find_best_armor(CAP, math.ceil(for_target.importance * ARMOR_IMPORTANCE_FACTOR * self.strength)) def assemble_defense(self, factor: float) -> typing.Dict[Armor, int]: - return self._find_best_armor(CAP, int(self.total_armor * factor)) + return self._find_best_armor(CAP, math.ceil(self.total_armor * factor * self.strength)) diff --git a/theater/caucasus.py b/theater/caucasus.py index cd19baab..08d31105 100644 --- a/theater/caucasus.py +++ b/theater/caucasus.py @@ -4,20 +4,22 @@ from .conflicttheater import * from .base import * class CaucasusTheater(ConflictTheater): - kutaisi = ControlPoint(caucasus.Kutaisi.position, ALL_RADIALS, SIZE_SMALL, IMPORTANCE_LOW) - senaki = ControlPoint(caucasus.Senaki.position, ALL_RADIALS, SIZE_REGULAR, IMPORTANCE_LOW) - kobuleti = ControlPoint(caucasus.Kobuleti.position, COAST_VERTICAL, SIZE_SMALL, IMPORTANCE_LOW) - batumi = ControlPoint(caucasus.Batumi.position, COAST_VERTICAL, SIZE_SMALL, IMPORTANCE_MEDIUM) - sukhumi = ControlPoint(caucasus.Sukhumi.position, COAST_VERTICAL, SIZE_REGULAR, IMPORTANCE_MEDIUM) - gudauta = ControlPoint(caucasus.Gudauta.position, COAST_VERTICAL, SIZE_REGULAR, IMPORTANCE_MEDIUM) - sochi = ControlPoint(caucasus.Sochi.position, COAST_VERTICAL, SIZE_BIG, IMPORTANCE_HIGH) + kutaisi = ControlPoint(caucasus.Kutaisi, ALL_RADIALS, SIZE_SMALL, IMPORTANCE_LOW) + senaki = ControlPoint(caucasus.Senaki, ALL_RADIALS, SIZE_REGULAR, IMPORTANCE_LOW) + kobuleti = ControlPoint(caucasus.Kobuleti, COAST_VERTICAL, SIZE_SMALL, IMPORTANCE_LOW) + batumi = ControlPoint(caucasus.Batumi, COAST_VERTICAL, SIZE_SMALL, IMPORTANCE_MEDIUM) + sukhumi = ControlPoint(caucasus.Sukhumi, COAST_VERTICAL, SIZE_REGULAR, IMPORTANCE_MEDIUM) + gudauta = ControlPoint(caucasus.Gudauta, COAST_VERTICAL, SIZE_REGULAR, IMPORTANCE_MEDIUM) + sochi = ControlPoint(caucasus.Sochi, COAST_VERTICAL, SIZE_BIG, IMPORTANCE_HIGH) def __init__(self): - self.add_controlpoint(self.kutaisi, connected_to=[self.senaki]) - self.add_controlpoint(self.senaki, connected_to=[self.kobuleti, self.sukhumi]) - self.add_controlpoint(self.kobuleti, connected_to=[self.batumi]) - self.add_controlpoint(self.batumi) + self.kutaisi.captured = True - self.add_controlpoint(self.sukhumi, connected_to=[self.gudauta]) - self.add_controlpoint(self.gudauta, connected_to=[self.sochi]) - self.add_controlpoint(self.sochi) + self.add_controlpoint(self.kutaisi, connected_to=[self.senaki]) + self.add_controlpoint(self.senaki, connected_to=[self.kobuleti, self.sukhumi, self.kutaisi]) + self.add_controlpoint(self.kobuleti, connected_to=[self.batumi, self.senaki]) + self.add_controlpoint(self.batumi, connected_to=[self.kobuleti]) + + self.add_controlpoint(self.sukhumi, connected_to=[self.gudauta, self.senaki]) + self.add_controlpoint(self.gudauta, connected_to=[self.sochi, self.sukhumi]) + self.add_controlpoint(self.sochi, connected_to=[self.gudauta]) diff --git a/theater/conflicttheater.py b/theater/conflicttheater.py index 3bc2be79..b82abda4 100644 --- a/theater/conflicttheater.py +++ b/theater/conflicttheater.py @@ -1,4 +1,6 @@ import typing +import itertools + import dcs from .controlpoint import * @@ -9,8 +11,8 @@ SIZE_BIG = 2000 SIZE_LARGE = 3000 IMPORTANCE_LOW = 1 -IMPORTANCE_MEDIUM = 2 -IMPORTANCE_HIGH = 3 +IMPORTANCE_MEDIUM = 1.2 +IMPORTANCE_HIGH = 1.4 ALL_RADIALS = [0, 45, 90, 135, 180, 225, 270, 315, ] COAST_VERTICAL = [45, 90, 135, ] @@ -20,11 +22,22 @@ COAST_HORIZONTAL = [315, 0, 45, ] class ConflictTheater: controlpoints = [] # type: typing.List[ControlPoint] + def __init__(self): + self.controlpoints = [] + def add_controlpoint(self, point: ControlPoint, connected_to: typing.Collection[ControlPoint] = []): for connected_point in connected_to: point.connect(to=connected_point) self.controlpoints.append(point) - def player_bases(self) -> typing.Collection[ControlPoint]: - return [point for point in self.controlpoints if point.captured and point.base] + def player_points(self) -> typing.Collection[ControlPoint]: + return [point for point in self.controlpoints if point.captured] + + def conflicts(self, from_player=True) -> typing.Collection[typing.Tuple[ControlPoint, ControlPoint]]: + for cp in [x for x in self.controlpoints if x.captured == from_player]: + for connected_point in [x for x in cp.connected_points if x.captured != from_player]: + yield (cp, connected_point) + + def enemy_bases(self) -> typing.Collection[ControlPoint]: + return [point for point in self.controlpoints if not point.captured] diff --git a/theater/controlpoint.py b/theater/controlpoint.py index b4bd709e..e5446497 100644 --- a/theater/controlpoint.py +++ b/theater/controlpoint.py @@ -7,26 +7,36 @@ from dcs.country import * from gen.conflictgen import * -class ControlPoint: - connected_points = [] # type: typing.List[ControlPoint] - position = None # type: Point - captured = False - strength = 100 - base: None # type: theater.base.Base - def __init__(self, point: Point, radials: typing.Collection[int], size: int, importance: int): +class ControlPoint: + connected_points = [] # type: typing.List[ControlPoint] + position = None # type: Point + captured = False + base: None # type: theater.base.Base + airport: None # type: Airport + + def __init__(self, airport: Airport, radials: typing.Collection[int], size: int, importance: int): import theater.base - self.position = point + self.name = airport.name + self.position = airport.position + self.airport = airport self.size = size self.importance = importance self.captured = False self.radials = radials + self.connected_points = [] self.base = theater.base.Base() + def __str__(self): + return self.name + def connect(self, to): self.connected_points.append(to) + def is_connected(self, to) -> bool: + return to in self.connected_points + def find_radial(self, heading: int, ignored_radial: int = None): closest_radial = 0 closest_radial_delta = 360 @@ -39,7 +49,7 @@ class ControlPoint: return closest_radial def conflict_attack(self, from_cp, attacker: Country, defender: Country) -> Conflict: - cp = from_cp # type: ControlPoint + cp = from_cp # type: ControlPoint attack_radial = self.find_radial(cp.position.heading_between_point(self.position)) defense_radial = self.find_radial(self.position.heading_between_point(cp.position), ignored_radial=attack_radial) diff --git a/theater/start_generator.py b/theater/start_generator.py new file mode 100644 index 00000000..22cc9779 --- /dev/null +++ b/theater/start_generator.py @@ -0,0 +1,11 @@ +import typing +import random + +import dcs + +from theater.controlpoint import * +from theater.base import * +from theater.conflicttheater import * + +def generate_initial(theater: ConflictTheater): + pass diff --git a/ui/__init__.py b/ui/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/ui/basemenu.py b/ui/basemenu.py new file mode 100644 index 00000000..88e96687 --- /dev/null +++ b/ui/basemenu.py @@ -0,0 +1,62 @@ +from shop import db + +from tkinter import * +from ui.window import * +from ui.eventmenu import * + +from game.game import * + + +class BaseMenu: + def __init__(self, window: Window, parent, game: Game, base: Base): + self.window = window + self.frame = window.right_pane + self.parent = parent + self.game = game + self.base = base + + self.update() + + def go_back(self): + self.parent.update() + + def buy(self, unit_type): + def action(): + price = db.PRICES[unit_type] + if self.game.budget > price: + self.base.commision_units({unit_type: 1}) + self.game.budget -= price + + self.update() + + return action + + def update(self): + self.window.clear_right_pane() + row = 0 + + def purchase_row(unit_type, unit_price): + nonlocal row + + existing_units = self.base.total_units_of_type(unit_type) + Label(self.frame, text=db.unit_type_name(unit_type)).grid(column=0, row=row, sticky=W) + Label(self.frame, text="{}m {}".format(unit_price, existing_units)).grid(column=1, row=row) + Button(self.frame, text="Buy", command=self.buy(unit_type)).grid(column=2, row=row) + row += 1 + + units = { + CAP: db.find_unittype(CAP, self.game.player), + CAS: db.find_unittype(CAS, self.game.player), + FighterSweep: db.find_unittype(FighterSweep, self.game.player), + AirDefence: db.find_unittype(AirDefence, self.game.player), + } + + Label(self.frame, text="Budget: {}m".format(self.game.budget)).grid(column=0, row=row, sticky=W) + Button(self.frame, text="Back", command=self.go_back).grid(column=2, row=row) + row += 1 + + for task_type, units in units.items(): + Label(self.frame, text="{}".format(db.task_name(task_type))).grid(column=0, row=row, columnspan=3); row += 1 + for unit_type in units: + purchase_row(unit_type, db.PRICES[unit_type]) + diff --git a/ui/eventmenu.py b/ui/eventmenu.py new file mode 100644 index 00000000..638d5d78 --- /dev/null +++ b/ui/eventmenu.py @@ -0,0 +1,98 @@ +from tkinter import * +from ui.window import * +from ui.eventresultsmenu import * + +from game.game import * +from game import event + + +class EventMenu: + aircraft_scramble_entries = None # type: typing.Dict[PlaneType, Entry] + armor_scramble_entries = None # type: typing.Dict[Armor, Entry] + + def __init__(self, window: Window, parent, game: Game, event: event.Event): + self.window = window + self.frame = self.window.right_pane + self.parent = parent + + self.event = event + self.game = game + + self.aircraft_scramble_entries = {} + self.armor_scramble_entries = {} + + self.update() + + def start(self): + scrambled_aircraft = {} + scrambled_sweep = {} + scrambled_cas = {} + for unit_type, field in self.aircraft_scramble_entries.items(): + value = field.get() + if value and int(value) > 0: + amount = int(value) + task = db.unit_task(unit_type) + + scrambled_aircraft[unit_type] = amount + if task == CAS: + scrambled_cas[unit_type] = amount + elif task == FighterSweep: + scrambled_sweep[unit_type] = amount + + scrambled_armor = {} + for unit_type, field in self.armor_scramble_entries.items(): + value = field.get() + if value and int(value) > 0: + scrambled_armor[unit_type] = int(value) + + if type(self.event) is CaptureEvent: + e = self.event # type: CaptureEvent + if self.game.is_player_attack(self.event): + e.player_attacking(cas=scrambled_cas, + escort=scrambled_sweep, + armor=scrambled_armor) + else: + e.player_defending(interceptors=scrambled_aircraft) + elif type(self.event) is InterceptEvent: + e = self.event # type: InterceptEvent + if self.game.is_player_attack(self.event): + e.player_attacking(interceptors=scrambled_aircraft) + else: + e.player_defending(escort=scrambled_aircraft) + elif type(self.event) is GroundInterceptEvent: + e = self.event # type: GroundInterceptEvent + e.player_attacking(e.to_cp.position.random_point_within(30000), strikegroup=scrambled_aircraft) + + self.game.initiate_event(self.event) + EventResultsMenu(self.window, self.parent, self.game, self.event) + + def update(self): + self.window.clear_right_pane() + row = 0 + + def label(text): + nonlocal row + Label(self.frame, text=text).grid(column=0, row=0) + + row += 1 + + def scrable_row(unit_type, unit_count): + nonlocal row + Label(self.frame, text="{} ({})".format(unit_type.id and unit_type.id or unit_type.name, unit_count)).grid(column=0, row=row) + e = Entry(self.frame) + e.grid(column=1, row=row) + + self.aircraft_scramble_entries[unit_type] = e + row += 1 + + base = None # type: Base + if self.event.attacker.name == self.game.player: + base = self.event.from_cp.base + else: + base = self.event.to_cp.base + + label("Aircraft") + for unit, count in base.aircraft.items(): + scrable_row(unit, count) + + Button(self.frame, text="Commit", command=self.start).grid(column=0, row=row) diff --git a/ui/eventresultsmenu.py b/ui/eventresultsmenu.py new file mode 100644 index 00000000..95e6785c --- /dev/null +++ b/ui/eventresultsmenu.py @@ -0,0 +1,61 @@ +import math + +from tkinter import * +from ui.window import * + +from userdata.debriefing_parser import * +from game.game import * +from game import event + + +class EventResultsMenu: + def __init__(self, window: Window, parent, game: Game, event: Event): + self.window = window + self.frame = window.right_pane + self.parent = parent + + self.game = game + self.event = event + + self.update() + + def simulate_result(self, player_factor: float, enemy_factor: float, result: bool): + def action(): + debriefing = Debriefing() + + def count_planes(groups: typing.List[FlyingGroup], mult: float) -> typing.Dict[UnitType, int]: + result = {} + for group in groups: + for unit in group.units: + result[unit.type] = result.get(unit.type, 0) + 1 * mult + + return {x: math.floor(y) for x, y in result.items()} + + player_planes = self.event.operation.mission.country(self.game.player).plane_group + enemy_planes = self.event.operation.mission.country(self.game.enemy).plane_group + + player_losses = count_planes(player_planes, player_factor) + enemy_losses = count_planes(enemy_planes, enemy_factor) + + debriefing.destroyed_units = { + self.game.player: player_losses, + self.game.enemy: enemy_losses, + } + + self.game.finish_event(self.event, debriefing) + self.game.pass_turn() + self.parent.update() + + return action + + def update(self): + self.window.clear_right_pane() + + Button(self.frame, text="no losses, succ", command=self.simulate_result(0, 1, True)).grid(row=0, column=0) + Button(self.frame, text="no losses, fail", command=self.simulate_result(0, 1, False)).grid(row=0, column=1) + + Button(self.frame, text="half losses, succ", command=self.simulate_result(0.5, 0.5, True)).grid(row=1, column=0) + Button(self.frame, text="half losses, fail", command=self.simulate_result(0.5, 0.5, False)).grid(row=1, column=1) + + Button(self.frame, text="full losses, succ", command=self.simulate_result(1, 0, True)).grid(row=2, column=0) + Button(self.frame, text="full losses, fail", command=self.simulate_result(1, 0, False)).grid(row=2, column=1) diff --git a/ui/mainmenu.py b/ui/mainmenu.py new file mode 100644 index 00000000..708e5ee8 --- /dev/null +++ b/ui/mainmenu.py @@ -0,0 +1,78 @@ +from tkinter import * +from tkinter.ttk import * + +from ui.window import * +from ui.eventmenu import * +from ui.basemenu import * + +from game.game import * + +class MainMenu: + def __init__(self, game: Game, window: Window): + self.image = PhotoImage(file="resources/caumap.gif") + self.game = game + self.window = window + + map = Label(window.left_pane, image=self.image) + map.grid(column=0, row=0) + + self.frame = self.window.right_pane + self.frame.grid_columnconfigure(0, weight=1) + self.update() + + def pass_turn(self): + self.game.pass_turn() + self.update() + + def start_event(self, event) -> typing.Callable: + return lambda: EventMenu(self.window, self, self.game, event) + + def go_cp(self, cp: ControlPoint) -> typing.Callable: + return lambda: BaseMenu(self.window, self, self.game, cp.base) + + def update(self): + self.window.clear_right_pane() + + row = 1 + + def label(text): + nonlocal row + Label(self.frame, text=text).grid(column=0, row=row, sticky=NW) + row += 1 + + def event_button(event, text): + nonlocal row + Button(self.frame, text=text, command=self.start_event(event)).grid(column=0, row=row, sticky=N) + row += 1 + + def cp_button(cp): + nonlocal row + title = "{}{}{}{}".format( + cp.name, + "^" * cp.base.total_planes, + "." * cp.base.total_armor, + "*" * cp.base.total_aa) + Button(self.frame, text=title, command=self.go_cp(cp)).grid(column=0, row=row, sticky=NW) + row += 1 + + Button(self.frame, text="Pass turn", command=self.pass_turn).grid(column=0, row=row, sticky=N); row += 1 + label("Budget: {}m".format(self.game.budget)) + + for event in self.game.events: + event_button(event, "{} {}".format(event.attacker.name != self.game.player and "!" or " ", event)) + + Separator(self.frame, orient='horizontal').grid(column=0, row=row, sticky=EW); row += 1 + for cp in self.game.theater.player_points(): + cp_button(cp) + + Separator(self.frame, orient='horizontal').grid(column=0, row=row, sticky=EW); row += 1 + for cp in self.game.theater.enemy_bases(): + title = "[{}] {}{}{}{}".format( + int(cp.base.strength * 10), + cp.name, + "^" * cp.base.total_planes, + "." * cp.base.total_armor, + "*" * cp.base.total_aa) + Label(self.frame, text=title).grid(column=0, row=row, sticky=NE) + row += 1 + diff --git a/ui/window.py b/ui/window.py new file mode 100644 index 00000000..8d0e64b9 --- /dev/null +++ b/ui/window.py @@ -0,0 +1,41 @@ +from tkinter import * + + +class Window: + image = None + left_pane = None # type: Frame + right_pane = None # type: Frame + + def __init__(self): + self.tk = Tk() + self.tk.grid_columnconfigure(0, weight=1) + self.tk.grid_rowconfigure(0, weight=1) + + self.frame = Frame(self.tk) + self.frame.grid(column=0, row=0, sticky=NSEW) + self.frame.grid_columnconfigure(0, minsize=300) + self.frame.grid_columnconfigure(1, minsize=300) + + self.frame.grid_columnconfigure(0, weight=0) + self.frame.grid_columnconfigure(1, weight=1) + self.frame.grid_rowconfigure(0, weight=1) + + self.left_pane = Frame(self.frame) + self.left_pane.grid(column=0, row=0, sticky=NSEW) + self.right_pane = Frame(self.frame) + self.right_pane.grid(column=1, row=0, sticky=NSEW) + + self.tk.focus() + + def clear_right_pane(self): + for x in self.right_pane.winfo_children(): + x.grid_remove() + + def clear(self): + for x in self.left_pane.winfo_children(): + x.grid_remove() + for x in self.right_pane.winfo_children(): + x.grid_remove() + + def run(self): + self.tk.mainloop() diff --git a/userdata/debriefing_parser.py b/userdata/debriefing_parser.py new file mode 100644 index 00000000..3d80aa6a --- /dev/null +++ b/userdata/debriefing_parser.py @@ -0,0 +1,12 @@ +import typing +import json + + +class Debriefing: + def __init__(self): + self.destroyed_units = {} # type: typing.Dict[str, typing.Dict[str, int]] + + def parse(self, path: str): + with open(path, "r") as f: + events = json.load(f) +