public void initialize()
 {
     this.mainWindowPosition     = new Position(Configurations.getInstance.mainWindowPosition.x, Configurations.getInstance.mainWindowPosition.y);
     this.mainWindowDimensions   = new Dimensions(Configurations.getInstance.mainWindowDimensions.width, Configurations.getInstance.mainWindowDimensions.height);
     this.subWindowPosition      = new Position(Configurations.getInstance.subWindowPosition.x, Configurations.getInstance.subWindowPosition.y);
     this.subWindowDimensions    = new Dimensions(Configurations.getInstance.subWindowDimensions.width, Configurations.getInstance.subWindowDimensions.height);
     this.mapPosition            = new Position(0, 0);
     this.mainWindowFrame        = new Frame(Configurations.getInstance.mainWindowDimensions,
                                             Configurations.getInstance.mainWindowPosition,
                                             Configurations.getInstance.mainWindowBorders);
 }
Beispiel #2
0
        public int createCharacter(Position position, string typeOfCharacter)
        {
            int newCreatureID = EntityManager.getInstance.createEntity(typeOfCharacter);
            EntityManager.getInstance.getEntity(newCreatureID).currentPosition.x = position.x;
            EntityManager.getInstance.getEntity(newCreatureID).currentPosition.y = position.y;

            EntityManager.getInstance.getEntity(newCreatureID).previousPosition.x = position.x;
            EntityManager.getInstance.getEntity(newCreatureID).previousPosition.y = position.y;
            entityPositionMap.Add(generatePositionString(position), EntityManager.getInstance.getEntity(newCreatureID));
            return newCreatureID;
        }
Beispiel #3
0
 public Panel(String title, 
                   ConsoleColor titleColor, 
                   ConsoleColor fieldsColor, 
                   ConsoleColor valuesColor, 
                   Object obj, 
                   Position position, 
                   Dimensions dimensions, 
                   BorderSymbols borders)
 {
     this.title = title;
     this.titleColor = titleColor;
     this.fieldsColor = fieldsColor;
     this.valuesColor = valuesColor;
     this.obj = obj;
     this.position = position;
     this.dimensions = dimensions;
     this.borders = borders;
     //need to error check here to make sure the position
     //and dimension passed do not exceed the max width
     //of the console screen buffer.
 }
Beispiel #4
0
        private Position generateValidPosition()
        {
            Random r = new Random();
            int x = MapManager.getInstance.getCurrentMap().width;
            int y = MapManager.getInstance.getCurrentMap().height;
            Position result = new Position(r.Next(0, x), r.Next(0, y));

            while (CollisionManager.getInstance.collisionCheck(result))
            {
                result.x = r.Next(0, x);
                result.y = r.Next(0, y);
            }

            return result;
        }
Beispiel #5
0
 public Entity getEntityByPosition(Position position)
 {
     if (entityPositionMap.ContainsKey(generatePositionString(position)))
     {
         return entityPositionMap[generatePositionString(position)];
     }
     return null;
 }
Beispiel #6
0
 public string generatePositionString(Position position)
 {
     return position.x.ToString() + "+" + position.y.ToString();
 }
Beispiel #7
0
 public bool collisionResponse(int ID, Position position)
 {
     return collisionResponse(ID, position.x, position.y);
 }
Beispiel #8
0
 //these versions are called for just checking with no resolutions.
 public bool collisionCheck(Position position)
 {
     return collisionCheck(position.x, position.y);
 }
        public bool updateMapPosition(int ID)
        {
            Position entitysPosition = new Position(normalizeEntityPosition(EntityManager.getInstance.getEntity(ID), true));
            if (entitysPosition.x < this.subWindowPosition.x && mapPosition.x > 0)
            {
                //DrawManager.getInstance.clearMap();
                mapPosition.x--;
                //DrawManager.getInstance.drawMap();
                //InputActions.getInstance.undoEntityMove(ID);
                return true;
            }

            if (entitysPosition.y < this.subWindowPosition.y && mapPosition.y > 0)
            {
                //DrawManager.getInstance.clearMap();
                mapPosition.y--;
                //DrawManager.getInstance.drawMap();
                //InputActions.getInstance.undoEntityMove(ID);
                return true;
            }

            if (entitysPosition.x > this.subWindowPosition.x + this.subWindowDimensions.width - 1 && mapPosition.x < MapManager.getInstance.getCurrentMap().width - mainWindowDimensions.width + Configurations.getInstance.BORDER_SIZE * 2)
            {
                //DrawManager.getInstance.clearMap();
                mapPosition.x++;
                //DrawManager.getInstance.drawMap();
                //InputActions.getInstance.undoEntityMove(ID);
                return true;
            }

            if (entitysPosition.y > this.subWindowPosition.y + this.subWindowDimensions.height - 1 && mapPosition.y < MapManager.getInstance.getCurrentMap().height - mainWindowDimensions.height + Configurations.getInstance.BORDER_SIZE * 2)
            {
               // DrawManager.getInstance.clearMap();
                mapPosition.y++;
                //DrawManager.getInstance.drawMap();
                //InputActions.getInstance.undoEntityMove(ID);
                return true;
            }
            return false;
        }
