Mit GameLoop "Spielfeld-Begrenzung"

Status
Nicht offen für weitere Antworten.

StickToFreak

Aktives Mitglied
Hey Leute,

ich versuche grade Snake zu programmieren.
Bisher habe ich die Schlange, ein Rechteck :D, und den GameLoop. Das ganze sieht zurzeit so aus:
[HIGHLIGHT="Java"]
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Snake3 extends Applet implements KeyListener
{

private int mouseX = 150;
private int mouseY = 150;
private int radius, diameter = 20;
private Color circleColor = Color.black;
private Color rectColor = Color.black;
private Color EssenColor = Color.red;
int diameter1 = 20;
int diameter2 = 4;
int currentDirection;
boolean gameover;
GameLoop game = new GameLoop();

public void init()
{
Dimension full = getSize();
mouseX = full.width / 2;
mouseY = full.height / 2;
radius = diameter / 2;
addKeyListener(this);
game.start();
}

public void paint(Graphics g)
{
g.drawRect(10, 10, 350, 220);
g.setColor(rectColor);
g.setColor(circleColor);
g.fillRect((mouseX), (mouseY), diameter1, diameter2);

}

public void keyPressed(KeyEvent ev)
{

if (mouseX == 20 && ev.getKeyCode() == KeyEvent.VK_A) {
System.out.println("Game Over!");
this.gameover = true;
}

if (mouseY == 20 && ev.getKeyCode() == KeyEvent.VK_W) {
System.out.println("Game Over!");
this.gameover = true;
}

if (mouseX == 300 && ev.getKeyCode() == KeyEvent.VK_D) {
System.out.println("Game Over!");
this.gameover = true;
}

if (mouseY == 200 && ev.getKeyCode() == KeyEvent.VK_S) {
System.out.println("Game Over!");
this.gameover = true;
}

if (ev.getKeyCode() == KeyEvent.VK_D) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_W) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_A) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_S) {
currentDirection = ev.getKeyCode();
}
}

public void keyTyped(KeyEvent ev)
{

if (mouseX == 20 && ev.getKeyCode() == KeyEvent.VK_A) {
System.out.println("Game Over!");
this.gameover = true;
}

if (mouseY == 20 && ev.getKeyCode() == KeyEvent.VK_W) {
System.out.println("Game Over!");
this.gameover = true;
}

if (mouseX == 300 && ev.getKeyCode() == KeyEvent.VK_D) {
System.out.println("Game Over!");
this.gameover = true;
}

if (mouseY == 200 && ev.getKeyCode() == KeyEvent.VK_S) {
System.out.println("Game Over!");
this.gameover = true;
}

if (ev.getKeyCode() == KeyEvent.VK_D) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_W) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_A) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_S) {
currentDirection = ev.getKeyCode();
}
}

public void keyReleased(KeyEvent ev)
{

if (mouseX == 20) {
gameover = true;
}

if (mouseY == 20) {
gameover = true;
}

if (mouseX == 300) {
gameover = true;
}

if (mouseY == 200) {
gameover = true;
}

if (ev.getKeyCode() == KeyEvent.VK_D) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_W) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_A) {
currentDirection = ev.getKeyCode();
}

if (ev.getKeyCode() == KeyEvent.VK_S) {
currentDirection = ev.getKeyCode();
}
}

class GameLoop extends Thread
{

public void run()
{

while (!gameover) {

switch (currentDirection) {

case KeyEvent.VK_D:
mouseX++;
diameter1 = 20;
diameter2 = 4;
repaint();

break;
case KeyEvent.VK_S:
mouseY++;
diameter1 = 4;
diameter2 = -20;

repaint();
break;

case KeyEvent.VK_W:
mouseY--;
diameter1 = 4;
diameter2 = 20;

repaint();
break;

case KeyEvent.VK_A:
mouseX--;
diameter1 = 20;
diameter2 = 4;
repaint();
break;
}

try {
Thread.sleep(30);
}

catch (InterruptedException ev) {
}
}
}
}
}
[/HIGHLIGHT]

