changed implementation a little from interface to abstract.
This commit is contained in:
@@ -12,6 +12,9 @@ public class CanvasView extends View
|
|||||||
// Variabelen
|
// Variabelen
|
||||||
Resources r;
|
Resources r;
|
||||||
|
|
||||||
|
GameStateInterface Foreground = null;
|
||||||
|
GameStateInterface Background = null;
|
||||||
|
|
||||||
// Score.
|
// Score.
|
||||||
public int startLevel = 0;
|
public int startLevel = 0;
|
||||||
|
|
||||||
@@ -23,6 +26,8 @@ public class CanvasView extends View
|
|||||||
super(context);
|
super(context);
|
||||||
|
|
||||||
super.setBackgroundColor(Color.BLACK);
|
super.setBackgroundColor(Color.BLACK);
|
||||||
|
|
||||||
|
Foreground = new GamePlay();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetActivity(Activity activity)
|
public void SetActivity(Activity activity)
|
||||||
@@ -31,6 +36,7 @@ public class CanvasView extends View
|
|||||||
GamePlay.Instance.SetCanvas(this);
|
GamePlay.Instance.SetCanvas(this);
|
||||||
GamePlay.Instance.SetStartLevel(startLevel);
|
GamePlay.Instance.SetStartLevel(startLevel);
|
||||||
GamePlay.Instance.SetPayedVersion(PayedVersion);
|
GamePlay.Instance.SetPayedVersion(PayedVersion);
|
||||||
|
|
||||||
GamePlay.Instance.SetGameState(GamePlay.GS_LOAD);
|
GamePlay.Instance.SetGameState(GamePlay.GS_LOAD);
|
||||||
|
|
||||||
// Start Game.
|
// Start Game.
|
||||||
@@ -53,4 +59,21 @@ public class CanvasView extends View
|
|||||||
{
|
{
|
||||||
GamePlay.Instance.SendMove(x, y, pointerUp);
|
GamePlay.Instance.SendMove(x, y, pointerUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void OnGameStateChanged(int gameState)
|
||||||
|
{
|
||||||
|
switch(gameState)
|
||||||
|
{
|
||||||
|
case GameStateInterface.GS_PAUSED:
|
||||||
|
{
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case GameStateInterface.GS_GAMEOVER:
|
||||||
|
{
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,73 @@
|
|||||||
|
package mangavalk.tetris;
|
||||||
|
|
||||||
|
import android.app.Activity;
|
||||||
|
import android.graphics.Canvas;
|
||||||
|
|
||||||
|
public class GameMenu extends GameStateInterface
|
||||||
|
{
|
||||||
|
// Instance.
|
||||||
|
public static GameMenu Instance = new GameMenu();
|
||||||
|
|
||||||
|
// GameState.
|
||||||
|
protected int GameState = GS_STOPPED;
|
||||||
|
|
||||||
|
// Methods.
|
||||||
|
@Override
|
||||||
|
public void DrawFrame(Canvas canvas) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void SendMove(float x, float y, boolean pointerUp) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void SetGameState(int gameState)
|
||||||
|
{
|
||||||
|
GameState = gameState;
|
||||||
|
|
||||||
|
switch(GameState)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
canvasView.OnGameStateChanged(GameState);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onPause() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void SetActivity(Activity activity) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void SetCanvas(CanvasView _CanvasView) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void SetPayedVersion(boolean payedVersion) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int GetGameState() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Internal.
|
||||||
|
CanvasView canvasView;
|
||||||
|
Activity activity = null;
|
||||||
|
}
|
||||||
@@ -17,10 +17,10 @@ import android.view.Display;
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
|
||||||
public class GamePlay implements GameStateInterface
|
public class GamePlay extends GameStateInterface
|
||||||
{
|
{
|
||||||
// Instance.
|
// Instance.
|
||||||
public static GameStateInterface Instance = new GamePlay();
|
public static GamePlay Instance = new GamePlay();
|
||||||
|
|
||||||
// GameState.
|
// GameState.
|
||||||
protected int GameState = GS_STOPPED;
|
protected int GameState = GS_STOPPED;
|
||||||
@@ -36,7 +36,7 @@ public class GamePlay implements GameStateInterface
|
|||||||
{
|
{
|
||||||
mp.pause();
|
mp.pause();
|
||||||
|
|
||||||
GameState = GS_PAUSED;
|
SetGameState(GS_PAUSED);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -55,7 +55,7 @@ public class GamePlay implements GameStateInterface
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
mp.start();
|
mp.start();
|
||||||
GameState = GS_PLAYING;
|
SetGameState(GS_PLAYING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -73,7 +73,8 @@ public class GamePlay implements GameStateInterface
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void SetGameState(int gameState) {
|
public void SetGameState(int gameState)
|
||||||
|
{
|
||||||
GameState = gameState;
|
GameState = gameState;
|
||||||
|
|
||||||
switch(GameState)
|
switch(GameState)
|
||||||
@@ -89,6 +90,8 @@ public class GamePlay implements GameStateInterface
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
canvasView.OnGameStateChanged(GameState);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set
|
// Set
|
||||||
@@ -104,7 +107,6 @@ public class GamePlay implements GameStateInterface
|
|||||||
activity = _Activity;
|
activity = _Activity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void SetStartLevel(int StartLevel)
|
public void SetStartLevel(int StartLevel)
|
||||||
{
|
{
|
||||||
startLevel = StartLevel;
|
startLevel = StartLevel;
|
||||||
@@ -459,7 +461,7 @@ public class GamePlay implements GameStateInterface
|
|||||||
mp.setLooping(true);
|
mp.setLooping(true);
|
||||||
mp.start();
|
mp.start();
|
||||||
|
|
||||||
GameState = GS_PLAYING;
|
SetGameState(GS_PLAYING);
|
||||||
|
|
||||||
handler.removeCallbacksAndMessages(null);
|
handler.removeCallbacksAndMessages(null);
|
||||||
handler.postDelayed(runnable, 100);
|
handler.postDelayed(runnable, 100);
|
||||||
@@ -467,7 +469,7 @@ public class GamePlay implements GameStateInterface
|
|||||||
|
|
||||||
private void Load()
|
private void Load()
|
||||||
{
|
{
|
||||||
GameState = GS_LOADING;
|
SetGameState(GS_LOADING);
|
||||||
|
|
||||||
// Set Display Info.
|
// Set Display Info.
|
||||||
Display display = activity.getWindowManager().getDefaultDisplay();
|
Display display = activity.getWindowManager().getDefaultDisplay();
|
||||||
@@ -494,7 +496,7 @@ public class GamePlay implements GameStateInterface
|
|||||||
// Audio
|
// Audio
|
||||||
mp = MediaPlayer.create(activity, R.raw.tetris_a);
|
mp = MediaPlayer.create(activity, R.raw.tetris_a);
|
||||||
|
|
||||||
GameState = GS_READY;
|
SetGameState(GS_READY);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadSprites()
|
private void LoadSprites()
|
||||||
@@ -1340,7 +1342,7 @@ public class GamePlay implements GameStateInterface
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
mp.start();
|
mp.start();
|
||||||
GameState = GS_PLAYING;
|
SetGameState(GS_PLAYING);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1439,7 +1441,7 @@ public class GamePlay implements GameStateInterface
|
|||||||
//spawn new block
|
//spawn new block
|
||||||
if (!SpawnBlock())
|
if (!SpawnBlock())
|
||||||
{
|
{
|
||||||
GameState = GS_GAMEOVER;
|
SetGameState(GS_GAMEOVER);
|
||||||
|
|
||||||
mp.stop();
|
mp.stop();
|
||||||
canvasView.postInvalidate();
|
canvasView.postInvalidate();
|
||||||
|
|||||||
@@ -3,36 +3,34 @@ package mangavalk.tetris;
|
|||||||
import android.app.Activity;
|
import android.app.Activity;
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
|
|
||||||
public interface GameStateInterface
|
public abstract class GameStateInterface
|
||||||
{
|
{
|
||||||
// GameState Parameters
|
// GameState Parameters
|
||||||
final int GS_STOPPED = 0;
|
final static int GS_STOPPED = 0;
|
||||||
final int GS_LOADING = 1;
|
final static int GS_LOADING = 1;
|
||||||
final int GS_PLAYING = 2;
|
final static int GS_PLAYING = 2;
|
||||||
final int GS_GAMEOVER = 3;
|
final static int GS_GAMEOVER = 3;
|
||||||
final int GS_PAUSED = 4;
|
final static int GS_PAUSED = 4;
|
||||||
final int GS_START = 5;
|
final static int GS_START = 5;
|
||||||
final int GS_LOAD = 6;
|
final static int GS_LOAD = 6;
|
||||||
final int GS_READY = 7;
|
final static int GS_READY = 7;
|
||||||
|
|
||||||
// Methods.
|
// Methods.
|
||||||
public void DrawFrame(Canvas canvas);
|
public abstract void DrawFrame(Canvas canvas);
|
||||||
|
|
||||||
public void SendMove(float x,float y, boolean pointerUp);
|
public abstract void SendMove(float x,float y, boolean pointerUp);
|
||||||
|
|
||||||
public void SetGameState(int gameState);
|
public abstract void SetGameState(int gameState);
|
||||||
|
|
||||||
public void onPause();
|
public abstract void onPause();
|
||||||
|
|
||||||
// SetParameters.
|
// SetParameters.
|
||||||
public void SetActivity(Activity activity);
|
public abstract void SetActivity(Activity activity);
|
||||||
|
|
||||||
public void SetCanvas(CanvasView _CanvasView);
|
public abstract void SetCanvas(CanvasView _CanvasView);
|
||||||
|
|
||||||
public void SetStartLevel(int startLevel);
|
public abstract void SetPayedVersion(boolean payedVersion);
|
||||||
|
|
||||||
public void SetPayedVersion(boolean payedVersion);
|
|
||||||
|
|
||||||
// Get
|
// Get
|
||||||
public int GetGameState();
|
public abstract int GetGameState();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user