Beispiel #10
0
 public Entity(int ID, EntityTypes entityType, bool combatFlag, char symbol, string name, Stats stats, Position currentPosition, Position previousPosition, ConsoleColor color, bool alive, bool show)
 {
     initialize(ID, entityType, combatFlag, symbol, name, stats, currentPosition, previousPosition, color, alive, show);
     moved = true;
 }
Beispiel #11
0
 public void initialize(int ID, EntityTypes entityType, bool combatFlag, char symbol, string name, Stats stats, Position currentPosition, Position previousPosition, ConsoleColor color, bool alive, bool show)
 {
     this.ID                 = ID;
     this.entityType         = entityType;
     this.combatFlag         = combatFlag;
     this.name               = name;
     this.stats              = stats;
     this.symbol             = symbol;
     this.currentPosition    = currentPosition;
     this.previousPosition   = previousPosition;
     this.color              = color;
     this.alive              = alive;
     this.show               = true;
     this.inventory          = new Inventory();
 }
Beispiel #12
0
 public Position(Position position)
 {
     initialize(position.x, position.y);
 }
Beispiel #13
0
 public Frame(Dimensions dimensions, Position position, BorderSymbols borders)
 {
     this.dimensions = dimensions;
     this.position = position;
     this.borders = borders;
 }
Beispiel #14
0
 public void drawMapPosition(Position position)
 {
     ConsoleColor original = Console.ForegroundColor;
     Console.ForegroundColor = MapManager.getInstance.getCurrentMap().entityArray[position.x][position.y].color;
     Utilities.writeSymbol(GameWindowManager.getInstance.normalizeX(position.x), GameWindowManager.getInstance.normalizeY(position.y), MapManager.getInstance.getCurrentMap().entityArray[position.x][position.y].symbol);
     Console.ForegroundColor = original;
 }
Beispiel #15
0
        public void initialize()
        {
            fileCollisionMapping        = "collisionMappings.txt";
            fileInput                   = "input.txt";
            fileLevelingStats           = "levelingDefault.txt";
            mapList                     = "mapList.txt";
            NPCDialogFileName           = "NPCDialogStrings.txt";
            isInitialized               = true;

            shotType                    = "FireShot";

            mainWindowDimensions        = new Dimensions(48, 32);
            mainWindowPosition          = new Position((Console.WindowWidth / 2) - (int)Math.Floor((double)(mainWindowDimensions.width / 2)), 1);
            mainWindowBorders           = new BorderSymbols("-", "-", "|", "|", ConsoleColor.Green, ConsoleColor.Green, ConsoleColor.Green, ConsoleColor.Green);
            //mainWindowPosition        = new Position(5, 5);
            subWindowDimensions         = new Dimensions((int) Math.Floor((double)(mainWindowDimensions.width / 2.0)) - 1,(int) Math.Floor((double)(mainWindowDimensions.height / 2.0)) - 1);
            subWindowPosition           = new Position(mainWindowPosition.x + (int)(mainWindowDimensions.width / 2.0) - (int)Math.Floor((double)(subWindowDimensions.width / 2.0)), mainWindowPosition.y + (int)(mainWindowDimensions.height / 2.0) - (int)Math.Floor((double)(subWindowDimensions.height / 2.0)));
            //subWindowPosition         = new Position(10, 10);

            StatsPanel                  = new Position(mainWindowPosition.x + mainWindowDimensions.width + 2, 1);
            //StatsPanel                = new Position(70, 5);
            GameTitle                   = "ASCII RPG: The Last Stance";
            ConsoleBufferWidth          = 100;
            ConsoleBufferHeight         = 80;
            ConsoleWidth                = 80;
            ConsoleHeight               = 50;

            logWindowPosition           = new Position(mainWindowPosition.x, mainWindowPosition.y + mainWindowDimensions.height + 2);
            logWindowDimensions = new Dimensions(mainWindowDimensions.width, 12);

            logTabPanel = new TabPanel();
            logTabPanel.position = new Position(logWindowPosition.x, logWindowPosition.y - 1);

            logTabPanel.addTab(LogTypes.GeneralLog, 'G', "General", ConsoleColor.Magenta);
            logTabPanel.addTab(LogTypes.BattleLog, 'B', "Battle", ConsoleColor.DarkRed);
            logTabPanel.addTab(LogTypes.ChatLog, 'C', "Chat", ConsoleColor.Green);

            ConsoleColor initialLogBorderColor = logTabPanel.tabs.First().Value.Third;
            logWindowBorders = new BorderSymbols("-", "-", "|", "|", initialLogBorderColor, initialLogBorderColor, initialLogBorderColor, initialLogBorderColor);
        }