Wie ihr sehen könnt, hab ich schon Ansätze zur Game-Over Funktion , dh wenn die Schlange auf die bestimmte Koordinate (Spielfeldbegrezung) gelangt, soll Game Over ausgegeben werden. Nur irgendwie macht er das nicht. Wieso?
 
Zuletzt bearbeitet von einem Moderator:

oldshoe

Bekanntes Mitglied
Hallo....cooles Programm...
Also einen richtige Ursache dafür seh ich auch nicht so schnell.
Hast du mal versucht mouseX und mouseY auszugeben?
Übrigens Zeile 33 und 34 machen doch eigentlich das gleiche oder?

Grüße
 

StickToFreak

Aktives Mitglied
Hm stimmt :D

mouseX,Y ausgeben? per System.out.println(mouseX); ? Im keyTyped, oder wo?
Also ich hab jetzt mal den Teil:
[HIGHLIGHT="Java"]

if (mouseX == 20){
gameover = true;
}
if (mouseY==20){
gameover = true;
}
if (mouseX==300){
gameover = true;
}
if (mouseY==200){
gameover = true;}

[/HIGHLIGHT]
in jeweils keyTyped, keyPressed,keyReleased eingefügt. So nun wenn ich die Taste im Applet gedrückt halte (=keyPressed) kommt der gameover = true;. Ansonsten nicht...
 
Zuletzt bearbeitet:

oldshoe

Bekanntes Mitglied
vielleicht einfach mal per system.out in der switchanweisung in der gameloop-class und schauen ob und wie es sich verändert
 

Marco13

Top Contributor
Wenn man die Taste gerdückt hält, funktionierts... meistens -> Die Kollisionsabfrage muss in den Game Loop - und dann ggf. auch "robuster", d.h. das Spiel ist nicht zuende, wenn man AM rechten Rand ist (x==max) sondern daran oder darüber hinaus (x>=max). (Das wird bei größeren Schrittweiten relevant).
 

StickToFreak

Aktives Mitglied
Das ganze sieht jetzt so aus, funktioniert aber immernoch nicht...:


[HIGHLIGHT="Java"]
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Snake3 extends Applet implements KeyListener {

private int mouseX=150;
private int mouseY=150;
private int radius, diameter = 20;
private Color rectColor= Color.black;
private Color EssenColor = Color.red;
int diameter1 = 20;
int diameter2 = 4;
int currentDirection;
boolean gameover;
GameLoop game = new GameLoop();

public void init()
{
Dimension full = getSize();
mouseX = full.width/2;
mouseY = full.height/2;
radius=diameter/2;
addKeyListener(this);
game.start();
}

public void paint (Graphics g)
{
g.drawRect(10,10,350,220);
g.setColor(rectColor);
g.fillRect((mouseX),(mouseY),diameter1,diameter2);
}

public void keyPressed(KeyEvent ev){}

public void keyTyped(KeyEvent ev) {
if (ev.getKeyCode() == KeyEvent.VK_D) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_W) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_A) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_S) {
currentDirection = ev.getKeyCode();}
}

public void keyReleased(KeyEvent ev) {
if (ev.getKeyCode() == KeyEvent.VK_D) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_W) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_A) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_S) {
currentDirection = ev.getKeyCode();}
}

class GameLoop extends Thread {

public void run(){

if ((mouseX <= 20) || (mouseX >= 300) || (mouseY <= 20) || (mouseY >= 200)){
gameover = true;
}
while(!gameover){

switch(currentDirection){

case KeyEvent.VK_D:
mouseX++;
System.out.println(mouseX);
diameter1=-20;
diameter2=4;
repaint();


break;
case KeyEvent.VK_S:
mouseY++;
System.out.println(mouseX);
diameter1=4;
diameter2=-20;

repaint();
break;

case KeyEvent.VK_W:
mouseY--;
System.out.println(mouseY);
diameter1=4;
diameter2=20;

repaint();
break;

case KeyEvent.VK_A:
mouseX--;
System.out.println(mouseY);
diameter1=20;
diameter2=4;
repaint();
break;
}

try{
Thread.sleep(30);
}



catch (InterruptedException ev){}



}
}
}
}
[/HIGHLIGHT]
 

