Ignore:
Timestamp:
Aug 27, 2011, 1:56:46 AM (13 years ago)
Author:
dportnoy <devnull@…>
Branches:
master
Children:
331d180
Parents:
511177b
Message:

Added cities to the game, moved the map to a new static class, and added incomplete support for capturing cities with soldiers.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/com/medievaltech/advancewars/GameView.java

    r511177b r41c11dd  
    2222       
    2323        //maybe make this private and make an accessor for it
    24         public Map mMap;
     24        //public Map mMap;
    2525       
    2626        public Tile grassTile, oceanTile;
     
    8383            mSelectionPaint.setAntiAlias(true);
    8484            mSelectionPaint.setARGB(255, 255, 127, 0);
     85           
     86            Player.neutralColor = new Paint();
     87            Player.neutralColor.setAntiAlias(true);
     88            Player.neutralColor.setARGB(255, 127, 127, 127);
    8589           
    8690            wndMainMenu = new com.medievaltech.gui.Window(0, 0, 320, 450);;
     
    9498            oceanTile = new Tile(mTilePaint2, TerrainType.SEA);
    9599           
    96             mMap = new Map(grassTile, 6, 8, new Point(10, 25));
     100            Static.map = new Map(grassTile, 6, 8, new Point(10, 25));
    97101           
    98102            boolean land = true;
    99103           
    100             for(int x=0; x<mMap.getWidth(); x++) {
    101                         for(int y=0; y<mMap.getHeight(); y++) {
     104            for(int x=0; x<Static.map.getWidth(); x++) {
     105                        for(int y=0; y<Static.map.getHeight(); y++) {
    102106                                if(land)
    103                                         mMap.setTile(x, y, new Tile(grassTile, new Point(x, y)));
     107                                        Static.map.setTile(x, y, new Tile(grassTile, new Point(x, y)));
    104108                                else
    105                                         mMap.setTile(x, y, new Tile(oceanTile, new Point(x, y)));
     109                                        Static.map.setTile(x, y, new Tile(oceanTile, new Point(x, y)));
    106110                                land = !land;
    107111                        }
     
    112116            enemy = new Player("Comp", mUnitPaint2);
    113117           
    114             mMap.getTile(0, 0).addUnit(new Soldier(enemy));
    115             mMap.getTile(2, 3).addUnit(new Soldier(humanPlayer));
    116             mMap.getTile(5, 6).addUnit(new Soldier(humanPlayer));
     118            Static.map.getTile(0, 0).addUnit(new Soldier(enemy));
     119            Static.map.getTile(2, 3).addUnit(new Soldier(humanPlayer));
     120            Static.map.getTile(5, 6).addUnit(new Soldier(humanPlayer));
     121           
     122            Static.map.getTile(4, 4).addBuilding(new City());
    117123           
    118124            mTurn = Turn.YOUR_TURN;
     
    201207                       
    202208                        //any unit that's in the way is removed (needs to be changed eventuallyy)
    203                         thread.mMap.getTile(x, y).removeUnit();
    204                                 thread.mMap.getTile(x, y+1).addUnit(cur);
     209                        Static.map.getTile(x, y).removeUnit();
     210                        Static.map.getTile(x, y+1).addUnit(cur);
    205211                        }
    206212                        Log.i("AdvanceWars", "finished moving enemy units");
     
    226232                        mTextPaint.setTextSize(12);
    227233               
    228                 mMap.draw(canvas);
     234                        Static.map.draw(canvas);
    229235               
    230236                if(selectedUnit != null) {
     
    234240                }
    235241               
    236                 mMap.drawUnits(canvas);
     242                Static.map.drawBuildings(canvas);
     243                Static.map.drawUnits(canvas);
    237244               
    238245                        break;
     
    291298                                int offsetY = Integer.parseInt(offset.substring(offset.indexOf("x")+1));
    292299                               
    293                                 thread.mMap = new Map(thread.grassTile, width, height, new Point(offsetX, offsetY));
     300                                Static.map = new Map(thread.grassTile, width, height, new Point(offsetX, offsetY));
    294301                               
    295302                                Log.i("GameSave", "Created the map");
     
    302309                                                TerrainType type = TerrainType.values()[Integer.parseInt(arr[y])];
    303310                                                if(type.equals(TerrainType.LAND))
    304                                                         thread.mMap.setTile(x, y, new Tile(thread.grassTile, new Point(10, 25)));
     311                                                        Static.map.setTile(x, y, new Tile(thread.grassTile, new Point(10, 25)));
    305312                                                else
    306                                                         thread.mMap.setTile(x, y, new Tile(thread.oceanTile, new Point(10, 25)));
     313                                                        Static.map.setTile(x, y, new Tile(thread.oceanTile, new Point(10, 25)));
    307314                                        }
    308315                                }
     
    316323                                        Player humanPlayer = new Player("Human", mGame.mThread.mUnitPaint1);
    317324                                       
    318                                         mGame.mThread.mMap.getTile(x, y).addUnit(new Soldier(humanPlayer));
     325                                        Static.map.getTile(x, y).addUnit(new Soldier(humanPlayer));
    319326                                }
    320327                               
     
    331338                        Log.i("AdvanceWars", "Touch event detected on battle map");
    332339                       
    333                         if(event.getX() >= thread.mMap.offset.x && event.getY() >= thread.mMap.offset.y) {
    334                                 int x = ((int)event.getX() - thread.mMap.offset.x) / 50;
    335                                 int y = ((int)event.getY() - thread.mMap.offset.y) / 50;
     340                        if(event.getX() >= Static.map.offset.x && event.getY() >= Static.map.offset.y) {
     341                                int x = ((int)event.getX() - Static.map.offset.x) / 50;
     342                                int y = ((int)event.getY() - Static.map.offset.y) / 50;
    336343                               
    337                                 Unit target = thread.mMap.getTile(x, y).currentUnit;
     344                                Unit target = Static.map.getTile(x, y).currentUnit;
    338345                               
    339346                                if(thread.selectedUnit != null && thread.selectedUnit.getMovementRange().contains(new Point(x, y))) {
    340347                                        if(target == null || target == thread.selectedUnit) {
    341                                                         thread.mMap.getTile(thread.selectedUnit.location.x, thread.selectedUnit.location.y).removeUnit();
    342                                                         thread.mMap.getTile(x, y).addUnit(thread.selectedUnit);
     348                                                        Static.map.getTile(thread.selectedUnit.location.x, thread.selectedUnit.location.y).removeUnit();
     349                                                        Static.map.getTile(x, y).addUnit(thread.selectedUnit);
    343350                                        }else {
    344351                                                // the target contains another unit. If the unit is enemy-controlled, attack it
Note: See TracChangeset for help on using the changeset viewer.