I would like to see all code releated to the field 'Level', or 'level' (now), in your world subclass.
Here it is:
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)
import java.util.List;
/**
* Write a description of class Background here.
*
* @author (your name)
* @version (a version number or a date)
*/
public class Level extends World
{
public static int level;
private GameOver gameover = new GameOver();
public static Player p;
private GreenfootSound music1 = new GreenfootSound("music1.mp3");
private GreenfootSound end = new GreenfootSound("end.mp3");
public static String[][] map =
{
{"o ",
"e r r r p",
" mmmmmmm mmmmm mmmmmmm mmm",
" mb m m e o ml ms ",
" mo m m cmlmmf ",
" ml m m mmm mmo lmmm ",
"a mmlmmmmmmm q q lm ",
"mo m lmy mb mm mmumo lm n",
"mm m lmm m m ms sm lm ",
"m l m zm cm emo lmo ",
"m mm mmm mm mm m lm ",
" mtjjtjjjtjjtjjtm mm l q",
" maaaaaaaaaaaaaam gu lk ",
"hmmmmmmmmmmmmmmmmmmmmmmmmmmmmm",
" 000000000000000000000000 q",
" r r r ",
"mmmmmmmmmmmmmmmmmmmmmmmmmmmmmv",
"olllllllllllllllllllllllllllll",
"d r r r r ",
"mmmmmmmmmmmmmmmmmmmmmmmmmmmmmm",},
{"m o m d",
"m r m mmmmmm m m",
"m mmmm mm lmmmmmmmhm m",
" mesmr rmb mmmmlu qo m",
"f q mm mmmmm mlu mmmmmmm m",
"mm m mlu qm",
" l og m r lu k q",
" lmmmmmmmmmmmmmmmmmmmmmmmmmmmm",
"ml 000000000000000000 l q",
" tjjjjjjjjjjjjjjjjjjjjjjjt l m",
"aaaaaaaaaaaaaaaaaaaaaaaaaaml m",
"mmmmmmmmmmmmmmmmmmmmmmmmmmml m",
"olllllllllllllllllllllllllll m",
"ml l m",
"ml qo qo qo qo l m",
"mlmmmmmmmmmmmmmmmmmmmmmmmmmmmm",
"ml q",
"ml ",
"mlxxm mxm mxxm mxxm mmm p",
"maaaaaaaaaaaaaaaaaaaaaaaaaaamm",},
{" l m e l m l ml ul d",
"p l m l m l l hl ul l m",
"mmlmm o l m lml ml ml ml m m",
"o l qo0 m l m lml ml ml ml q m",
"0 l m m l mglml mlyml mlfm m",
"0 l m 0qo l mmmml mmmml mmmm m",
"o l q m l ml l l m",
"0 l mo0 m l ml l r l r m",
"0 l m o l mlmmmmmmmmmmmmmmmm",
"o l q 0qm l ml l",
"0 l m m l mo r r l",
"0 l mo0 o l mmmmmmmmmmmmmmmmml",
"o l q m l ml l",
"0 l m 0qm l ml r r qm",
"0 l m o l mlmmmmmmmmmmmmmmmm",
"o l qo0 m l ml ",
"0 l m m l mo r r ",
"mmlmmm mmmlmmmmmmmmmmmmmmmmm ",
"mjtjjjtjujtjjjjjjjjjjjjjjjjjtm",
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaam",},
{" u u cu l ",
"p u u uu l ",
"uu q u u u uuuluuuu u uuh",
" uu u u l uu u u ",
" ug u uul l uuu u u ",
" uuuuu u lu u uu u u ",
"k u uu lu zu uu u u ",
"uuu u u uuuuuuuuuuuuauaau ",
" yu k u eo 00000000000000 ",
" uu uuuu k uuu k k ",
" u quuul u uuuxxuuuuuuuuu",
"u ulcu ",
" r uluu ",
"uuuuuuu ulluuu uu u xuuuv",
" ulluuuaauuaauuaaa ",
" r qulu qu",
"uuu uuuuuu lu qu",
" lu uuuuuuuuuuuuuuu",
"b k qu ",
"uuuauuuuuuuuuaaaaaaaaaaaaaaaad",}};
public void populateWorld()
{
Player p = new Player();
Door door = new Door();
SpecialDoor specialdoor = new SpecialDoor();
Mountain m = new Mountain();
Mountain1 n = new Mountain1();
Mountain2 w = new Mountain2();
Pike1 a = new Pike1();
Pike2 s = new Pike2();
Ladder l = new Ladder();
Knight k = new Knight();
for( int i = 0; i < map[level].length; i++) { // la longeur du tabmap
for( int j = 0; j < map[level][i].length(); j++) { // la longueur de la String map[i]
Actor actor = null; // crée un actor null si w,p,m = on ajoute l'actor
if(map[level][i].charAt(j) == 'p') {
actor = new Player();
this.p = (Player)actor;
}
else if(map[level][i].charAt(j) == 'm') {
actor = new Mountain();
}
else if(map[level][i].charAt(j) == 'n') {
actor = new Mountain1();
}
else if(map[level][i].charAt(j) == 'w') {
actor = new Mountain2();
}
else if(map[level][i].charAt(j) == 'd') {
actor = door;
}
else if(map[level][i].charAt(j) == 'a') {
actor = new Pike1();
}
else if(map[level][i].charAt(j) == 's') {
actor = new Pike2();
}
else if(map[level][i].charAt(j) == 'e') {
actor = new Pike3();
}
else if(map[level][i].charAt(j) == 'k') {
actor = new Knight();
}
else if(map[level][i].charAt(j) == 'l') {
actor = new Ladder();
}
else if(map[level][i].charAt(j) == 'x') {
actor = new Falling();
}
else if(map[level][i].charAt(j) == 'o') {
actor = new ArrowthrowD();
}
else if(map[level][i].charAt(j) == 'q') {
actor = new ArrowthrowG();
}
else if(map[level][i].charAt(j) == 'y') {
actor = door.getKey();
}
else if(map[level][i].charAt(j) == 'i') {
actor = new Menu();
}
else if(map[level][i].charAt(j) == 'u') {
actor = new Invisible();
}
else if(map[level][i].charAt(j) == 'v') {
Switche.specialdoor = new SpecialDoor();
actor = Switche.specialdoor;
}
else if(map[level][i].charAt(j) == 'z') {
actor = new Switche();
}
else if(map[level][i].charAt(j) == 't') {
actor = new Boat();
}
else if(map[level][i].charAt(j) == 'j') {
actor = new InvisibleBoat();
}
else if(map[level][i].charAt(j) == 'r') {
actor = new PK();
}
else if(map[level][i].charAt(j) == 'g') {
actor = new Key2();
}
else if(map[level][i].charAt(j) == 'h') {
Key2.keydoor = new KeyDoor();
actor = Key2.keydoor;
}
else if(map[level][i].charAt(j) == 'f') {
actor = new FalseKey1();
}
else if(map[level][i].charAt(j) == 'b') {
actor = new FalseKey2();
}
else if(map[level][i].charAt(j) == 'c') {
actor = new FalseSwitche();
}
else if(map[level][i].charAt(j) == '0') {
actor = new Bat();
}
if( actor != null) {
addObject( actor, 16+j*32, 16+i*32); // inversion de i et de j
}
}
}
}
public Level()
{
super(32*map[level][0].length(), 32*map[level].length, 1);
// 30x20 charactères
// 960/30= 32 pixels et 640/20 = 32 pixels
removeObjects(getObjects(null));
populateWorld();
}
}
public static int level;
public void image()
{
if (Level.level <= 3) setImage(pike1);
else if (Level.level <= 6) setImage(water);
}image();
public Pike1()
{
image();
}