Marco13

Top Contributor
Wenn es aufgrund der ... Einrückung nicht täuscht, wird die Kollisionsabfrage jetzt nur EINmal gemacht. Sie muss aber NACH jedem Schritt gemacht werden (d.h. sie muss mit in die While-Schleife)
 

StickToFreak

Aktives Mitglied
[HIGHLIGHT="Java"]
while(!gameover){
if(mouseX//usw){
gameover=true;}
}
[/HIGHLIGHT]
Öhm das ist doch keineswegs logisch? Während gameover=false -> wenn gameover=true ôÔ?
 

hdi

Top Contributor
Stimmt schon, du liest das falsch. Es heisst:

Während gameover == false: wenn (mausX usw) dann gameover = true

Der Kommentar gehört da weg, das hat dich vllt irritiert weil er den Block zur Bedingung
gemacht hat.
 

Marco13

Top Contributor
Oder anders formuliert:
while (!gameover) { ... if (kollision) { gameover=true; } ... }

Solange das Spiel nicht zuende ist, prüfe, ob es eine Kollision gab - und wenn ja, dann MACH' dass das Spiel zuende ist...
 

StickToFreak

Aktives Mitglied
Jop, danke Leute funktioniert alles wie gewollt!
Hier der fertige Code:

[HIGHLIGHT="Java"]
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Snake3 extends Applet implements KeyListener {

private int mouseX=150;
private int mouseY=150;
private int radius, diameter = 20;
private Color rectColor= Color.black;
private Color EssenColor = Color.red;
int diameter1 = 20;
int diameter2 = 4;
int currentDirection;
boolean gameover;
GameLoop game = new GameLoop();


public void init()
{
Dimension full = getSize();
mouseX = full.width/2;
mouseY = full.height/2;
radius=diameter/2;
addKeyListener(this);
game.start();
}

public void paint (Graphics g)
{
g.drawRect(10,10,350,220);
g.setColor(rectColor);
g.fillRect((mouseX),(mouseY),diameter1,diameter2);
}

public void keyPressed(KeyEvent ev){}

public void keyTyped(KeyEvent ev) {


if (ev.getKeyCode() == KeyEvent.VK_D) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_W) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_A) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_S) {
currentDirection = ev.getKeyCode();}
}

public void keyReleased(KeyEvent ev) {
if (ev.getKeyCode() == KeyEvent.VK_D) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_W) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_A) {
currentDirection = ev.getKeyCode();}

if (ev.getKeyCode() == KeyEvent.VK_S) {
currentDirection = ev.getKeyCode();}
}

class GameLoop extends Thread {

public void run(){


while(!gameover){

if ((mouseX <= 11) || (mouseX >= 360) || (mouseY <= 11) || (mouseY >= 230)){
gameover = true;
}


switch(currentDirection){

case KeyEvent.VK_D:
mouseX++;
System.out.println(mouseX);
diameter1=-20;
diameter2=4;
repaint();


break;
case KeyEvent.VK_S:
mouseY++;
System.out.println(mouseY);
diameter1=4;
diameter2=-20;

repaint();
break;

case KeyEvent.VK_W:
mouseY--;
System.out.println(mouseY);
diameter1=4;
diameter2=20;

repaint();
break;

case KeyEvent.VK_A:
mouseX--;
System.out.println(mouseX);
diameter1=20;
diameter2=4;
repaint();
break;
}

try{
Thread.sleep(30);
}



catch (InterruptedException ev){}



}
}
}
}

[/HIGHLIGHT]
 

Marco13

Top Contributor
"Fertig" is ein Wort, das du dir im Laufe deines Programmiererlebens abgewöhnen ... wirst... und auch solltest.... :D
 

hdi

Top Contributor
Ich hab da noch n paar Dinge zu bemängeln:

1) gameover sollte ein privater boolean vom GameLoop sein.
2) currentDirection = ev.getKeyCode() kannst du einmal am Ende von keyTyped,
schreiben, das soll ja passieren egal welche Taste gedrückt wurde
3) Das gleiche gilt für's repaint() im GameLoop
4) diameter1, diameter2, currentDirection und game sollten auch private sein
5) Falls du Eclipse benutzt: Drück mal STRG+F (Code sollte schön formatiert sein)

Ansonsten top. Vllt bei "Snake4" mit einem JApplet statt Applet, Swing ist moderner als AWT.
 

StickToFreak

Aktives Mitglied
:D Der Herr will perfekt sein! :)
Also irgendwie hakt das ganze jetzt beim drücken einer Taste ~.~ :D

[HIGHLIGHT="Java"]
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Snake3 extends Applet implements KeyListener {

private int mouseX=150;
private int mouseY=150;
private int radius, diameter = 20;
private Color rectColor= Color.black;
private Color EssenColor = Color.red;
private int diameter1 = 20;
private int diameter2 = 4;
private int currentDirection;
boolean gameover;
GameLoop game = new GameLoop();


public void init()
{
Dimension full = getSize();
mouseX = full.width/2;
mouseY = full.height/2;
radius=diameter/2;
addKeyListener(this);
game.start();
}

public void paint (Graphics g)
{
g.drawRect(10,10,350,220);
g.setColor(rectColor);
g.fillRect((mouseX),(mouseY),diameter1,diameter2);




}

public void keyPressed(KeyEvent ev){}

public void keyTyped(KeyEvent ev) {


if (ev.getKeyCode() == KeyEvent.VK_D) {
}

if (ev.getKeyCode() == KeyEvent.VK_W) {
}

if (ev.getKeyCode() == KeyEvent.VK_A) {
}

if (ev.getKeyCode() == KeyEvent.VK_S) {
}
currentDirection = ev.getKeyCode();
}

public void keyReleased(KeyEvent ev) {
if (ev.getKeyCode() == KeyEvent.VK_D) {
}

if (ev.getKeyCode() == KeyEvent.VK_W) {
}

if (ev.getKeyCode() == KeyEvent.VK_A) {
}

if (ev.getKeyCode() == KeyEvent.VK_S) {
}
currentDirection = ev.getKeyCode();
}

class GameLoop extends Thread {

public void run(){


while(!gameover){

if ((mouseX <= 11) || (mouseX >= 360) || (mouseY <= 11) || (mouseY >= 230)){
gameover = true;
}

switch(currentDirection){

case KeyEvent.VK_D:
mouseX++;
System.out.println(mouseX);
diameter1=-20;
diameter2=4;



break;
case KeyEvent.VK_S:
mouseY++;
System.out.println(mouseY);
diameter1=4;
diameter2=-20;


break;

case KeyEvent.VK_W:
mouseY--;
System.out.println(mouseY);
diameter1=4;
diameter2=20;


break;

case KeyEvent.VK_A:
mouseX--;
System.out.println(mouseX);
diameter1=20;
diameter2=4;

break;


}

try{
Thread.sleep(10);
}



catch (InterruptedException ev){}
repaint();


}
}
}
}

[/HIGHLIGHT]

(ich benutze JavaEditor...^^)

Edit: ICH habe NIE :D gesagt Fertig! :D oder etwa doch?°__° :D
 
Zuletzt bearbeitet:

hdi

Top Contributor
Jetz seh ich ja erst was in deinen KeyListener Methoden passiert:
Und zwar nix ausser dass die currentDirection gesetzt wird.
Kannste mir verraten welchen Sinn deine if-Abfragen haben? -> Alles raus.

Also irgendwie hakt das ganze jetzt beim drücken einer Taste
Was hakt? Dass die Bewegungen erst verspätet ankommen, je nach sleep-Status,
ist eh klar. Denn nur dein GameLoop bewegt den Wurm, nicht die KeyListener selber.
Aber das ist Zufall und hat mit der jetzigen Änderung nix zu tun.
Weiss auch nicht ob das so gut ist oder nicht... Auf der einen Seite kannst du einem
User nich erlauben den Wurm in der Sekunde 15 mal vorzubewegen, nur weil er auf
die Taste hämmert..
Auf der anderen Seite sind verspätete Reaktionen auf Tastendrücke dem User recht unangenehm.

