From 95d9287697cdeec9cc770d14179e0046482c68d4 Mon Sep 17 00:00:00 2001 From: gitknilch Date: Sat, 9 Mar 2013 19:12:40 +0100 Subject: [PATCH] fix shit. Change-Id: Ibcad86dcd3dc20b5ca222983761c245818a62813 Signed-off-by: gitknilch --- src/de/cwde/freeshisen/ShisenShoView.java | 78 ++++++++++------------- 1 file changed, 32 insertions(+), 46 deletions(-) diff --git a/src/de/cwde/freeshisen/ShisenShoView.java b/src/de/cwde/freeshisen/ShisenShoView.java index 7d92a0a..916dfb7 100644 --- a/src/de/cwde/freeshisen/ShisenShoView.java +++ b/src/de/cwde/freeshisen/ShisenShoView.java @@ -28,6 +28,7 @@ import android.view.SurfaceView; class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { + private static final String INVALID_TIME = "9:99:99"; private static final String COLOR_TEXT = "#FFFFFF"; private static final String COLOR_TEXT_SHADOW = "#000000"; private static final String COLOR_HINT = "#F0C000"; @@ -60,6 +61,7 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { private StatePaint pstate; private Canvas canvas = null; private SurfaceHolder surfaceHolder = null; + private String time = INVALID_TIME; public ShisenShoView(ShisenSho shishenSho) { super((Context) shishenSho); @@ -289,14 +291,8 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { protected void doDraw(Canvas canvas) { try { - // Double buffering - // Bitmap buffer = Bitmap.createBitmap(canvas.getWidth(), canvas.getHeight(), Bitmap.Config.ARGB_8888); - //Canvas cbuffer = new Canvas(buffer); - Canvas cbuffer = canvas; if (canvas == null) return; - //super.onDraw(canvas); - // Board upper left corner on screen int x0=0; int y0=0; @@ -326,7 +322,7 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { int bgHeight = bg.getHeight(); for (int i=0; i 0) { @@ -398,20 +394,20 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { paint.setStrokeJoin(Join.ROUND); paint.setStrokeWidth(3); - highlightTile(cbuffer, x0, y0, a, hintcolor); + highlightTile(canvas, x0, y0, a, hintcolor); if (path != null) { Point p0 = null; for (Point p1 : path) { if (p0 != null) { - drawLine(cbuffer, x0, y0, p0, p1, paint); + drawLine(canvas, x0, y0, p0, p1, paint); } p0 = p1; } path = null; } - highlightTile(cbuffer, x0, y0, b, hintcolor); + highlightTile(canvas, x0, y0, b, hintcolor); } break; } @@ -419,16 +415,16 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { // Win & loose notifications switch (pstate) { case WIN: - drawMessage(cbuffer, screenWidth / 2, screenHeight / 2, true, + drawMessage(canvas, screenWidth / 2, screenHeight / 2, true, "You Win!", 100); break; case LOSE: - drawMessage(cbuffer, screenWidth / 2, screenHeight / 2, true, + drawMessage(canvas, screenWidth / 2, screenHeight / 2, true, "Game Over", 100); break; } - if (app.timeCounter) switch (pstate) { + switch (pstate) { case BOARD: case SELECTED1: case SELECTED2: @@ -441,31 +437,21 @@ class ShisenShoView extends SurfaceView implements SurfaceHolder.Callback { int hours = (int) (playTime / (60 * 60)); int minutes = (int) ((playTime / 60) % 60); int seconds = (int) (playTime % 60); - String time = String.format(Locale.US, "%01d:%02d:%02d", - hours, minutes, seconds); + if (hours < 10) { + time = String.format(Locale.US, "%01d:%02d:%02d", + hours, minutes, seconds); + } else { + time = INVALID_TIME; + } int timePosX=screenWidth-120; int timePosY=screenHeight-10; - - drawMessage(cbuffer, timePosX, timePosY, false, time, 30); - break; - } - - // Debug messages - /* - debugMessage="StatePlay: "+cstate+"\n"+"StatePaint: "+pstate; - if (debugMessage!=null && debugMessage.length()>0) { - int l = 20; - String lines[] = debugMessage.split("\n"); - for (int i=0; i