Tipps zum Einstieg in Java

Status
Nicht offen für weitere Antworten.
S

Scael (gast)

Gast
hi,
ich habe mir in den kopf gesetzt mal ne kleinigkeit zu programmieren :roll:
musste auch direkt feststellen, dass ich alles was ich mal in der schule gemacht habe vergessen habe.
wollte mich hier mal erkundigen, was ich zum programmieren in java brauche.

Welche Software?, Was sind diese SDK? brauch man die? für was?

wäre dankbar darfür, wenn mir wer da mal einen tipp geben kann.
mfg
 

jopp

Mitglied
sdk standard development kit

beinhaltet unter anderem bibliotheken und compiler

zum arbeiten verwendest du entweder ein text editor oder eine ide (jbuilder, netbeans, eclipse, ...)

mfg

jopp
 

nero

Mitglied
Ein Thema dazu in der FAQ wär sicha net schlecht, wird sicha noch häufiger gfragt!

mfg nero
 
S

Scael

Gast
muss ich bei SDKs darauf achten, dass die kompatibel zu dem editor sind ?
 

Reality

Top Contributor
In der Regel nicht. Das könnte höchstens bei den neuesten Betaversionen der Fall sein.

Liebe Grüße
Reality
 

Heiko

Bekanntes Mitglied
Ansonsten einfach ausprobieren und nachfragen, so lernst du am schnellsten programmieren.

Viel Spaß dabei

Grüße
Heiko
 

Fridolin

Bekanntes Mitglied
Ansonsten einfach ausprobieren und nachfragen, so lernst du am schnellsten programmieren.

Ich will schnell programmieren lernen, aber ich hab gedacht ich schaff das vielleicht alleine, da ich nach langem probieren etwa eine woche doch nicht darauf gekommen bin frag ich mal dich wenn du das schon so großzügig anbietest :D

danke Fridolin

Anmerkung. Ich versteh nicht warum ich eine ArrayIndexOutOfBoundsException beim Einlesen von der Datei bekomme mein Board ist doch genau 18 Zeilen x 42 Zeichen lang, besitzt keine Leerzeichen höchstens 18 Zeilenumbrüche am Ende jeder Zeile

Code:
import java.awt.*;
import java.io.*;
import javax.swing.*;

public class VersuchPacman extends JFrame 
{
	private Graphics dbg;
	StreamTokenizer tokenizer;
	BufferedReader in;
	String board[][] = new String[19][42]; 
	int count1 = 0;
	int count2 = 0;
	int boardx = 0;
	int boardy = 0;
	int blocksizex = 7; 
	int blocksizey = 15; 
	int token;
	int i = 1;
	
public VersuchPacman()
{
	setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
	
public void loadAndPaint()
{
	try
		{
  			
  			in = new BufferedReader(
			new FileReader(new File("C:\\Programme\\Xinox Software\\JCreator LE\\MyProjects\\VersuchPacman\\Readme\\Kopie von Mappe.txt"))); 
			tokenizer = new StreamTokenizer(in); 
			tokenizer.wordChars('c', 'c');
			tokenizer.wordChars('w', 'w');
			tokenizer.wordChars('n', 'n');
			tokenizer.wordChars('s', 's');
			tokenizer.wordChars('e', 'e');
			tokenizer.whitespaceChars(' ',' ');
        	tokenizer.eolIsSignificant(true);
        	tokenizer.slashStarComments(true);
        	tokenizer.slashSlashComments(true);
        	
		while ((token = tokenizer.nextToken()) != StreamTokenizer.TT_EOF)
		{
  		switch (token)
  			{
    	case StreamTokenizer.TT_WORD:
      		board[count1][count2] = tokenizer.sval;
      		System.out.println(""+board[count1][count2]+""+i);
            i++;
            count2++;
      		break;
      	case StreamTokenizer.TT_EOL:
      		count1++;
      		count2 = 0;
            break;
        
  			}
		}
		i = 1;
		count1 = 0;
        count2 = 0;
        
		
		for(count1 = 0; count1 <= 17; count1++)
		{
                           		if(count1 != 0)
                                {
                                boardy+=blocksizey;
                                boardx = 0;
                                }
			for(count2 = 0; count2 <= 40; count2++)
			{
			
  			if(board[count1][count2].equals("n"))
  			{
  				if(dbg == null)
  				{
  				dbg = getGraphics();
  				}
  				dbg.setColor(Color.blue);
    			 
  			}
  			
  				else
  				{
  					if(dbg == null)
  					{
  					dbg = getGraphics();
  					}
  					dbg.setColor(Color.black);
    				
				
            	} 
            	paint(dbg);
                boardx+=blocksizex;                
			}	
		}	
	} 
catch (IOException e) { }
}
	
	public void paint(Graphics g)
	{
	g.drawRect(boardx,boardy,blocksizex,blocksizey);
	g.fillRect(boardx,boardy,blocksizex,blocksizey);
	}
	
	public void update(Graphics g)
	{
	paint(g);
	}
	
	public static void main(String args[])
	{
	VersuchPacman neu = new VersuchPacman();
	neu.setSize(294,285);
	neu.setLocation(100,100);
	neu.setVisible(true);
	neu.loadAndPaint();
	} 
}

Code:
n s n n c n w w w n c n n c n n c n n c n n c n w w w n c n n c n n c n w w w n s n
w w w n c n w w w n c n w w w n c n w w w n c n w w w n c n w w w n c n w w w n c n
w w w n c n w w w n c n n c n n c n w w w n c n w w w n c n w w w n c n w w w n c n
n c n n c n n c n n c n w w w n c n n c n n c n n c n n c n n c n n c n n c n n c n
n c n w w w w w w n c n w w w n c n w w w n c n w w w w w w w w w n c n w w w n c n
n c n w w w w w w n c n w w w n c n w w w n c n n n n n e n n n n n c n w w w n c n
n c n w w w w w w n c n w w w n c n w w w n c n w w w n e n w w w n c n w w w n c n
n c n n c n n c n n c n w w w n c n n c n n c n w w w n e n w w w n c n n c n n c n
n c n w w w w w w n c n w w w n c n w w w n c n w w w w w w w w w n c n w w w n c n
n c n w w w w w w n c n w w w n c n n c n n c n n c n w w w n c n n c n w w w n c n
n c n n c n n c n n c n w w w w w w w w w w w w w w w w w w n c n w w w n c n n c n
n c n w w w w w w n c n w w w n c n n c n n c n n c n n c n n c n w w w n c n w w w
n c n n c n n c n n c n n c n n c n w w w n c n w w w w w w n c n w w w n c n w w w
w w w n c n w w w n c n w w w n c n w w w n c n n c n w w w n c n n c n n c n w w w
w w w n c n w w w n c n w w w n c n w w w w w w n c n w w w n c n w w w n c n w w w
w w w n c n w w w n c n w w w n c n w w w n c n n c n n c n n c n n c n n c n w w w
w w w n c n n c n n c n w w w n c n n c n n c n w w w w w w w w w w w w w w w n c n
w w w n c n w w w n c n w w w n c n w w w n c n n c n n c n n c n n c n n c n n c n
n s n n c n n c n n c n w w w n c n n c n n c n w w w w w w w w w w w w w w w n s n

Kopie von Mappe.txt
Anmerkung: So sollte auch die Ausgabe des Programms aussehen
 
R

Roar

Gast
was erwartest du eigentlich??

dass dir einer samstag nachmittag einer innerhalb von einer halben stunde antwortet auf eine frage die du gar nicht gestellt hast?? du hast nur code gepostet und das wars. und dann auch noch blöd rumbrüllen?? schön frech :x

und dann auch noch ein problem was schon längst beantwortet wurde: http://www.java-forum.org/de/viewtopic.php?p=17308

das forum hat auch eine suchfunktion
 

Fridolin

Bekanntes Mitglied
Ja die hilft mir aber nichts wenn ich nicht weiß wieso sie ausgelöst wurde
da meine Textdatei eigentlich auf mein Array abgestimmt ist oder umgekehrt,
aber dennoch danke für die coole antwort 8)
Wo hab ich geschrien, das waren nur Großbuchstaben

lg Fridolin
 

Fridolin

Bekanntes Mitglied
Naja ich krieg es so langsam in den Griff das casten konnte ich jetzt auch umgehen
und somit die NumberFormatException vermeiden Dafür kam jetzt eine NullPointerException
Ich wusste nicht das manche Leute darauf so sensibel reagieren, ich wusste schon das jetzt einer
irgendwas ausdrucksvolles schreiben würde aber dafür hat gleich wer geschrieben
 

Fridolin

Bekanntes Mitglied
Wieso kommt jetzt eine NullPointerException?
Kann sich wer vielleicht die Mühe machen und die Klasse kompilieren?
Nun ist mir alles klar StreamTokenizer.TT_WORD liest immer zusammenhängende Buchstaben
ich muss Trennzeichen setzen oder es muss noch irgendeine Methode geben mit der man einzelne Zeichen
auslesen kann?
lg Fridolin
 

Isaac

Bekanntes Mitglied
Beim ersten mal hast du nur die Klasse gepostet und ich wusste nicht worums geht. Ich habe die gerade mal durch meinen Compilier gejagd aber das nutzt nix wenn ich die txt Datei nicht habe auf die zu zugreifst da ich ohne das Programm nicht starten kann.

Meist reicht auch wenn du den Codeausschnitt postetst und den Stacktrace dazu.
 

Fridolin

Bekanntes Mitglied
Danke der Text für die Datei ist nun oben angefügt und die Klasse hab ich auch ein bisschen abgewandelt
damit ich das String Array ausgeben lasse dann dürfte das problem klar sein da ein
StreamTokenizer.TT_WORD immer zusammenhängende Zeilen liest

Noch ein paar Fragen
Code:
 void ordinaryChar(int ch) 
          Specifies that the character argument is "ordinary" in this tokenizer.
Was heißt ordinary(gewöhnliche) tokens?
Code:
 void resetSyntax() 
          Resets this tokenizer's syntax table so that all characters are "ordinary." See the ordinaryChar method for more information on a character being ordinary.
Code:
void whitespaceChars(int low, int hi) 
          Specifies that all characters c in the range low <= c <= high are white space characters. 
 void wordChars(int low, int hi) 
          Specifies that all characters c in the range low <= c <= high are word constituents.
Wie muss ich die zwei Methoden belegen, ich hab das bis jetzt immer mit den Buchstaben für
den Token gemacht also mit StreamTokenizer.wordChars('c','c') für den Buchstaben c im gegensatz
dazu belege ich dann whiteSpace Tokens mit StreamTokenizer.wordChars(' ', ' ') wenn
ich nur reine Leerzeichen als whitespace tokens erkannt haben möchte

Wie müsste ich die richtig belegen(mit ASCII - Werten?) und was haben whitespace Tokens für einen Sinn
beim Unterscheiden im StreamTokenizer?

lg Fridolin
 

Isaac

Bekanntes Mitglied
Hab sie gerade kompiliert und laufen gelassen. Ich bekomme keine Exception. Es passiert halt nicht viel, kommt nur ein Fenster hoch. Aber ne Exception gibts auch nicht.
 

Fridolin

Bekanntes Mitglied
Sehe ich das richtig wenn ich die ordinaryChars Methode meines StreamTokenizers mit
allen meinen Zeichen die zu erkennen sind belege und mir dann über ttype den Buchstaben hole?
Was ist dann noch der Sinn von whitespace Characters(Buchstaben die als Leerzeichen erkannt werden sollen)
in der Abfrage eines StreamTokenizers?

Gibt es für Zeilenumbrüche eigentlich auch Tokens, die vom StreamTokenizer irgendwie erkannt werden können
(zum Beispiel durch eine ASCII Zeichenfolge)?
 

Fridolin

Bekanntes Mitglied
Isaac kannst du das nochmal mit dem neuen Code kompilieren, wenn du das projekt halt noch nicht gelöscht hast?
Die NullPointerException kommt nun vorraussichtlich in der schleife ich glaube in der Zeile
mit dem <<< >>>
Danke für jede Mühe

lg Fridolin

Code:
for(count1 = 0; count1 <= 16; count1++)
		{
                           		if(count1 != 0)
                                {
                                boardy+=blocksizey;
                                boardx = 0;
                                }
			for(count2 = 0; count2 <= 40; count2++)
			{

  			if(board[count1][count2].equals("n"))
  			{
  				if(dbg == null)
  				{
  				dbg = getGraphics(); NullPointerException
  				}
  				dbg.setColor(Color.blue); <<< >>>
  			}
  			
  				else
  				{
  					if(dbg == null)
  					{
  					dbg = getGraphics();
  					}
  					dbg.setColor(Color.black);
				
            	} 
            	paint(dbg);
                boardx+=blocksizex;                
			}	
		}
 

Isaac

Bekanntes Mitglied
Erstmal noch zu deinem obigen Problem. Wieso liest du nicht einfach einen String ein und machst dann toCharArray. Dann kannst du dir das Tokennizen sparen und hast alle Buchstaben einzeln im Array stehen. Wenn du dann noch weist wie lang dein Feld ist (das weist du ja) spielt es auch garkeine Rolle das alles in einer Reihe steht.




Code:
             if(dbg == null) 
              { 
              dbg = getGraphics(); NullPointerException 
              } 
              dbg.setColor(Color.blue); <<< >>>

Du sagst, wenn dgb null ist soll er es holen. Aber die Methode getGraphics kann auch null liefern

Graphics java.awt.Component.getGraphics()

Creates a graphics context for this component. This method will return null if this component is
currently not displayable.
Returns:
a graphics context for this component, or null if it has none
See Also:
.paint
@since
JDK1.0

Dein Code ist also nicht null Safe. getGraphics liefert null zurück und dann schlägt setColor natürlich fehl.
 

Isaac

Bekanntes Mitglied
Versuchs mal so und überdenke mal die gesammte loadAndPaint Methode. In deinem Board[count1][count2] steht überall null drin weil du falsch einliest. Da kracht das an allen Ecken und enden.

Code:
import java.awt.Color;
import java.awt.Graphics;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.io.StreamTokenizer;

import javax.swing.JFrame;

public class VersuchPacman extends JFrame
{
    private Graphics dbg;

    StreamTokenizer  tokenizer;
    BufferedReader   in;
    String           board[][]    = new String[19][42];
    String           message      = "";
    int              boardint[][] = new int[19][42];
    int              count1       = 0;
    int              count2       = 0;
    int              boardx       = 0;
    int              boardy       = 0;
    int              blocksizex   = 7;
    int              blocksizey   = 16;
    int              token;

    public VersuchPacman()
    {
        setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
    }
    
    public void loadAndPaint()
    {
        try
        {

            in = new BufferedReader(new FileReader(new File(
                    "C:/mappe.txt")));
            tokenizer = new StreamTokenizer(in);
            tokenizer.wordChars('c', 'c');
            tokenizer.wordChars('w', 'w');
            tokenizer.wordChars('n', 'n');
            tokenizer.wordChars('s', 's');
            tokenizer.wordChars('e', 'e');
            tokenizer.whitespaceChars(' ', ' ');
            tokenizer.eolIsSignificant(true);
            tokenizer.slashStarComments(true);
            tokenizer.slashSlashComments(true);

            while ((token = tokenizer.nextToken()) != StreamTokenizer.TT_EOF)
            {
                switch (token)
                {
                case StreamTokenizer.TT_WORD:
                    message = "Word: " + tokenizer.sval;
                    board[count1][count2] = tokenizer.sval;
                    System.out.println("" + board[count1][count2]);
                    count2++;
                    break;
                case StreamTokenizer.TT_EOL:
                    count1++;
                    count2 = 0;
                    break;
                }
            }
            count1 = 0;
            count2 = 0;

            for (count1 = 0; count1 <= 16; count1++)
            {
                if (count1 != 0)
                {
                    boardy += blocksizey;
                    boardx = 0;
                }
                for (count2 = 0; count2 <= 40; count2++)
                {

                    if (board[count1][count2].equals("n"))
                    {
                        if (dbg == null)
                        {
                            dbg = getGraphics();
                        }
                        dbg.setColor(Color.blue);
                    }

                    else
                    {
                        if (dbg == null)
                        {
                            dbg = getGraphics();
                        }
                        dbg.setColor(Color.BLACK);

                    }
                    paint(dbg);
                    boardx += blocksizex;
                }
            }
        }
        catch (IOException e)
        {
        }
    }

    public void paint(Graphics g)
    {
        g.drawRect(boardx, boardy, blocksizex, blocksizey);
        g.fillRect(boardx, boardy, blocksizex, blocksizey);
    }

    public void update(Graphics g)
    {
        paint(g);
    }

    public static void main(String args[])
    {
        VersuchPacman neu = new VersuchPacman();
        neu.setSize(294, 288);
        neu.setLocation(100, 100);
        neu.setVisible(true); //nu, nachdem er visible ist, ister auch paintable
        neu.loadAndPaint();
    }
}
 

Fridolin

Bekanntes Mitglied
Hallo, danke für die Antwort aber wie soll ich das nun umgehen? Meine Klasse ist von JFrame abgeleitet
und ist zu der Zeit nie anzeigbar da erst eine instanz davon erzeugt werden muss, was erst viel später
im Konstruktor geschieht, L-ectron-X hat mir schon mal in einem anderen Forum geschrieben ich soll
die paintComponents methode überschreiben, aber wie mach ich das
Bei mir macht das keinen Unterschied in der Anzeige des Fehlers, aber es kann sein das ich die vollkommen
falsch überschrieben habe Ich hab nochmal nachgeschaut, die paintComponents methode braucht genauso einen
Graphic Kontext auf dem sie zeichnen kann

lg Fridolin

Du hast es schon geschafft danke ich werd mir gleich mal die NullPointerException Fälle anschauen
Nein du hast es nicht geschafft, wieso glaubst du steht da überall null drin schließlich kann ich auch
jeden Index mit System.out.println(" "+board[count1][count2]) ausgeben da muss was drinnen stehen
Nun die Frage ist vielleicht jetzt komisch, aber wieso hat es noch bei meiner vorigen Version
(die auf Seite 1 ) funktioniert?
Ich hätte nicht gedacht das es so schwierig ist ein kleines spiel zu programmieren, nun da ich eigentlich
alles habe um meine erste mappe zu laden, meine Arrays belegt habe das Graphics Objekt paintable ist,
und die Klassen nur noch zusammenfügen muss geht es wieder nicht da die Array Felder auf einmal wieder leer
sind.

Jawohl meine erste dynamische Mappe wäre fertig Danke für eure Hilfe ich hab den Code oben modifiziert
ich würd gerne einen Screenshot veröffentlichen aber ich hab keine eigene Seite
 

Isaac

Bekanntes Mitglied
Hat es nicht, er ist nie soweit gekommen. Es gab vorher die nullpointer Exception

Versuch das mal. Wie gesagt, überdenke das nochmal was du da machst.

Code:
for(int i = 0; i < 19; i++)
            {
                for(int j = 0; j < 42; j++)
                {
                    System.out.println(board[i][j]);
                }
            }


Hier haste die Ausgabe

Ach ja, benutzt mal nen ordentlichen Debugger wie Eclipse. Dann kannst du direkt in die Arrays reinschauen, zur Laufzeit.

nsnncnwwwncnncnncnncnncnwwwncnncnncnwwwnsn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
wwwncnwwwncnwwwncnwwwncnwwwncnwwwncnwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
wwwncnwwwncnncnncnwwwncnwwwncnwwwncnwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnncnncnncnwwwncnncnncnncnncnncnncnncnncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnwwwwwwncnwwwncnwwwncnwwwwwwwwwncnwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnwwwwwwncnwwwncnwwwncnnnnnennnnncnwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnwwwwwwncnwwwncnwwwncnwwwnenwwwncnwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnncnncnncnwwwncnncnncnwwwnenwwwncnncnncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnwwwwwwncnwwwncnwwwncnwwwwwwwwwncnwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnwwwwwwncnwwwncnncnncnncnwwwncnncnwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnncnncnncnwwwwwwwwwwwwwwwwwwncnwwwncnncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnwwwwwwncnwwwncnncnncnncnncnncnwwwncnwww
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
ncnncnncnncnncnncnwwwncnwwwwwwncnwwwncnwww
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
wwwncnwwwncnwwwncnwwwncnncnwwwncnncnncnwww
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
wwwncnwwwncnwwwncnwwwwwwncnwwwncnwwwncnwww
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
wwwncnwwwncnwwwncnwwwncnncnncnncnncnncnwww
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
wwwncnncnncnwwwncnncnncnwwwwwwwwwwwwwwwncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
wwwncnwwwncnwwwncnwwwncnncnncnncnncnncnncn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
nsnncnncnncnwwwncnncnncnwwwwwwwwwwwwwwwnsn
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
null
 

Fridolin

Bekanntes Mitglied
Ja ich weiß du hast dir die Klasse kopiert kurz bevor ich sie geändert habe das war noch die wo ich
jede Zeile auf einmal eingelesen habe und alle anderen strings leergeblieben sind
Auf der ersten Seite ist meine Map schau dir die mal an danke für deine und L-ectron-X's Hilfe
der hat mir in einem anderen forum zum selben Thema geholfen

lg Fridolin
 

Isaac

Bekanntes Mitglied
Also ich habe gerade noch mal die aktuelle Version von Seite eins reinkopiert aber es bleibt bei

debug.jpg
 

Fridolin

Bekanntes Mitglied
Hast du auch die Textdatei geändert also bei mir gehts mit diesen Zeilen
nur wenn man das Window vergrößert klappt es noch nicht
Das gibts ja nicht bei mir gehts und bei dir nicht?
Diese Zeilen sind direkt aus dem Editor rauskopiert
natürlich musst du auch den Namen deiner Textdatei, den Pfad, und den Inhalt ändern

Übrigens wie schaffst du es Bilder einzufügen, hast du Webspace zur Verfügung?
Nicht das ich einen kaufen wollte, mich interessierts nur

Code:
import java.awt.*;
import java.io.*;
import javax.swing.*;

public class VersuchPacman extends JFrame 
{
	private Graphics dbg;
	StreamTokenizer tokenizer;
	BufferedReader in;
	String board[][] = new String[19][42]; 
	int count1 = 0;
	int count2 = 0;
	int boardx = 0;
	int boardy = 0;
	int blocksizex = 7; 
	int blocksizey = 15; 
	int token;
	int i = 1;
	
public VersuchPacman()
{
	setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
	
public void loadAndPaint()
{
	try
		{
  			
  			in = new BufferedReader(
			new FileReader(new File("C:\\Programme\\Xinox Software\\JCreator LE\\MyProjects\\VersuchPacman\\Readme\\Kopie von Mappe.txt"))); 
			tokenizer = new StreamTokenizer(in); 
			tokenizer.wordChars('c', 'c');
			tokenizer.wordChars('w', 'w');
			tokenizer.wordChars('n', 'n');
			tokenizer.wordChars('s', 's');
			tokenizer.wordChars('e', 'e');
			tokenizer.whitespaceChars(' ',' ');
        	tokenizer.eolIsSignificant(true);
        	tokenizer.slashStarComments(true);
        	tokenizer.slashSlashComments(true);
        	
		while ((token = tokenizer.nextToken()) != StreamTokenizer.TT_EOF)
		{
  		switch (token)
  			{
    	case StreamTokenizer.TT_WORD:
      		board[count1][count2] = tokenizer.sval;
      		System.out.println(""+board[count1][count2]+""+i);
            i++;
            count2++;
      		break;
      	case StreamTokenizer.TT_EOL:
      		count1++;
      		count2 = 0;
            break;
  			}
		}
		i = 1;
		count1 = 0;
        count2 = 0;
        
		for(count1 = 0; count1 <= 17; count1++)
		{
                           		if(count1 != 0)
                                {
                                boardy+=blocksizey;
                                boardx = 0;
                                }
			for(count2 = 0; count2 <= 40; count2++)
			{
			
  			if(board[count1][count2].equals("n"))
  			{
  				if(dbg == null)
  				{
  				dbg = getGraphics();
  				}
  				dbg.setColor(Color.blue);
    			
  			}
  			
  				else
  				{
  					if(dbg == null)
  					{
  					dbg = getGraphics();
  					}
  					dbg.setColor(Color.black);
    				
				
            	} 
            	paint(dbg);
                boardx+=blocksizex;                
			}	
		}	
	} 
catch (IOException e) { }
}
	
	public void paint(Graphics g)
	{
	g.drawRect(boardx,boardy,blocksizex,blocksizey);
	g.fillRect(boardx,boardy,blocksizex,blocksizey);
	}
	
	public void update(Graphics g)
	{
	paint(g);
	}
	
	public static void main(String args[])
	{
	VersuchPacman neu = new VersuchPacman();
	neu.setSize(294,285);
	neu.setLocation(100,100);
	neu.setVisible(true);
	neu.loadAndPaint();
	} 
}

Kopie von Mappe.txt
Code:
n s n n c n w w w n c n n c n n c n n c n n c n w w w n c n n c n n c n w w w n s n
w w w n c n w w w n c n w w w n c n w w w n c n w w w n c n w w w n c n w w w n c n
w w w n c n w w w n c n n c n n c n w w w n c n w w w n c n w w w n c n w w w n c n
n c n n c n n c n n c n w w w n c n n c n n c n n c n n c n n c n n c n n c n n c n
n c n w w w w w w n c n w w w n c n w w w n c n w w w w w w w w w n c n w w w n c n
n c n w w w w w w n c n w w w n c n w w w n c n n n n n e n n n n n c n w w w n c n
n c n w w w w w w n c n w w w n c n w w w n c n w w w n e n w w w n c n w w w n c n
n c n n c n n c n n c n w w w n c n n c n n c n w w w n e n w w w n c n n c n n c n
n c n w w w w w w n c n w w w n c n w w w n c n w w w w w w w w w n c n w w w n c n
n c n w w w w w w n c n w w w n c n n c n n c n n c n w w w n c n n c n w w w n c n
n c n n c n n c n n c n w w w w w w w w w w w w w w w w w w n c n w w w n c n n c n
n c n w w w w w w n c n w w w n c n n c n n c n n c n n c n n c n w w w n c n w w w
n c n n c n n c n n c n n c n n c n w w w n c n w w w w w w n c n w w w n c n w w w
w w w n c n w w w n c n w w w n c n w w w n c n n c n w w w n c n n c n n c n w w w
w w w n c n w w w n c n w w w n c n w w w w w w n c n w w w n c n w w w n c n w w w
w w w n c n w w w n c n w w w n c n w w w n c n n c n n c n n c n n c n n c n w w w
w w w n c n n c n n c n w w w n c n n c n n c n w w w w w w w w w w w w w w w n c n
w w w n c n w w w n c n w w w n c n w w w n c n n c n n c n n c n n c n n c n n c n
n s n n c n n c n n c n w w w n c n n c n n c n w w w w w w w w w w w w w w w n s n
 

Isaac

Bekanntes Mitglied
Ah ja, war mein Fehler, ich hab die mappe.txt datei nicht geändert. Hab nicht gesehen das du die auch gewechselt hast.
 

Fridolin

Bekanntes Mitglied
Und gehts jetzt? Meine nächste große Aufgabe wird die Kollisionserkennung and Wänden, vorher
muss ich aber noch einen WindowAdapter einbauen damit man das fenster auch vergrößern kann und
das Bild seine Größe behält ich werde euch weiterschreiben :lol:

lg Fridolin
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Tipps zum Code Java Basics - Anfänger-Themen 24
P9cman Tipps für Rekursive Aufgaben mit Strings oder allgemein Java Basics - Anfänger-Themen 2
W Testing Tipps Java Basics - Anfänger-Themen 3
W Tipps/Anmerkungen zu meiner Lösung?! Java Basics - Anfänger-Themen 2
M Brauche Tipps für ein Spiel Java Basics - Anfänger-Themen 4
G Datentypen Tipps, Ratschläge erwünscht bzgl. Datentyp bestimmen über Wertebereich Java Basics - Anfänger-Themen 5
Thallius Best Practice Umsteiger braucht Tipps zur Bildverarbeitung Java Basics - Anfänger-Themen 1
R Tipps zur umsetzung eines Musters mit for-schleife Java Basics - Anfänger-Themen 1
M Tipps für einen Java-Anfänger Java Basics - Anfänger-Themen 5
J Rekursion - Tipps zum Vorgehen Java Basics - Anfänger-Themen 11
J Suche Tipps zum erstellen von Algorithmen Java Basics - Anfänger-Themen 5
D Design-Tipps für neues Programm (Excel-Charts-...) Java Basics - Anfänger-Themen 3
X Tipps zum Vertiefen Java Basics - Anfänger-Themen 12
V Kleiner Wecker mit Gui (Brauche Tipps) Java Basics - Anfänger-Themen 5
GambaJo Brauche Bewertung + Tipps für mein kleines Projekt Java Basics - Anfänger-Themen 4
G Programmstruktur, brauche Tipps Java Basics - Anfänger-Themen 9
F Anfänger - die besten Tipps Java Basics - Anfänger-Themen 3
K Brauche nur Tipps Leute habe keine plan wie ich dass machen Java Basics - Anfänger-Themen 4
P Bitte um ein paar Tipps! (Threads, Warten auf Ereignisse,.) Java Basics - Anfänger-Themen 2
B Tipps für die realisierung eines Projekts: Java Basics - Anfänger-Themen 5
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
L Einstieg Objektorientierung Java Basics - Anfänger-Themen 10
D Java Einstieg Java Basics - Anfänger-Themen 4
G JAVA Einstieg Java Basics - Anfänger-Themen 26
X Erste Schritte Einstieg ins Programmieren Java Java Basics - Anfänger-Themen 2
V Erste Schritte Hilfe gesucht beim einstieg in Java und erste Aufgaben aus der Berufsschule Java Basics - Anfänger-Themen 9
M Wie schaffe ich den Einstieg? Java Basics - Anfänger-Themen 2
T Einstieg in "grafische Progammierung" + Rechnen in Flussdiagramm Java Basics - Anfänger-Themen 2
B Einstieg in swing GUI Java Basics - Anfänger-Themen 7
R Einstieg in Programmierung Java Basics - Anfänger-Themen 8
Z Einstieg in LWJGL Java Basics - Anfänger-Themen 7
D Erste Schritte Einstieg in die Java Spiel Programmierung Java Basics - Anfänger-Themen 7
W Einstieg Objektorientierung Java Basics - Anfänger-Themen 4
R Erste Schritte Einstieg Java Basics - Anfänger-Themen 4
Grejak OOP Einstieg in Objekt-Orientierte-Programmierung Java Basics - Anfänger-Themen 3
E Hilfe beim Einstieg Java Basics - Anfänger-Themen 46
R Einstieg Java Basics - Anfänger-Themen 4
F Einstieg Java Basics - Anfänger-Themen 3
Bastler66 Erste Schritte Einstieg JDK Java Basics - Anfänger-Themen 3
S Erste Schritte Der Einstieg in Java Java Basics - Anfänger-Themen 8
R Einstieg Webentwicklung Java Basics - Anfänger-Themen 3
A Einstieg in Java. Java Basics - Anfänger-Themen 21
N Java Einstieg Schiffe versenken Java Basics - Anfänger-Themen 4
C JAVA - Einstieg mit Eclipse - Update Sites und Ähnliches Java Basics - Anfänger-Themen 6
A Datenbanken - ein Einstieg Java Basics - Anfänger-Themen 4
A Einstieg in JSF Java Basics - Anfänger-Themen 4
A Einstieg in die Programmierung Java Basics - Anfänger-Themen 20
G Einstieg EJB3 Java Basics - Anfänger-Themen 2
M XML-Einstieg Java Basics - Anfänger-Themen 4
M Einstieg in die Webentwicklung mit Java? Java Basics - Anfänger-Themen 16
D Einstieg Java Basics - Anfänger-Themen 4
S MS Visual Studio.NET und Einstieg in Visual JAVA# Java Basics - Anfänger-Themen 27
P Java beginner - Buch: Java- Einstieg für Anspruchsvolle Java Basics - Anfänger-Themen 6
G Einstieg in Java Java Basics - Anfänger-Themen 5
S Was zum Einstieg probieren? Java Basics - Anfänger-Themen 8
S Fragen zum Einstieg Java Basics - Anfänger-Themen 9
K Probleme beim Einstieg Java Basics - Anfänger-Themen 2
A Hilfe beim Java-Einstieg Java Basics - Anfänger-Themen 3
J Java-Einstieg ;-) )) Java Basics - Anfänger-Themen 2
H .java Dateien in Eclipse einbinden und ausführen Java Basics - Anfänger-Themen 1
onlyxlia Schlüsselworte Was meint man mit "einen Typ" in Java erstellen? Java Basics - Anfänger-Themen 2
O Java Kara geschweifte Klammern Java Basics - Anfänger-Themen 2
richis-fragen Mausrad logitech kann links und rechts klick wie in java abragen. Java Basics - Anfänger-Themen 15
XWing Java Klssenproblem Java Basics - Anfänger-Themen 4
R Umgebungsvariable java -cp gibt immer Java-Hilfe... Java Basics - Anfänger-Themen 3
farbenlos Csv Datei in Java einlesen Java Basics - Anfänger-Themen 18
F TableModelListener: java.lang.ArrayIndexOutOfBoundsException: 132 Java Basics - Anfänger-Themen 3
G Java 8 - Support-Ende Java Basics - Anfänger-Themen 7
T Java Weihnachtsbaum + Rahmen Java Basics - Anfänger-Themen 1
N Will mit Java anfangen Java Basics - Anfänger-Themen 13
Ü Java Array - Buchstaben als Zahlen ausgeben Java Basics - Anfänger-Themen 22
M Java Iterator Verständnisfrage Java Basics - Anfänger-Themen 6
M Java Mail Programm Java Basics - Anfänger-Themen 4
Sniper1000 Java 391 für Windows Java Basics - Anfänger-Themen 37
J Java long- in int-Variable umwandeln Java Basics - Anfänger-Themen 6
JaZuDemNo Java im Studium Java Basics - Anfänger-Themen 7
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
I QR code in Java selber generieren Java Basics - Anfänger-Themen 5
V Java-Ausnahmebehandlung: Behandlung geprüfter Ausnahmen Java Basics - Anfänger-Themen 1
krgewb Java Streams Java Basics - Anfänger-Themen 10
A Überwältigt von der komplexen Java Welt Java Basics - Anfänger-Themen 29
O Mehrfachvererbung auf Spezifikations- und Implementierungsebene in Java. Interfaces Java Basics - Anfänger-Themen 19
John_Sace Homogene Realisierung von Generics in Java ? Java Basics - Anfänger-Themen 19
P Meldung aus Java-Klasse in Thread an aufrufende Klasse Java Basics - Anfänger-Themen 1
R mit Java API arbeiten Java Basics - Anfänger-Themen 9
P JDK installieren Probleme bei der Java-Installation Java Basics - Anfänger-Themen 8
S Java: Wie sortiere ich eine ArrayList benutzerdefinierter Objekte nach einem bestimmten Attribut? Java Basics - Anfänger-Themen 2
Timo12345 JNLP File mit Java öffnen Java Basics - Anfänger-Themen 2
S Video Editierung mit Java.._ Java Basics - Anfänger-Themen 2
F Einstelungen in Java - CursorBlinkRate Java Basics - Anfänger-Themen 10
A PHP $_POST["name"] in Java Java Basics - Anfänger-Themen 3
vivansai21 Is there a oneliner to create a SortedSet filled with one or multiple elements in Java? Java Basics - Anfänger-Themen 9
Athro-Hiro Weißes Bild in Java erstellen Java Basics - Anfänger-Themen 3
Arjunreddy Can someone please tell me how to use a debugger in BlueJ(a Java environment) Java Basics - Anfänger-Themen 1
M Java assoziationen (UML) Java Basics - Anfänger-Themen 8
H Excel-Tabellen mit Java erstellen Java Basics - Anfänger-Themen 4
Simon16 Java ArrayListe von einer Klasse sortieren Java Basics - Anfänger-Themen 2
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Nutzt Eclipse alle CPU-Threads beim Ausführen von Java-Programmen? Java Basics - Anfänger-Themen 4
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben