CPUDecisions

 avatar
unknown
csharp
4 years ago
3.8 kB
6
Indexable
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public enum CPUStates { 
	// BUILDUP: pensado para ser estado inicial, hace todo baleanceado (economia, poder militar, y r&d), explorará
	//			buscando recursos y eliminando scouts del player.
	BUILDUP,
	// BROKE: recursos criticos
	BROKE,
	// THREATENED: el estado del jugador representa una amenaza para el estado actual de la CPU
	THREATENED,
	// ATTACKED: fue atacado
	ATTACKED,
	// ENDGAME: CPU esta por perder, podrá utilizar al monstruo grande como unidad normal (en terminos prácticos,
	//			esto no dará vuelta el juego, pero podria ser mas emocionante para el jugador, como el truco de vida baja
	//			en el doom del 2010+)
	ENDGAME
}

public enum CPUEconomyStrats { 
	// IMPROVE_INCOME: si las cosas que quiere hacer la cpu superan su ingreso, las dejara en espera y se dedicará
	//				   desarrollar tecnologias y a la caza de critters.
	//				   (si encuentra scouts humanos, los perseguira mas lejos)
	IMPROVE_INCOME,
	// DONT_CARE: no hay problemas economicos
	DONT_CARE,
	// SAVE_INCOME: mantiene un pozo de recursos, sin llegar a 0
	SAVE_INCOME,
	// FULLWAR: invierte todo en poder militar
	FULLWAR/*,
	LOWER_INCOME*/
}

public enum CPUMilitaryStrats { 
	BALANCED_UNITS,		// De todas un poco
	FOCUS_AERIAL,		// Mayormente hará unidades aereas
	FOCUS_FASTPACING,   // Mayormente hará unidades rapidas (perritos)
	FOCUS_HEAVYDMG      // Mayormente hará unidades que peguen fuerte (bola-gons)
}

public enum CPUActionGroupStrats {
	SHOCK_AND_PAVOR,	// Mitad del grupo ataca de frente, la otra por otra direccion en X tiempo.
	BACKSTAB,			// Grupo de unidades ataca por detras
	DISTRACTION,		// Grupo chico de unidades ataca un area lejana al area objetivo.
	FAST_RESPONSE,		// Grupo de unidades rapidas pequeño o media (BACKSTAB - PAVOR - GUARDIAN)
	TURTLE_BIGMONSTER,	// Escolta al monstruo gigante
	MINERAL_GUARDIAN	// Grupo chico campeando minerales.
}

public enum CPUActionGroupCompo { 
	BIG_GROUP,			// Grupo grande de unidades (unas 20?)
	MEDIUM_GROUP,		// Grupo mediano de unidades (unas 10?)
	SMALL_GROUP,		// Grupo chico de unidades (unas 5?)
	SCOUT_GROUP 		// Grupo de unidades rapidas (perros o pajaros), de 1 o mas unidades.
}

public enum CPUActionList {
	// HUNT_CRITTERS: envia unidades a matar fauna pa conseguir recursos.
	HUNT_CRITTERS = 5,
	// EXPLORE_SURROUNDINGS: mandará a una unidad a hacer un recorrido a cierto radio del monstruo grande.
	EXPLORE_SURROUNDINGS = 1,
	// HUNT_EXPLORERS: cazara unidades solitarias, si hay mas de X, se retirará al monstruo grande.
	HUNT_EXPLORERS = 8,
	// HUNT_BATALLIONS: cazara grupos de unidades, no se retirará, independiente del numero.
	HUNT_BATALLIONS = 20,
	// SEARCH_HUMANBASE: explorará por la base humana
	SEARCH_HUMANBASE = 15,
	// HUNT_HUMANBASE: enviará batallones de minions a la base humana
	HUNT_HUMANBASE = 20,
	// ACCUMULATE_FORCES: acumula poder militar
	ACCUMULATE_FORCES = 10,
	// ACCUMULATE_RESOURCES: acumula recursos (crea menos unidades militares para mantener un monedero)
	ACCUMULATE_RESOURCES = 10,
	// SPLIT_ARMY: toma X unidades de un grupo de accion y las pasa a otro.
	SPLIT_ARMY = 1,
	// GET_TECH: invierte en tecnología, decision puede ser aleatoria o de estancia (agresivo-defensivo-economico) [primeramente aleatorio]
	GET_TECH = 15,
	// EVOLVE: podria considerarse tecnologia tambien.
	//		   invierte en una evolucion
	EVOLVE = 10,
	// RETREAT: si el grupo de accion tiene poco hp se retirara
	//			en la medida que se acerque a la base humana su costo ira aumentando
	RETREAT = 5
}

/// <summary>
/// Métodos básicos para determinar la cantidad de unidades o recursos utilizados para las acciones
/// </summary>
public static class CPUDecisions {
	
}
Editor is loading...