Example #1
0
  private void nextWorld() {
    worldNumber++;

    if (worldNumber == 8) {
      marioComponent.win();
      return;
    }

    moveTime = 0;
    levelId = 0;
    farthest = 0;
    xFarthestCap = 0;
    yFarthestCap = 0;

    seed = random.nextLong();
    random = new Random(seed);

    while (!generateLevel()) ;
    renderStatic(staticGr);
  }
Example #2
0
  public void tick() {
    xMario += xMarioA;
    yMario += yMarioA;
    tick++;
    int x = xMario / 16;
    int y = yMario / 16;
    if (level[x][y] == TILE_ROAD) {
      data[x][y] = 0;
    }

    if (moveTime > 0) {
      moveTime--;
    } else {
      xMarioA = 0;
      yMarioA = 0;
      if (canEnterLevel && keys[Mario.KEY_JUMP]) {
        if (level[x][y] == TILE_LEVEL && data[x][y] == -11) {
        } else {
          if (level[x][y] == TILE_LEVEL && data[x][y] != 0 && data[x][y] > -10) {
            Mario.levelString = (worldNumber + 1) + "-";
            int difficulty = worldNumber + 1;
            int type = LevelGenerator.TYPE_OVERGROUND;
            if (data[x][y] > 1 && new Random(seed + x * 313211 + y * 534321).nextInt(3) == 0) {
              type = LevelGenerator.TYPE_UNDERGROUND;
            }
            if (data[x][y] < 0) {
              if (data[x][y] == -2) {
                Mario.levelString += "X";
                difficulty += 2;
              } else if (data[x][y] == -1) {
                Mario.levelString += "?";
              } else {
                Mario.levelString += "#";
                difficulty += 1;
              }

              type = LevelGenerator.TYPE_CASTLE;
            } else {
              Mario.levelString += data[x][y];
            }

            Art.stopMusic();
            marioComponent.startLevel(seed * x * y + x * 31871 + y * 21871, difficulty, type);
          }
        }
      }
      canEnterLevel = !keys[Mario.KEY_JUMP];

      if (keys[Mario.KEY_LEFT]) {
        keys[Mario.KEY_LEFT] = false;
        tryWalking(-1, 0);
      }
      if (keys[Mario.KEY_RIGHT]) {
        keys[Mario.KEY_RIGHT] = false;
        tryWalking(1, 0);
      }
      if (keys[Mario.KEY_UP]) {
        keys[Mario.KEY_UP] = false;
        tryWalking(0, -1);
      }
      if (keys[Mario.KEY_DOWN]) {
        keys[Mario.KEY_DOWN] = false;
        tryWalking(0, 1);
      }
    }
  }