auf ein ArrayString zurückgreifen

Status
Nicht offen für weitere Antworten.
Hallo zusammen
Ich habe ein Array aus Strings generiert, welches den Boden eines Spiels wie Mario darstellen soll. Das ganze läuft soweit gut, wenn ich alles in derselben Klasse habe. Ich möchte nun dass das Array String definition in einer anderen Klasse ist, damit ich neue Levels einfacher gestalten kann. Wie kann ich auf das Array zurückgreifen von einer anderen Klasse aus?
Vielen Dank für eure Hilfe

Code:
import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;

/**
 * 
 * @author Philippe Heer
 *
 */

public class test extends Applet{
	public static final String row1  = "g::::::::::::::::::::::::::::::::::::::::::";
	public static final String row2  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row3  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row4  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row5  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row6  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row7  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row8  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row9  = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row10 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row11 = "::::::::::::::::::gggggggggggggg::::::::g::";
	public static final String row12 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row13 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row14 = "::::::::::::::::::::::::::::::::::::g::::::";
	public static final String row15 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row16 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row17 = "::::::::::::gggg::::::::::::::::g::::::::::";
	public static final String row18 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row19 = ":::::::::::::::::::::::gggg::::::::::::::::";
	public static final String row20 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row21 = "::::::gggg:::::::::::::::::::::::::::::::::";
	public static final String row22 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row23 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row24 = ":::::::::::::::::::::::::::::::::::::::::::";
	public static final String row25 = "ggggggggggggggggggggggggggggggggggggggggggg";
	
	
	String [] definitions = {row1, row2, row3, row4, row5, row6, row7, row8, row9, row10,
				row11, row12, row13, row14, row15, row16, row17, row18, row19, row20,
				row21, row22, row23, row24, row25};

	private Image Stone;
	private int KollisionsArray[][] = new int [25][43];
			
	public void init(){
		setBackground(Color.black);
		Stone = getImage (getCodeBase(), "Stone.gif");	
		setSize(1000, 600);
	}	
	

	public void paint (Graphics g){
	      for (int i = 0; i < definitions.length; i++){
	         for (int j = 0; j < definitions[i].length(); j++) {
	            if (definitions[i].charAt(j) == 'g') {
					g.drawImage(Stone,j*15,i*20,this);
					KollisionsArray[i][j] = 1;
				}
	            else if (definitions[i].charAt(j) == ':'){
	            	KollisionsArray[i][j] = 0;
	            }
	         }
	      }
	      int y = 10;
	      for(int zeile = 0; zeile < 25; zeile++){
	    	  int x = 0;
	    	  for (int spalte = 0; spalte < 43; spalte++){
	    		  if(KollisionsArray[zeile][spalte] == 1){
	    		      g.setColor(Color.black);
	    			  g.drawString("" + 1, x, y);
	    		  }
	    		  else if(KollisionsArray[zeile][spalte] == 0){
	    		      g.setColor(Color.green);
	    			  g.drawString("" + 0, x, y);
	    		  }
	    		  x = x + 15;
	    	  }
	    	  y = y + 20;
	      }
	}	
}
 
S

SlaterB

Gast
entweder machst du es auch public static oder mit einem statischen/ nicht-statischen getter,
 

Marco13

Top Contributor
Ich würde dir empfehlen, die Levels ganz einfach als TXT-Datei abzuspeichern, und vielleicht eine Klasse "Level" machen, die im Konstruktor den Dateinamen übergeben bekommt, und die Level-Datei dort einliest.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben