Advertisement
romaji

Arrythmia [requires Heartbeat]

Nov 7th, 2018
806
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.83 KB | None | 0 0
  1. package mu.nu.nullpo.game.subsystem.mode;
  2.  
  3. import mu.nu.nullpo.game.event.EventReceiver;
  4. import mu.nu.nullpo.game.play.GameEngine;
  5. import mu.nu.nullpo.util.CustomProperties;
  6.  
  7. // by Romaji again, using a class special to set up interesting timing stuff
  8. // needs the class "HeartBeat" to handle time setting. Use that class to add Arrythmia to other game modes
  9. // Also, not netplay safe.
  10. //Needs Modified Marathon
  11.  
  12. /** Adjusts times between pieces erratically, to break concentration
  13.  *
  14.  * @author Romaji Milton Amulo
  15.  *
  16.  */
  17.  
  18. public class MarathonModeArrythmia extends MarathonMode {
  19.    
  20.     public Heartbeat rateSetter;
  21.     private boolean betweenMoves;
  22.    
  23.     /**
  24.      * Mode name, for display
  25.      */
  26.     @Override
  27.     public String getName() {
  28.         return "ARRYTHMIA";
  29.     }
  30.     /** Mode name in all lowercase, for score saving
  31.      *
  32.      */
  33.     @Override
  34.     public String getSafeName() {
  35.         return "arrythmia";
  36.     }
  37.    
  38.     @Override
  39.     public void startGame(GameEngine engine, int playerID) {
  40.         super.startGame(engine, playerID);
  41.         rateSetter = new Heartbeat(engine.random);
  42.         betweenMoves = false;
  43.     }
  44.    
  45.     public void pieceLocked(GameEngine engine, int playerID, int lines) {
  46.         engine.speed=rateSetter.updateSpeed(engine.speed,engine.random); //update settings for next drop.
  47.         betweenMoves=true;
  48.     }
  49. //    @Override //debug
  50. //    public void renderLast(GameEngine engine, int playerID) {
  51. //        super.renderLast(engine, playerID);
  52. //        engine.owner.receiver.drawScoreFont(engine, playerID, 0, 14, String.valueOf(engine.speed.are), EventReceiver.COLOR_BLUE);
  53. //     }
  54.     //currently broken
  55. //  public void onLast(GameEngine engine, int playerID) {
  56. //      super.onLast(engine, playerID);
  57. //      if (betweenMoves && engine.stat==GameEngine.Status.MOVE) { //has ARE ended?
  58. //          engine.playSE("heartbeat");
  59. //          betweenMoves=false;
  60. //      }
  61. //  }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement