public static void shipStatusReport(SpaceShip playerSpaceShip) { Console.WriteLine("Ship Status Report"); Console.WriteLine("Current Shipwide Total Hit Points " + playerSpaceShip.currentTotalHitPoints); int powerRequirement = playerSpaceShip.shipOperationalPowerConsumption(); Console.WriteLine("Current Power Requirement " + powerRequirement); Console.WriteLine("Total Ship Mass: " + playerSpaceShip.totalMass); }
public static void executePowerTick(SpaceShip playerSpaceShip) { playerSpaceShip.primeGeneratorWithFuel(); playerSpaceShip.runGenerator(); playerSpaceShip.enforceValidityOnHierarchy(); playerSpaceShip.distributePower(); playerSpaceShip.checkForOverheating(); playerSpaceShip.powerBleed(); playerSpaceShip.checkAirForLeaks(); }
public static void testPowerSystem(SpaceShip playerSpaceShip) { Console.WriteLine("How Much fuel for this test?"); string fuelInput = Console.ReadLine(); int testLevel = Int32.Parse(fuelInput); bool keepGoing = true; if (playerSpaceShip.shipType == "Fighter") { playerSpaceShip.getSpecificRoom("Fighter Cockpit").fuelStore.fuelLevel = testLevel; //playerSpaceShip.fighterCockpit.fuelStore.fuelLevel = testLevel; } if (playerSpaceShip.shipType != "Fighter") { playerSpaceShip.getSpecificRoom("Engineering").fuelStore.fuelLevel = testLevel; //playerSpaceShip.getSpecificRoom("Engineering").fuelStore.fuelLevel = testLevel; } while (keepGoing == true) { TimeManagementMethods.executePowerTick(playerSpaceShip); //Console.ReadLine(); //ReportingMethods.shipSystemReport(playerSpaceShip.fighterCockpit.aI); //ReportingMethods.shipSystemReport(playerSpaceShip.engineering.shields); //ReportingMethods.shipSystemReport(playerSpaceShip.bridge.aI); if (playerSpaceShip.shipType == "Fighter") { int storedSystemPower = playerSpaceShip.shipStoredPower(); if (playerSpaceShip.getSpecificRoom("Fighter Cockpit").fuelStore.fuelLevel <= 0 && playerSpaceShip.getSpecificShipSystem("Capacitor").currentPowerStored <= 0 && storedSystemPower <= 0) { keepGoing = false; } } if (playerSpaceShip.shipType != "Fighter") { int storedSystemPower = playerSpaceShip.shipStoredPower(); if (playerSpaceShip.getSpecificRoom("Engineering").fuelStore.fuelLevel <= 0 && playerSpaceShip.getSpecificShipSystem("Capacitor").currentPowerStored <= 0 && storedSystemPower <= 0) { keepGoing = false; } } } }
public static void executeMainTick(SpaceShip playerSpaceShip) { executePowerTick(playerSpaceShip); playerInteractionTime(); }
public static void setShipSystems(SpaceShip playerSpaceShip) { if (playerSpaceShip.getSpecificRoom("Fighter Cockpit") != null) { playerSpaceShip.getSpecificRoom("Fighter Cockpit").pilotControls = new ShipSystem("Pilot Controls", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").temperatureControl = new ShipSystem("Temperature Control", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").airScrubber = new ShipSystem("Air Scrubber", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").heatExchanger = new ShipSystem("Heat Exchanger", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").shields = new ShipSystem("Shields", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").engines = new ShipSystem("Engines", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").fuelStore = new ShipSystem("Fuel Store", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").transmitter = new ShipSystem("Transmitter", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").receiver = new ShipSystem("Receiver", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").cryptography = new ShipSystem("Cryptography", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").powerDistributor = new ShipSystem("Power Distributor", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").powerGenerator = new ShipSystem("Power Generator", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); playerSpaceShip.getSpecificRoom("Fighter Cockpit").shipCapacitor = new ShipSystem("Capacitor", playerSpaceShip.getSpecificRoom("Fighter Cockpit").roomType); } if (playerSpaceShip.getSpecificRoom("Bridge") != null) { playerSpaceShip.getSpecificRoom("Bridge").pilotControls = new ShipSystem("Pilot Controls", playerSpaceShip.getSpecificRoom("Bridge").roomType); playerSpaceShip.getSpecificRoom("Bridge").aI = new ShipSystem("A.I.", playerSpaceShip.getSpecificRoom("Bridge").roomType); } if (playerSpaceShip.getSpecificRoom("Engineering") != null) { playerSpaceShip.getSpecificRoom("Engineering").shields = new ShipSystem("Shields", playerSpaceShip.getSpecificRoom("Engineering").roomType); playerSpaceShip.getSpecificRoom("Engineering").engines = new ShipSystem("Engines", playerSpaceShip.getSpecificRoom("Engineering").roomType); playerSpaceShip.getSpecificRoom("Engineering").powerGenerator = new ShipSystem("Power Generator", playerSpaceShip.getSpecificRoom("Engineering").roomType); playerSpaceShip.getSpecificRoom("Engineering").fabricator = new ShipSystem("Fabricator", playerSpaceShip.getSpecificRoom("Engineering").roomType); playerSpaceShip.getSpecificRoom("Engineering").wasteDisposal = new ShipSystem("Waste Disposal", playerSpaceShip.getSpecificRoom("Engineering").roomType); playerSpaceShip.getSpecificRoom("Engineering").fuelStore = new ShipSystem("Fuel Store", playerSpaceShip.getSpecificRoom("Engineering").roomType); playerSpaceShip.getSpecificRoom("Engineering").powerDistributor = new ShipSystem("Power Distributor", playerSpaceShip.getSpecificRoom("Engineering").roomType); playerSpaceShip.getSpecificRoom("Engineering").shipCapacitor = new ShipSystem("Capacitor", playerSpaceShip.getSpecificRoom("Engineering").roomType); //playerSpaceShip.engineering.repairBay = new ShipSystem ("Repair Bay", playerSpaceShip.bridge.roomType); } if (playerSpaceShip.getSpecificRoom("Life Support") != null) { playerSpaceShip.getSpecificRoom("Life Support").airScrubber = new ShipSystem("Air Scrubber", playerSpaceShip.getSpecificRoom("Life Support").roomType); playerSpaceShip.getSpecificRoom("Life Support").gravityGenerator = new ShipSystem("Gravity Generator", playerSpaceShip.getSpecificRoom("Life Support").roomType); playerSpaceShip.getSpecificRoom("Life Support").temperatureControl = new ShipSystem("Temperature Control", playerSpaceShip.getSpecificRoom("Life Support").roomType); playerSpaceShip.getSpecificRoom("Life Support").airPump = new ShipSystem("Air Pump", playerSpaceShip.getSpecificRoom("Life Support").roomType); } if (playerSpaceShip.getSpecificRoom("Comms") != null) { playerSpaceShip.getSpecificRoom("Comms").transmitter = new ShipSystem("Transmitter", playerSpaceShip.getSpecificRoom("Comms").roomType); playerSpaceShip.getSpecificRoom("Comms").receiver = new ShipSystem("Receiver", playerSpaceShip.getSpecificRoom("Comms").roomType); playerSpaceShip.getSpecificRoom("Comms").cryptography = new ShipSystem("Cryptography", playerSpaceShip.getSpecificRoom("Comms").roomType); } if (playerSpaceShip.getSpecificRoom("Fire Control") != null) { playerSpaceShip.getSpecificRoom("Fire Control").weaponsTargeting = new ShipSystem("Weapons Targeting", playerSpaceShip.getSpecificRoom("Fire Control").roomType); playerSpaceShip.getSpecificRoom("Fire Control").weaponsFiring = new ShipSystem("Weapons Firing", playerSpaceShip.getSpecificRoom("Fire Control").roomType); } if (playerSpaceShip.getSpecificRoom("Fire Control 2") != null) { playerSpaceShip.getSpecificRoom("Fire Control 2").weaponsTargeting = new ShipSystem("Weapons Targeting", playerSpaceShip.getSpecificRoom("Fire Control 2").roomType); playerSpaceShip.getSpecificRoom("Fire Control 2").weaponsFiring = new ShipSystem("Weapons Firing", playerSpaceShip.getSpecificRoom("Fire Control 2").roomType); } if (playerSpaceShip.getSpecificRoom("Fire Control 3") != null) { playerSpaceShip.getSpecificRoom("Fire Control 3").weaponsTargeting = new ShipSystem("Weapons Targeting", playerSpaceShip.getSpecificRoom("Fire Control 3").roomType); playerSpaceShip.getSpecificRoom("Fire Control 3").weaponsFiring = new ShipSystem("Weapons Firing", playerSpaceShip.getSpecificRoom("Fire Control 3").roomType); } if (playerSpaceShip.getSpecificRoom("Fire Control 4") != null) { playerSpaceShip.getSpecificRoom("Fire Control 4").weaponsTargeting = new ShipSystem("Weapons Targeting", playerSpaceShip.getSpecificRoom("Fire Control 4").roomType); playerSpaceShip.getSpecificRoom("Fire Control 4").weaponsFiring = new ShipSystem("Weapons Firing", playerSpaceShip.getSpecificRoom("Fire Control 4").roomType); } if (playerSpaceShip.getSpecificRoom("Medibay") != null) { playerSpaceShip.getSpecificRoom("Medibay").surgeryTable = new ShipSystem("Surgery Table", playerSpaceShip.getSpecificRoom("Medibay").roomType); } if (playerSpaceShip.getSpecificRoom("Cargo Hold") != null) { } if (playerSpaceShip.getSpecificRoom("Shuttle Bay") != null) { playerSpaceShip.getSpecificRoom("Shuttle Bay").hangar = new ShipSystem("Hangar", playerSpaceShip.getSpecificRoom("Shuttle Bay").roomType); playerSpaceShip.getSpecificRoom("Shuttle Bay").repairBay = new ShipSystem("Repair Bay", playerSpaceShip.getSpecificRoom("Shuttle Bay").roomType); } }
public static void setShipRooms(SpaceShip playerSpaceShip) { playerSpaceShip.rooms = new List<Room>(); if (playerSpaceShip.shipType == "Fighter") { playerSpaceShip.rooms.Add (new Room ("Fighter Cockpit")); playerSpaceShip.isFighter = true; } else { playerSpaceShip.isFighter = false; } if (playerSpaceShip.shipType == "Shuttle") { Room bridge = new Room("Bridge"); playerSpaceShip.rooms.Add (bridge); playerSpaceShip.rooms.Add ( new Room("Engineering")); playerSpaceShip.rooms.Add ( new Room("Life Support")); playerSpaceShip.rooms.Add ( new Room("Comms")); playerSpaceShip.rooms.Add ( new Room("Fire Control")); playerSpaceShip.rooms.Add ( new Room("Cargo Hold")); } if (playerSpaceShip.shipType == "Frigate") { playerSpaceShip.rooms.Add ( new Room("Bridge")); playerSpaceShip.rooms.Add ( new Room("Engineering")); playerSpaceShip.rooms.Add ( new Room("Life Support")); playerSpaceShip.rooms.Add ( new Room("Comms")); playerSpaceShip.rooms.Add ( new Room("Fire Control")); playerSpaceShip.rooms.Add ( new Room("Fire Control 2")); playerSpaceShip.rooms.Add ( new Room("Medibay")); } if (playerSpaceShip.shipType == "Cruiser") { playerSpaceShip.rooms.Add ( new Room("Bridge")); playerSpaceShip.rooms.Add ( new Room("Engineering")); playerSpaceShip.rooms.Add ( new Room("Life Support")); playerSpaceShip.rooms.Add ( new Room("Comms")); playerSpaceShip.rooms.Add ( new Room("Fire Control")); playerSpaceShip.rooms.Add ( new Room("Fire Control 2")); playerSpaceShip.rooms.Add ( new Room("Fire Control 3")); playerSpaceShip.rooms.Add ( new Room("Medibay")); playerSpaceShip.rooms.Add ( new Room("Shuttle Bay")); } if (playerSpaceShip.shipType == "Capital") { playerSpaceShip.rooms.Add ( new Room("Bridge")); playerSpaceShip.rooms.Add ( new Room("Engineering")); playerSpaceShip.rooms.Add ( new Room("Life Support")); playerSpaceShip.rooms.Add ( new Room("Comms")); playerSpaceShip.rooms.Add ( new Room("Fire Control")); playerSpaceShip.rooms.Add ( new Room("Fire Control 2")); playerSpaceShip.rooms.Add ( new Room("Fire Control 3")); playerSpaceShip.rooms.Add ( new Room("Fire Control 4")); playerSpaceShip.rooms.Add ( new Room("Medibay")); playerSpaceShip.rooms.Add ( new Room("Shuttle Bay")); } }
public static SpaceShip initialShipCreation() { Console.WriteLine("Please name your vessel"); string shipName = Console.ReadLine(); SpaceShip playerSpaceShip = new SpaceShip(shipName); playerSpaceShip.shipName = shipName; return playerSpaceShip; }
public static void chooseShipClass(SpaceShip playerSpaceShip) { Console.WriteLine("What class of vessel do you want?"); Console.WriteLine(""); Console.WriteLine("A: Fighter"); Console.WriteLine("B: Shuttle"); Console.WriteLine("C: Frigate"); Console.WriteLine("D: Cruiser"); Console.WriteLine("E: Capital"); Console.WriteLine(""); bool isInputValid = false; string shipClassInput = Console.ReadLine(); while (isInputValid == false) { switch (shipClassInput) { case "A": playerSpaceShip.shipType = "Fighter"; playerSpaceShip.maxStructureHitPoints = 1000; playerSpaceShip.maxTotalHitPoints = 0; playerSpaceShip.operationalHitPointThreshold = 0; playerSpaceShip.structuralAirPressure = 26; playerSpaceShip.structureMass = 1000; //playerSpaceShip.requiredRooms = new string[1] { "Fighter Cockpit" }; isInputValid = true; break; case "B": playerSpaceShip.shipType = "Shuttle"; playerSpaceShip.maxStructureHitPoints = 10000; playerSpaceShip.maxTotalHitPoints = 0; playerSpaceShip.operationalHitPointThreshold = 0; //playerSpaceShip.spaceShipPowerOverhead = 0; playerSpaceShip.structureMass = 10000; playerSpaceShip.structuralAirPressure = 26; //playerSpaceShip.requiredRooms = new string[6] { "Bridge", "Engineering", "Life Support", "Comms", "Fire Control", "Cargo Hold" }; isInputValid = true; break; case "C": playerSpaceShip.shipType = "Frigate"; playerSpaceShip.maxStructureHitPoints = 100000; playerSpaceShip.maxTotalHitPoints = 0; playerSpaceShip.operationalHitPointThreshold = 0; playerSpaceShip.structuralAirPressure = 26; //playerSpaceShip.spaceShipPowerOverhead = 0; playerSpaceShip.structureMass = 100000; //playerSpaceShip.requiredRooms = new string[7] { "Bridge", "Engineering", "Life Support", "Comms", "Fire Control", "Fire Control 2", "Medibay" }; isInputValid = true; break; case "D": playerSpaceShip.shipType = "Cruiser"; playerSpaceShip.maxStructureHitPoints = 1000000; playerSpaceShip.maxTotalHitPoints = 0; playerSpaceShip.operationalHitPointThreshold = 0; playerSpaceShip.structuralAirPressure = 26; //playerSpaceShip.spaceShipPowerOverhead = 0; playerSpaceShip.structureMass = 1000000; //playerSpaceShip.requiredRooms = new string[9] { "Bridge", "Engineering", "Life Support", "Comms", "Fire Control", "Fire Control 2", "Fire Control 3", "Medibay", "Shuttle Bay" }; isInputValid = true; break; case "E": playerSpaceShip.shipType = "Capital"; playerSpaceShip.maxStructureHitPoints = 10000000; playerSpaceShip.maxTotalHitPoints = 0; playerSpaceShip.operationalHitPointThreshold = 0; playerSpaceShip.structuralAirPressure = 26; //playerSpaceShip.spaceShipPowerOverhead = 0; playerSpaceShip.structureMass = 10000000; //playerSpaceShip.requiredRooms = new string[10] { "Bridge", "Engineering", "Life Support", "Comms", "Fire Control", "Fire Control 2", "Fire Control 3", "Fire Control 4", "Medibay", "Shuttle Bay" }; isInputValid = true; break; default: Console.WriteLine("That is not a valid selection, please try again."); shipClassInput = Console.ReadLine(); break; } } }