Kommt drauf an wie lang deine sleeps sind. Wenn sie nicht zu lang sind, passt das schon
so wie du es grad hast.

(ich benutze JavaEditor...^^)
Dann hol dir Eclipse: Eclipse downloads - mirror selection
 

StickToFreak

Aktives Mitglied
Jaaa also die if-Abfragen, jaaa, ähm jaa die warn ähmm für, nichts? :D Die sahn nur so proffessionell aus und wollte sie nicht löschen *hust* :D.
Ich war schon lääängst beim Runterladen^^. Hier der schön formatierte Code:

[HIGHLIGHT="Java"]
import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class Snake3 extends Applet implements KeyListener {

private int mouseX = 150;
private int mouseY = 150;
private int radius, diameter = 20;
private Color rectColor = Color.black;
private Color EssenColor = Color.red;
private int diameter1 = 20;
private int diameter2 = 4;
private int currentDirection;
boolean gameover;
GameLoop game = new GameLoop();

public void init() {
Dimension full = getSize();
mouseX = full.width / 2;
mouseY = full.height / 2;
radius = diameter / 2;
addKeyListener(this);
game.start();
}

public void paint(Graphics g) {
g.drawRect(10, 10, 350, 220);
g.setColor(rectColor);
g.fillRect((mouseX), (mouseY), diameter1, diameter2);

}

public void keyPressed(KeyEvent ev) {
}

public void keyTyped(KeyEvent ev) {
currentDirection = ev.getKeyCode();
}

public void keyReleased(KeyEvent ev) {
currentDirection = ev.getKeyCode();
}

class GameLoop extends Thread {

public void run() {

while (!gameover) {

if ((mouseX <= 11) || (mouseX >= 360) || (mouseY <= 11)
|| (mouseY >= 230)) {
gameover = true;
}

switch (currentDirection) {

case KeyEvent.VK_D:
mouseX++;
System.out.println(mouseX);
diameter1 = -20;
diameter2 = 4;

break;
case KeyEvent.VK_S:
mouseY++;
System.out.println(mouseY);
diameter1 = 4;
diameter2 = -20;

break;

case KeyEvent.VK_W:
mouseY--;
System.out.println(mouseY);
diameter1 = 4;
diameter2 = 20;

break;

case KeyEvent.VK_A:
mouseX--;
System.out.println(mouseX);
diameter1 = 20;
diameter2 = 4;

break;

}

try {
Thread.sleep(10);
}

catch (InterruptedException ev) {
}
repaint();

}
}
}
}

[/HIGHLIGHT]
 

hdi

Top Contributor
Und wo ist jetzt noch das Problem? Weil du meintest es "hakt".
Kann's leider nicht testen, du weisst ja die Nummerierungen beim Copy.
(Ist das eig. so ein schwerwiegendes Problem? Wieso is das nich schon lange gefixt,
ist doch schon seit mind. 1 Woche bekannt)
 

StickToFreak

Aktives Mitglied
Ja keine Ahnung, irgendwie kam mir das grade so vor, kann es vllt. damit zusammenliegen, da wir das repaint(); zsm. gefasst haben?!

Könntest du mir jetzt noch verraten wie ich verflixxt noch mal das im Eclpise starten kann :D ? Also das Applet?^^
 

hdi

Top Contributor
Datei Rechtsklick -> Run As -> Java Applet
a keine Ahnung, irgendwie kam mir das grade so vor, kann es vllt. damit zusammenliegen, da wir das repaint(); zsm. gefasst haben?!
Wie ich schon vorhin sagte: Nicht nur neugemalt, sondern ja auch in der Logik verändert
sich ja nur innerhalb des Gameloops etwas.

Mit Glück drückst du die Taste sobald er die Schleife anfängt, und es ändert sich sofort.
Mit Pech wartest du die komplette sleeptime ab.
Is klar was ich meine?

Du musst jetzt wissen wie du das lösen willst.
Man sollte halt den Wurm nicht zu schnell bewegen dürfen.
 

StickToFreak

