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); }
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); } } }