Click here to Skip to main content
15,893,564 members
Articles / Programming Languages / C#

Mars Mission (3) : structure interior editor

Rate me:
Please Sign up or sign in to vote.
4.94/5 (18 votes)
21 Mar 2011CPOL27 min read 46.6K   2.2K   14  
strategy/action game defending the solar system : collision detection between a polygon object moving inside a polygon container
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Mars_Mission
{
	#region enum_Actions
	public enum enuActions
	{
		shovel_dirt,
		Pilot_Ship,
		idle,
		_numActions
	};
	#endregion
	public enum enuActionResourceLocation { inHand, Inventory, nearby };
	public enum enuActionResourceType { Input, Interrupt, Output, _numActionResourceType };

	public enum enuAstronautProficiencies { pilot, engineer, geologist, chemist, _numAstronautProficiencies };
	
	public enum enuBorderTestResults { outSide, on, inSide }; // used to determine whether a solar-object is inside the visible rectangle on viewscreen

	public enum enuBuildImagesMode { init, solarObjects, defaulSolarObjects, Structures, solarShadow, shrapnel, quit };
	public enum enuCollisionResult { no_Collision, crash, land };
	public enum enuDGVCrew_Columns { name, piloting, engineering, chemistry, geology, resources, activities, details };
	
	public enum enuEfficiency { poor, moderate, good, excellent }
	public enum enuKeys { Alt, Control, Shift, D0, D1, D2, D3, D4, D5, D6, D7, D8, D9, Lock, Dampers, Damper_Vertical, Damper_Horizontal, Thrust_Forward, Thrust_Port, Thrust_Starboard, Thrust_Aft, ToggleLandingGear, Left, Right, Up, Down, _numKeys };
	public enum enuLanding_Gear_Configurations
	{
		Up,
		Drop,
		Down,
		Raise,
		_numCon
	}
	public enum enuLandscapeCrateredCellStep
	{
		A_TransitionUp,
		B_TransitionFlatEntering,
		C_TransitionDownEntering,
		D_FallIntoBowl,
		E_TransitionFlatMidway,
		F_Bowl,
		G_TransitionUpExiting,
		H_RiseOutOfBowl,
		I_TransitionFlatExiting,
		J_TransitionDownDeparting,
		K_TransitionFlatDeparting,
		L_RollingBetweenCraters,

		_numLandscapeCrateredCellStep
	};
	public enum enuLandscapeTerrainType { Rolling = 1, Rocky, Cratered, _numLandscapeTerrainType };
	public enum enuLeftRight { Left = 0, Right, Bottom, _numLeftRight };
	public enum enuLocation { Space, Orbit, Surface, Cave, Base, Ship, anywhere, SurfaceOrCave, _numLocations };
	public enum enuMode_Piloting { space, flying, Base };
	public enum enuMouseButtons { Left, Middle, Right };
	
	#region enuResources
	public enum enuResources
	{
		Hydrogen,
		Helium,
		Lithium,
		Berillium,
		Boron,
		Carbon,
		Nitrogen,
		Oxygen,
		Fluorine,
		Neon,
		Sodium,
		Magnesium,
		Aluminum,
		Silicon,
		Phosphorus,
		Sulfur,
		Chlorine,
		Argon,
		Potassium,
		Calcium,
		Scandium,
		Titanium,
		Vanadium,
		Chromium,
		Manganese,
		Iron,
		Cobalt,
		Nickel,
		Copper,
		Zinc,
		Gallium,
		Germanium,
		Arsenic,
		Selenium,
		Bromine,
		Krypton,
		Rubidium,
		Strontium,
		Yttrium,
		Zirconium,
		Niobium,
		Molybdenum,
		Technetium,
		Ruthenium,
		Rhodium,
		Palladium,
		Silver,
		Cadmium,
		Indium,
		Tin,
		Antimony,
		Tellurium,
		Iodine,
		Xenon,
		Cesium,
		Barium,
		Lanthanum,
		Hafnium,
		Tantalum,
		Tungsten,
		Rhenium,
		Osmium,
		Iridium,
		Platinum,
		Gold,
		Mercury,
		Thallium,
		Lead,
		Bismuth,
		Polonium,
		Astatine,
		Radon,
		Francium,
		Radium,
		Actinium,
		Rutherfordium,
		Dubnium,
		Seaborgium,
		Bohrium,
		Hassium,
		Meitnerium,
		Darmstadtium,
		Roentgenium,
		Cerium,
		Praseodymium,
		Neodymium,
		Promethium,
		Samarium,
		Europium,
		Gadolinium,
		Terbium,
		Dysprosium,
		Holmium,
		Erbium,
		Thulium,
		Ytterbium,
		Lutetium,
		Thorium,
		Protactinium,
		Uranium,
		Neptunium,
		Plutonium,
		Americium,
		Curium,
		Berkelium,
		Californium,
		Einsteinium,
		Fermium,
		Mendelevium,
		Nobelium,
		Lawrencium,
		__special__,
		CO,
		CO2,
		D,
		H2,
		H2O,
		N2,
		NH3,
		NO,
		O2,
		SO2,
		Radio,
		Shovel,
		broken_radio,
		tool_kit,
		antenna,
		solar_panel,
		transmitter,
		receiver,
		solar_array,
		Navigation_Console,
		Atmosphere_Compressor,
		Piloting_Experience,
		Engineering_Experience,
		Chemistry_Experience,
		Geology_Experience,
		_numResources
	};
	#endregion
	
	public enum enuResource_State { solid, liquid, gas, energy, _numResource_State };

	public enum enuResource_Type
	{
		element,
		molecule,
		tool,
		missile,
		weapon,
		component,
		_numTypeResource
	};

	public enum enuShipCommands { turnLeft, turnRight, Dampers, Damper_V, Damper_H, _numCommands };
	public enum enuShipCondition { Normal, crushed, destroyed }
	public enum enuShipModels { shuttle, fighter, transport, scout, saucer, _numShipModels };
	public enum enuShipThrusters { Aft, Fore, Port, Starboard };
	public enum enuShrapnelTypes { Shuttle, Fighter, standard, _numShrapnelTypes };
	
	public enum enuSolarObjects { Sun, Mercury, Venus, Earth, Luna, Mars, Phobos, Deimos, Jupiter, Io, Europa, Ganymede, Callisto, Amalthea, Himalia, Elara, Pasiphae, Sinope, Lysithea, Carme, Ananke, Leda, Thebe, Adrastea, Metis, Callirrhoe, Themisto, Magaclite, Taygete, Chaldene, Harpalyke, Kalyke, Iocaste, Erinome, Isonoe, Praxidike, Autonoe, Thyone, Hermippe, Aitne, Eurydome, Euanthe, Euporie, Orthosie, Sponde, Kale, Pasithee, Hegemone, Mneme, Aoede, Thelxinoe, Arche, Kallichore, Helike, Carpo, Eukelade, Cyllene, Kore, Herse, Saturn, Mimas, Enceladus, Tethys, Dione, Rhea, Titan, Hyperion, Iapetus, Phoebe, Janus, Epimetheus, Helene, Telesto, Calypso, Atlas, Prometheus, Pandora, Pan, Ymir, Paaliaq, Tarvos, Ijiraq, Suttungr, Kiviuq, Mundilfari, Albiorix, Skathi, Erriapus, Siarnaq, Thrymr, Narvi, Methone, Pallene, Polydeuces, Daphnis, Aegir, Bebhionn, Bergelmir, Bestla, Farbauti, Fenrir, Fornjot, Hati, Hyrrokkin, Kari, Loge, Skoll, Surtur, Anthe, Jamsaxa, Greip, Tarqeq, Aegaeon, Uranus, Ariel, Umbriel, Titania, Oberon, Miranda, Cordelia, Ophelia, Bianca, Cressida, Desdemona, Juliet, Portia, Rosalind, Belinda, Puck, Caliban, Sycorax, Prospero, Setebos, Stephano, Trinculo, Francisco, Margaret, Ferdinand, Perdita, Mab, Cupid, Neptune, Triton, Nereid, Naiad, Thalassa, Despina, Galatea, Larissa, Proteus, Nalimede, Psamathe, Sao, Laomedeia, Neso, Pluto, Charon, Nix, Hydra, Haumea, Hi_iaka, Namaka, Eris, Dysnomia, _numSolarObjects };
	public enum enuSortBy { Name, Pilot, Engineer, Chemist, Geologist, Resource, Activity };
	public enum enuStructureModels { Base, Terran_Base, _numStructureModels };
	public enum enuStructureInteriorCellType { noWall, Wall, _numStructureInteriorWallType };
	public enum enuStructureMoveVertical { Up, noMove, Down };
	public enum enuStructureMoveHorizontal { Left, noMove, Right };
	public enum enuTypeCaveCellWall { left, right, bottom }
	public enum enuTypeObject { Astronaut, Base, CaveCell, Cell, LandscapeCell, Ship, Shrapnel, SolarObject, StructureInterior, _numTypeObject };
	
	
			
	
	
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
CEO unemployable
Canada Canada
Christ Kennedy grew up in the suburbs of Montreal and is a bilingual Quebecois with a bachelor’s degree in computer engineering from McGill University. He is unemployable and currently living in Moncton, N.B. writing his next novel.

Comments and Discussions