Index: res/values/strings.xml
===================================================================
--- res/values/strings.xml	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ res/values/strings.xml	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -3,4 +3,5 @@
     <string name="hello">Hello World, advancewars!</string>
     <string name="app_name">Advance Wars</string>
+    <string name="menu_end_turn">End Turn</string>
     <string name="menu_save">Save</string>
     <string name="menu_main">Main Menu</string>
Index: src/com/medievaltech/advancewars/Game.java
===================================================================
--- src/com/medievaltech/advancewars/Game.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/advancewars/Game.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -15,12 +15,5 @@
 
 public class Game extends Activity {
-	private static final int MENU_SAVE = 1;
-	private static final int MENU_MAIN = 2;
-    private static final int MENU_EXIT = 3;
-
-    /** A handle to the thread that's actually running the animation. */
     public DrawingThread mThread;
-
-    /** A handle to the View in which the game is running. */
     private GameView mGameView;
     
@@ -35,7 +28,8 @@
         super.onCreateOptionsMenu(menu);
 
-        menu.add(0, MENU_SAVE, 0, R.string.menu_save);
-        menu.add(0, MENU_MAIN, 0, R.string.menu_main);
-        menu.add(0, MENU_EXIT, 0, R.string.menu_exit);
+        menu.add(0, MenuOption.END_TURN.ordinal(), 0, R.string.menu_end_turn);
+        menu.add(0, MenuOption.SAVE.ordinal(), 0, R.string.menu_save);
+        menu.add(0, MenuOption.MAIN.ordinal(), 0, R.string.menu_main);
+        menu.add(0, MenuOption.EXIT.ordinal(), 0, R.string.menu_exit);
         return true;
     }
@@ -50,20 +44,20 @@
     @Override
     public boolean onOptionsItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-        	case MENU_SAVE:
-        		try {
-        			PrintWriter p = new PrintWriter(new FileWriter(android.os.Environment.getExternalStorageDirectory()+"/save.txt"));
-        			mThread.mMap.save(p);
-        			p.close();
-        		}catch(IOException ioe) {
-        			ioe.printStackTrace();
-        		}
-    			break;
-        	case MENU_MAIN:
-        		mThread.mGameState = GameState.MAIN_MENU;
-        		break;
-            case MENU_EXIT:
-            	finish();
-            	break;
+        int i = item.getItemId();
+    	
+        if(i == MenuOption.END_TURN.ordinal()) {
+        	mThread.mTurn = Turn.ENEMY_TURN;
+        }else if(i == MenuOption.SAVE.ordinal()) {
+    		try {
+    			PrintWriter p = new PrintWriter(new FileWriter(android.os.Environment.getExternalStorageDirectory()+"/save.txt"));
+    			mThread.mMap.save(p);
+    			p.close();
+    		}catch(IOException ioe) {
+    			ioe.printStackTrace();
+    		}
+    	}else if(i == MenuOption.MAIN.ordinal()) {
+        	mThread.mGameState = GameState.MAIN_MENU;
+    	}else if(i == MenuOption.EXIT.ordinal()) {
+    		finish();
         }
 
Index: src/com/medievaltech/advancewars/GameView.java
===================================================================
--- src/com/medievaltech/advancewars/GameView.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/advancewars/GameView.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -19,20 +19,21 @@
     class DrawingThread extends Thread {        
         public GameState mGameState;
-
-        /*
-         * Member (state) fields
-         */
-
+        
+        //maybe make this private and make an accessor for it
+        public Map mMap;
+        
+        public Tile grassTile, oceanTile;
+        
+        public Turn mTurn;
+        
+        //temporary variable to let the enemy control a specific unit
+        //ownership of units hasn't been implemented yet
+        public Unit enemyUnit;
+        
         private int mCanvasHeight = 1;
         private int mCanvasWidth = 1;
 
-        /** Paint to draw the lines on screen. */
-        private Paint mLinePaint, mTextPaint, mButtonPaint, mTilePaint1, mTilePaint2, mSelectionPaint,
-        	mUnitPaint;
-        
-        //maybe make this private and make an accessor for it
-        public Map mMap;
-        
-        public Tile grassTile, oceanTile;
+        private Paint mLinePaint, mTextPaint, mButtonPaint, mTilePaint1,
+        			mTilePaint2, mSelectionPaint, mUnitPaint;
 
         /** Indicate whether the surface has been created & is ready to draw */
@@ -105,6 +106,11 @@
             }
             
+            enemyUnit = new Soldier(mUnitPaint);
+            
+            mMap.getTile(0, 0).addUnit(enemyUnit);
             mMap.getTile(2, 3).addUnit(new Soldier(mUnitPaint));
             mMap.getTile(5, 6).addUnit(new Soldier(mUnitPaint));
+            
+            mTurn = Turn.YOUR_TURN;
             
             mGameState = GameState.MAIN_MENU;
@@ -129,4 +135,5 @@
                     c = mSurfaceHolder.lockCanvas(null);
                     synchronized(mSurfaceHolder) {
+                    	doLogic();
                         doDraw(c);
                     }
@@ -169,4 +176,19 @@
                 Log.i("AdvanceWars", "width: "+mCanvasWidth+", height: "+mCanvasHeight);
             }
+        }
+        
+        private void doLogic() {
+        	if(mTurn == Turn.YOUR_TURN)
+        		return;
+        	
+        	switch(mGameState) {
+        	case BATTLE_MAP:
+        		int x = thread.enemyUnit.location.x;
+        		int y = thread.enemyUnit.location.y;
+        		thread.mMap.getTile(x, y).removeUnit();
+				thread.mMap.getTile(x, y+1).addUnit(thread.enemyUnit);
+        		mTurn = Turn.YOUR_TURN;
+        		break;
+        	}
         }
 
Index: src/com/medievaltech/unit/Artillery.java
===================================================================
--- src/com/medievaltech/unit/Artillery.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/unit/Artillery.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -5,4 +5,6 @@
 import android.graphics.Paint;
 import android.graphics.Point;
+
+import com.medievaltech.advancewars.Enum.*;
 
 public class Artillery extends Unit{
@@ -13,5 +15,5 @@
 		move = 3;
 		
-		type = Type.LAND;
+		type = UnitType.LAND;
 		minAttackRange = 2;
 		maxAttackRange = 4;
Index: src/com/medievaltech/unit/Mech.java
===================================================================
--- src/com/medievaltech/unit/Mech.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/unit/Mech.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -5,4 +5,6 @@
 import android.graphics.Paint;
 import android.graphics.Point;
+
+import com.medievaltech.advancewars.Enum.*;
 
 public class Mech extends Unit{
@@ -13,5 +15,5 @@
 		move = 2;
 		
-		type = Type.LAND;
+		type = UnitType.LAND;
 		minAttackRange = 1;
 		maxAttackRange = 1;
Index: src/com/medievaltech/unit/Recon.java
===================================================================
--- src/com/medievaltech/unit/Recon.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/unit/Recon.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -5,4 +5,6 @@
 import android.graphics.Paint;
 import android.graphics.Point;
+
+import com.medievaltech.advancewars.Enum.*;
 
 public class Recon extends Unit{
@@ -13,5 +15,5 @@
 		move = 8;
 		
-		type = Type.LAND;
+		type = UnitType.LAND;
 		minAttackRange = 1;
 		maxAttackRange = 1;
Index: src/com/medievaltech/unit/SmTank.java
===================================================================
--- src/com/medievaltech/unit/SmTank.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/unit/SmTank.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -5,4 +5,6 @@
 import android.graphics.Paint;
 import android.graphics.Point;
+
+import com.medievaltech.advancewars.Enum.*;
 
 public class SmTank extends Unit{
@@ -13,5 +15,5 @@
 		move = 7;
 		
-		type = Type.LAND;
+		type = UnitType.LAND;
 		minAttackRange = 1;
 		maxAttackRange = 1;
Index: src/com/medievaltech/unit/Soldier.java
===================================================================
--- src/com/medievaltech/unit/Soldier.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/unit/Soldier.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -5,4 +5,6 @@
 import android.graphics.Paint;
 import android.graphics.Point;
+
+import com.medievaltech.advancewars.Enum.*;
 
 public class Soldier extends Unit{
@@ -13,5 +15,5 @@
 		move = 3;
 		
-		type = Type.LAND;
+		type = UnitType.LAND;
 		minAttackRange = 1;
 		maxAttackRange = 1;
Index: src/com/medievaltech/unit/Unit.java
===================================================================
--- src/com/medievaltech/unit/Unit.java	(revision b66001710128bab2f536743779ea815c7c5cb081)
+++ src/com/medievaltech/unit/Unit.java	(revision fea4b77b2fa3d94e79f364cfc993ab5a000df017)
@@ -2,16 +2,13 @@
 
 import java.util.*;
+
 import android.graphics.*;
 
-public abstract class Unit 
-{
-	public enum Type
-	{
-		LAND,SEA,AIR
-	}
+import com.medievaltech.advancewars.Enum.*;
 
+public abstract class Unit {
 	private Paint p;
 	
-	public Type type;
+	public UnitType type;
 	//public Player owner;
 	
