2014-12-16 13:13:02 +00:00
|
|
|
#include "game.h"
|
|
|
|
|
|
|
|
#include <iostream>
|
|
|
|
#include <fstream>
|
|
|
|
|
2014-12-16 13:13:03 +00:00
|
|
|
void AddUnitToGame( Team team, char vis, uvector2 vec, CTTRTSGame& game )
|
2014-12-16 13:13:02 +00:00
|
|
|
{
|
|
|
|
CUnit unit = CUnit::GetUnitFromVis(vis);
|
|
|
|
unit.setPos( vec );
|
|
|
|
unit.setTeam(team);
|
|
|
|
game.AddUnit(std::move(unit));
|
|
|
|
}
|
|
|
|
|
2014-12-16 22:35:56 +00:00
|
|
|
void OutputGame( CTTRTSGame&& game )
|
2014-12-16 13:13:02 +00:00
|
|
|
{
|
|
|
|
std::ofstream output;
|
|
|
|
output.open (game.GetName() + ".txt");
|
|
|
|
output << game.GetStateAsString();
|
|
|
|
output.close();
|
2014-12-16 22:35:56 +00:00
|
|
|
|
|
|
|
forceResetUnitId();
|
2014-12-16 13:13:02 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
2014-12-16 22:35:56 +00:00
|
|
|
// Tiny 2v2 Game
|
2014-12-16 13:13:02 +00:00
|
|
|
{
|
2014-12-16 22:35:56 +00:00
|
|
|
CTTRTSGame game(7, 5);
|
|
|
|
game.SetName("Tiny2v2");
|
2014-12-16 13:13:02 +00:00
|
|
|
|
2014-12-16 13:13:03 +00:00
|
|
|
AddUnitToGame( Team::Blue, '>', uvector2(1, 1), game);
|
|
|
|
AddUnitToGame( Team::Blue, '>', uvector2(1, 3), game);
|
2014-12-16 13:13:02 +00:00
|
|
|
|
2014-12-16 22:35:56 +00:00
|
|
|
AddUnitToGame( Team::Red, '<', uvector2(5, 1), game);
|
|
|
|
AddUnitToGame( Team::Red, '<', uvector2(5, 3), game);
|
|
|
|
|
|
|
|
OutputGame(std::move(game));
|
|
|
|
}
|
|
|
|
|
|
|
|
// Basic 5v5 game
|
|
|
|
{
|
|
|
|
CTTRTSGame game(21, 11);
|
|
|
|
game.SetName("Basic5v5");
|
|
|
|
|
|
|
|
for ( ucoord_t y : { 1,3,5,7,9 } )
|
|
|
|
AddUnitToGame( Team::Blue, '>', uvector2(1, y), game);
|
|
|
|
|
|
|
|
for ( ucoord_t y : { 1,3,5,7,9 } )
|
|
|
|
AddUnitToGame( Team::Red, '<', uvector2(19, y), game);
|
|
|
|
|
|
|
|
OutputGame(std::move(game));
|
|
|
|
}
|
|
|
|
|
|
|
|
// Chess 10v10 game
|
|
|
|
{
|
|
|
|
CTTRTSGame game(8, 8);
|
|
|
|
game.SetName("Chess");
|
|
|
|
|
|
|
|
for ( ucoord_t y : { 0,1,2,3,4,5,6,7 } ) {
|
|
|
|
AddUnitToGame(Team::Blue, '>', uvector2(0, y), game);
|
|
|
|
AddUnitToGame(Team::Blue, '>', uvector2(1, y), game);
|
|
|
|
}
|
|
|
|
|
|
|
|
for ( ucoord_t y : { 0,1,2,3,4,5,6,7 } ) {
|
|
|
|
AddUnitToGame(Team::Red, '<', uvector2(6, y), game);
|
|
|
|
AddUnitToGame(Team::Red, '<', uvector2(7, y), game);
|
|
|
|
}
|
2014-12-16 13:13:02 +00:00
|
|
|
|
2014-12-16 22:35:56 +00:00
|
|
|
OutputGame(std::move(game));
|
2014-12-16 13:13:02 +00:00
|
|
|
}
|
|
|
|
}
|