Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package mu.nu.nullpo.game.subsystem.mode;
- import mu.nu.nullpo.game.event.EventReceiver;
- import mu.nu.nullpo.game.play.GameEngine;
- import mu.nu.nullpo.util.CustomProperties;
- // by Romaji again, using a class special to set up interesting timing stuff
- // needs the class "HeartBeat" to handle time setting. Use that class to add Arrythmia to other game modes
- // Also, not netplay safe.
- //Needs Modified Marathon
- /** Adjusts times between pieces erratically, to break concentration
- *
- * @author Romaji Milton Amulo
- *
- */
- public class MarathonModeArrythmia extends MarathonMode {
- public Heartbeat rateSetter;
- private boolean betweenMoves;
- /**
- * Mode name, for display
- */
- @Override
- public String getName() {
- return "ARRYTHMIA";
- }
- /** Mode name in all lowercase, for score saving
- *
- */
- @Override
- public String getSafeName() {
- return "arrythmia";
- }
- @Override
- public void startGame(GameEngine engine, int playerID) {
- super.startGame(engine, playerID);
- rateSetter = new Heartbeat(engine.random);
- betweenMoves = false;
- }
- public void pieceLocked(GameEngine engine, int playerID, int lines) {
- engine.speed=rateSetter.updateSpeed(engine.speed,engine.random); //update settings for next drop.
- betweenMoves=true;
- }
- // @Override //debug
- // public void renderLast(GameEngine engine, int playerID) {
- // super.renderLast(engine, playerID);
- // engine.owner.receiver.drawScoreFont(engine, playerID, 0, 14, String.valueOf(engine.speed.are), EventReceiver.COLOR_BLUE);
- // }
- //currently broken
- // public void onLast(GameEngine engine, int playerID) {
- // super.onLast(engine, playerID);
- // if (betweenMoves && engine.stat==GameEngine.Status.MOVE) { //has ARE ended?
- // engine.playSE("heartbeat");
- // betweenMoves=false;
- // }
- // }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement