Rev 435 |
Rev 585 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package com.gebauz.PonPonChun.game;
import com.gebauz.PonPonChun.game.entities.Block;
import com.gebauz.PonPonChun.game.entities.PlayField;
public abstract class GameModeLogic
extends GameLogicObject
{
// Constants========================================================================================
// Embedded Types===================================================================================
// Members==========================================================================================
private GameLogic.
GameMode mGameMode
;
// Methods==========================================================================================
public GameModeLogic
(GameLogic gameLogic, GameLogic.
GameMode mode
)
{
super(gameLogic
);
mGameMode = mode
;
}
public abstract void init
(String param
);
public abstract void exit
();
public abstract void update
(float deltaTime
);
public abstract void render
();
/** Generate a row that does not have triplets. */
public int[] generateRow
()
{
int[] lastTypes =
new int[] { -
1, -
1 };
int[] row =
new int[PlayField.
NUM_CELLS_X];
for (int dx =
0; dx
< PlayField.
NUM_CELLS_X; dx++
)
{
// prevent triplets along the row
int type = getGameLogic
().
getGame().
getRandomInt(0, Block.
NUM_TYPES-
1);
while ((type == lastTypes
[0]) && (type == lastTypes
[1]))
{
type = getGameLogic
().
getGame().
getRandomInt(0, Block.
NUM_TYPES-
1);
}
lastTypes
[1] = lastTypes
[0];
lastTypes
[0] = type
;
row
[dx
] = type
;
}
return row
;
}
// Getters/Setters==================================================================================
public final GameLogic.
GameMode getGameMode
()
{
return mGameMode
;
}
}