Aktives Mitglied
Jap ich weiß wie du das meinst, ja mal gucken, ich denke das ist jetzt erst mal sekundär. Ich geh nämlich jetzt schlafen! :D Gute Nacht.^^

Edit: Oke doch nicht, bei mir steht da nur (none applicable)... Und jetzt ôÔ ? :D
 
Zuletzt bearbeitet:

hdi

Top Contributor
was none applicable? Hm kA..
Heisst die Datei richtig? (Snake3.java)

Mir is aber grad was anderes eingefallen: Und zwar ist es bei Snake durchaus
so gedacht, wie es bei dir im Moment ist. Man soll den Wurm nicht beschleunigen
können durch schnelles Tastendrücken.

Wenn du also den Anschein hast, das Game spielt sich "rucklig", dann liegt das
nur daran dass deine sleep-Time zu hoch ist!
Höher als 250ms sollten es nicht sein, und dann ist das auch zu schnell um vom
menschlichen Auge als "verspätete Reaktion des Spiels" wahrgenommen zu werden.

Immerhin ist das ja auch die Challenge bei Snake: Wenn der Wurm sich nur langsam
bewegt ist es kein Problem sich da durchzuwurschteln, auch wenn er sehr lang wird.
 

StickToFreak

Aktives Mitglied
Also bei mir steht sleep bei 10 weil mir 250 zu langsam war :D entweder ist hier was falsch oder ich hab durchaus überbegarbte Augen :D, wobei ich eher glaube das was nicht stimmen kann :D. Wie durch schnelleres drücken? nein der beschleunigt doch dann nicht ôÔ ? Eben ausprobieren.


Edit: Also durch schnelleres klicken stockt er -> erklärt also auch das stocken wenn man die Taste drückt um um die Ecke zu kommen^^.
 

hdi

Top Contributor
sleep 10?
Ach... du bewegst den Wurm pixelweise?

Naja gut, wird später etwas hässlich zwecks Kollisionsabfrage und überhaupt.

Ich würde den Wurm immer um die Grösse eines seiner Segmente bewegen,
und das dann aber nur alle 250ms.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Rinderfilet75 GameLoop Render Methode Java Basics - Anfänger-Themen 4
StickToFreak Applet -> GameLoop + Listener / Listener funktioniert nicht Java Basics - Anfänger-Themen 22
Ostkreuz Spielfeld Schatz erstellen Java Basics - Anfänger-Themen 5
R Erste Schritte Probleme bei 2D Spielfeld, mit einzufügender "Person" Java Basics - Anfänger-Themen 5
E Spielfeld mit Spielern belegen? Java Basics - Anfänger-Themen 4
L Simples Spielfeld erzeugen Java Basics - Anfänger-Themen 1
W Erste Schritte Ein Spielfeld aufbauen/generieren Java Basics - Anfänger-Themen 1
Y Erste Schritte Spielfeld, Array füllen mit Treffern...?! Java Basics - Anfänger-Themen 3
D Erste Schritte spielfeld als Datenspeicher implementieren Java Basics - Anfänger-Themen 1
D spielfeld als Datenspeicher implementieren Java Basics - Anfänger-Themen 5
T TicTacToe Spielfeld Java Basics - Anfänger-Themen 7
M Spielfeld mit 10x10 Felder Java Basics - Anfänger-Themen 13
masii Spielfeld auf Konsole ausgeben Java Basics - Anfänger-Themen 3
S Spielfeld Ausgabe mit 2 for - Schleifen möglich ? Java Basics - Anfänger-Themen 4
F Mausposition im Spielfeld auslesen Java Basics - Anfänger-Themen 26
P Spielfeld für SchiffeVersenken auf Kommandozeilenebene Java Basics - Anfänger-Themen 5
E begrenzung des platzes im heap Java Basics - Anfänger-Themen 4
F u.a. Ressourcen begrenzung für Java-Anwendung Java Basics - Anfänger-Themen 5
G Begrenzung bei PrintWriter? Java Basics - Anfänger-Themen 6
M Gibt es eine Begrenzung der Anzahl der Objekte? Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben