Hallo,
ich wollte aus einer Textdatei eine Map zeichnen lassen mit einem InputStream und einem graphics objekt
allerdings das hab ich nicht geschafft, ich glaube es hat irgendwas mit den zyklen eines applets zu tun aber da ich mich nicht besser auskenne will ich nichts dazu sagen kann sich das vielleicht wer anschauen und mir helfen , wenn man das applet startet kommt auf jedenfall unten ein schriftzug mit applet notinited
lg Fridolin
ich wollte aus einer Textdatei eine Map zeichnen lassen mit einem InputStream und einem graphics objekt
allerdings das hab ich nicht geschafft, ich glaube es hat irgendwas mit den zyklen eines applets zu tun aber da ich mich nicht besser auskenne will ich nichts dazu sagen kann sich das vielleicht wer anschauen und mir helfen , wenn man das applet startet kommt auf jedenfall unten ein schriftzug mit applet notinited
lg Fridolin
Code:
import java.applet.*;
import java.awt.*;
import java.net.*;
import java.io.*;
public class VersuchPacman extends Applet implements Runnable
{
private Graphics dbg;
private URL url;
InputStream stream;
StreamTokenizer tokenizer;
public void init()
{
try
{
url = new URL(getCodeBase(), "Kopie von Mappe.txt");
}
catch (final MalformedURLException e)
{
}
try
{
stream = url.openStream();
tokenizer = new StreamTokenizer(stream);
tokenizer.parseNumbers();
tokenizer.wordChars('c', 'c');
tokenizer.wordChars('w', 'w');
tokenizer.wordChars('n', 'n');
tokenizer.wordChars('s', 's');
tokenizer.wordChars('e', 'e');
tokenizer.wordChars('0', ' ');
tokenizer.eolIsSignificant(true);
tokenizer.ordinaryChars(0, ' ');
tokenizer.slashSlashComments(true);
tokenizer.slashStarComments(true);
tokenizer.whitespaceChars(' ',' ');
String board[][] = new String[18][41];
int boardint[][] = new int[18][41];
int count1 = 0;
int count2 = 0;
int boardx = 0;
int boardy = 0;
String message = "";
int blocksizex = 7;
int blocksizey = 16;
int token;
while ((token = tokenizer.nextToken()) != StreamTokenizer.TT_EOF)
{
switch (token)
{
case StreamTokenizer.TT_WORD:
message = "Word: " + tokenizer.sval;
board[count1][count2] = tokenizer.sval;
count2++;
break;
case StreamTokenizer.TT_EOL:
count1++;
break;
case StreamTokenizer.TT_EOF:
break;
default:
char ch = (char)tokenizer.ttype;
break;
}
}
for(count1 = 0; count1 <= 16; count1++)
{
for(count2 = 0; count2 <= 39; count2++)
{
boardint[count1][count2] = Integer.parseInt(board[count1][count2]);
}
}
for(count1 = 0; count1 <= 16; count1++)
{
boardy+=blocksizey;
boardx = 0;
for(count2 = 0; count2 <= 39; count2++)
{
switch (boardint[count1][count2])
{
case 'n': dbg.setColor(Color.blue);
break;
default: dbg.setColor(Color.black);
break;
}
dbg.fillRect(boardx,boardy,blocksizex, blocksizey);
boardx+=blocksizex;
}
}
}
catch (final IOException e) { }
}
public void start ()
{
Thread th = new Thread (this);
th.start ();
}
public void run ()
{
}
public void paint (Graphics g)
{
paint(dbg);
}
}