Index: src/com/example/helloandroid/Fleet.java
===================================================================
--- src/com/example/helloandroid/Fleet.java	(revision 647a312b41ba04402bf61423d82619e553f06e5b)
+++ src/com/example/helloandroid/Fleet.java	(revision 69f6f016d6af86734b6dd4387bd9272a2d9f3aad)
@@ -22,5 +22,5 @@
 	private boolean isClockwise;
 
-	/* Optimising: pre-calculate paths */
+	/* Optimizing: pre-calculate paths */
 	public Fleet(Planet source, Planet destination, int numShips, int faction) {
 		source.setNumShips(source.getNumShips()-numShips);
Index: src/com/example/helloandroid/GameView.java
===================================================================
--- src/com/example/helloandroid/GameView.java	(revision 647a312b41ba04402bf61423d82619e553f06e5b)
+++ src/com/example/helloandroid/GameView.java	(revision 69f6f016d6af86734b6dd4387bd9272a2d9f3aad)
@@ -10,4 +10,6 @@
 import android.graphics.Color;
 import android.graphics.Paint;
+import android.graphics.RectF;
+import android.graphics.Paint.FontMetrics;
 import android.os.Bundle;
 import android.os.Handler;
@@ -77,4 +79,6 @@
         public ArrayList<Fleet> fleets;
         public Planet planetSelected;
+        
+        int mFleetSize;
 
         public DrawingThread(SurfaceHolder surfaceHolder, Context context,
@@ -101,4 +105,6 @@
             
             fleets = new ArrayList<Fleet>();
+            
+            mFleetSize = 50;
         }
 
@@ -239,6 +245,6 @@
 	                	if(Planet.collisionDetected(p, planets)) {
 	                		x--;
-	                	}else if(p.getX()-p.getRadius() < 0 || mCanvasWidth<=p.getX()+p.getRadius() ||
-	                			 p.getY()-p.getRadius() < 0 || mCanvasHeight<=p.getY()+p.getRadius()) {
+	                	}else if(p.getX()-p.getRadius() < 0 || mCanvasWidth-20<=p.getX()+p.getRadius() ||
+	                			 p.getY()-p.getRadius() < 0 || mCanvasHeight-20<=p.getY()+p.getRadius()) {
 	                		x--;
 	                	}else {
@@ -343,4 +349,19 @@
             	}
         	}
+        	
+        	float textSize = mTextPaint.getTextSize();
+        	mTextPaint.setTextSize(24);
+        	FontMetrics metrics = mTextPaint.getFontMetrics();
+        	mTextPaint.setColor(Color.WHITE);
+        	
+        	canvas.drawText(mFleetSize+"%", mCanvasWidth-mTextPaint.measureText(mFleetSize+"%"), mCanvasHeight-20-(metrics.ascent+metrics.descent), mTextPaint);
+        	
+        	mTextPaint.setTextSize(textSize);
+        	
+        	mLinePaint.setColor(Color.YELLOW);
+        	canvas.drawRoundRect(new RectF(70, mCanvasHeight-15, mCanvasWidth-70, mCanvasHeight-5), 5, 5, mLinePaint);
+        	
+        	mLinePaint.setColor(Color.GREEN);
+        	canvas.drawRoundRect(new RectF(70, mCanvasHeight-15, 70+(mCanvasWidth-140)*mFleetSize/100, mCanvasHeight-5), 5, 5, mLinePaint);
         }
 
@@ -371,7 +392,7 @@
             	while(i.hasNext()){
             		f = i.next();
-            		if(f.getNumShips() == 0)
+            		if(f.getNumShips() == 0) {
             			i.remove();
-            		else
+            		}else
             			f.update(planets);
             	}
@@ -413,37 +434,41 @@
     	Log.i("Gencon", "Detected touch event");
     	
-    	if(event.getAction() != MotionEvent.ACTION_DOWN)
-    		return true;
-    	
-    	synchronized(thread.planetsLock) {
-    		if(thread.planetSelected != null) {
-    			Planet target = null;
-    			
-    			for(Planet p : thread.planets) {
-		        	if(p.contains((int)event.getX(), (int)event.getY())) {
-		        		target = p;
-		        		break;
-		        	}
-		        }
-    			
-    			if(target != null && thread.planetSelected.getFaction() != 0) {
-    				synchronized(thread.fleetsLock) {
-    	                	Fleet f = new Fleet(thread.planetSelected, target, 1, 1);
-    	                	f.setFaction(thread.planetSelected.getFaction());
-    	                	thread.fleets.add(f);
-                    }
-    			}
-    				
-    			thread.planetSelected.unselect();
-    			thread.planetSelected = null;
-    		}else {
-		        for(Planet p : thread.planets) {
-		        	if(p.contains((int)event.getX(), (int)event.getY())) {
-		        		p.select();
-		        		thread.planetSelected = p;
-		        		break;
-		        	}
-		        }
+    	if(event.getAction() == MotionEvent.ACTION_UP) {
+    		if(70 <= event.getX() && event.getX() <= thread.mCanvasWidth-70 &&
+    		   thread.mCanvasHeight-15 <= event.getY() && event.getY() <= thread.mCanvasHeight-5) {
+    			thread.mFleetSize = ((int)event.getX()-70)*100/(thread.mCanvasWidth-140);
     		}
+    	}else if(event.getAction() == MotionEvent.ACTION_DOWN) {
+	    	synchronized(thread.planetsLock) {
+	    		if(thread.planetSelected != null) {
+	    			Planet target = null;
+	    			
+	    			for(Planet p : thread.planets) {
+			        	if(p.contains((int)event.getX(), (int)event.getY())) {
+			        		target = p;
+			        		break;
+			        	}
+			        }
+	    			
+	    			if(target != null && target != thread.planetSelected && thread.planetSelected.getFaction() != 0) {
+	    				synchronized(thread.fleetsLock) {
+	    	                	Fleet f = new Fleet(thread.planetSelected, target, thread.planetSelected.getNumShips()*thread.mFleetSize/100, thread.planetSelected.getFaction());
+	    	                	f.setFaction(thread.planetSelected.getFaction());
+	    	                	thread.fleets.add(f);
+	                    }
+	    			}
+	    				
+	    			thread.planetSelected.unselect();
+	    			thread.planetSelected = null;
+	    		}else {
+			        for(Planet p : thread.planets) {
+			        	if(p.contains((int)event.getX(), (int)event.getY())) {
+			        		p.select();
+			        		thread.planetSelected = p;
+			        		break;
+			        	}
+			        }
+	    		}
+	    	}
     	}
         
Index: src/com/example/helloandroid/Planet.java
===================================================================
--- src/com/example/helloandroid/Planet.java	(revision 647a312b41ba04402bf61423d82619e553f06e5b)
+++ src/com/example/helloandroid/Planet.java	(revision 69f6f016d6af86734b6dd4387bd9272a2d9f3aad)
@@ -132,6 +132,6 @@
 	
 	public void update() {
-		//if(faction != 0)
-			//numShips++;
+		if(faction != 0)
+			numShips += radius/10;
 		
 	}
