Schach in Java-Applet <No main classes found>

Ego_Akkarin

Mitglied
Hi

Ich habe habe mir selbst das Ziel gesetzt ein Schach mit gegnerischer KI zu programmieren, da ich gern ein GUI hätte habe ich es in Java-Applet realisiert.

Nun kurz vor Schluss habe ich ein Problem... (wer häts gedacht)
Immer wen ich das Applet starten will erhalte ich die Fehlermeldung <No main classes found>(die Fehlermeldung ist im Anhang
Ich arbeite mit Netbeans und dies ist eins meiner ersten Projekte in JavaApplet

Java:
package chess;

import java.applet.Applet;
import java.awt.*;

public class ChessPartner extends Applet
{
	//reference for the board classDie Referenz auf die KI
	board brain;

	//the elements of the GUI
	Button newgame = new Button ("start new game");

//events
public boolean action (Event evt, Object arg) {
	if ( ((String) arg).equals ("start new game"))
		brain.newgame ();	
	return true;
}
//initialize the applet
public void init() {
	super.init();

	//initialize AI
	brain = new board (this);
	
	//build GUI
	setBackground (Color.lightGray);
	setLayout (new BorderLayout (10,10));
	
	add ("Center", brain);
	add ("South", newgame);	
}
//make a border with 10 bixels width
public Insets insets () {
	return new Insets (10,10,10,10);
}
}

Teil 1

Java:
package chess;

import java.applet.Applet;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;

public class board extends java.awt.Canvas
	implements
		java.awt.event.MouseListener, java.awt.event.MouseMotionListener,
		java.lang.Runnable
{
	//The intern representation of the chessboard
	int [] board = new int [120];

	//a second board for the graphic
	int [] graphboard = new int [120];

	//some colors
	Color dunkel = new Color (0x999999);
	Color hell = new Color (0xFFFFCC);
	Color red = new Color (0xCC0000);
	Color green = new Color (0x009900);
	Color blue = new Color (0x000099);

	//the piece images
	Image [] pieces = new Image [18];

	//a reference of the applet
	Applet parent;

	//variables for Drag&Drop
	int 	code 	= 0,			//forbid access to the movelist
			start = 21,		//index of the start field
			alt 	= 21,		//did the mouse move to an other field?
			end	= 21,		//index of the end field
			x	= 0,		//x koordinate
			y 	= 0;		//y koordinate

	//variables of the AI
	int [] movelist = new int [250];  	//valid move control
	int movecounter = 0;
	int color = 1;				//color of the player that can move
	Thread th = null;			//AI thread
	int deep = 0;				//actual deep
	int target = 4;				//target deep
	float value = 0;			//minimax
	float minimax [] = new float [10];
	float alphabeta [] = new float [10];	//Alpha Beta
	boolean ababort = false;
	int move;				//move of the AI

	//variables for the evaluation
	float [] posvalues =
		{	0.00f,	0.00f, 	0.00f, 	0.00f, 	0.00f, 	0.00f, 	0.00f, 	0.00f, 	0.00f, 	0.00f,
			0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,
			0.00f,	0.00f,	0.01f,	0.02f,	0.03f,	0.03f,	0.02f,	0.01f,	0.00f,	0.00f,//8
			0.00f,	0.01f,	0.04f,	0.04f,	0.04f,	0.04f,	0.04f,	0.04f,	0.01f,	0.00f,//7
			0.00f,	0.03f,	0.04f,	0.06f,	0.06f,	0.06f,	0.06f,	0.04f,	0.02f,	0.00f,//6
			0.00f,	0.03f,	0.04f,	0.06f,	0.08f,	0.08f,	0.06f,	0.04f,	0.03f,	0.00f,//5
			0.00f,	0.03f,	0.04f,	0.06f,	0.08f,	0.08f,	0.06f,	0.04f,	0.03f,	0.00f,//4
			0.00f,	0.02f,	0.04f,	0.06f,	0.06f,	0.06f,	0.06f,	0.04f,	0.02f,	0.00f,//3
			0.00f,	0.01f,	0.04f,	0.04f,	0.04f,	0.04f,	0.04f,	0.04f,	0.01f,	0.00f,//2
			0.00f,	0.00f,	0.01f,	0.02f,	0.03f,	0.03f,	0.02f,	0.01f,	0.00f,	0.00f,//1
			0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,
			0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f,	0.00f };

public board (java.applet.Applet ref) {
	super();
	//initialize alpha beta
	alphabeta [0] = -3000.0f;
	newgame ();

	//load images
	MediaTracker controler = new MediaTracker (ref);

	pieces [1] = ref.getImage (ref.getCodeBase (), "images/white_pawn.gif");
	pieces [2] = ref.getImage (ref.getCodeBase (), "images/white_knight.gif");
	pieces [3] = ref.getImage (ref.getCodeBase (), "images/white_bishop.gif");
	pieces [4] = ref.getImage (ref.getCodeBase (), "images/white_rook.gif");
	pieces [5] = ref.getImage (ref.getCodeBase (), "images/white_queen.gif");
	pieces [6] = ref.getImage (ref.getCodeBase (), "images/white_king.gif");

	pieces [11] = ref.getImage (ref.getCodeBase (), "images/black_pawn.gif");
	pieces [12] = ref.getImage (ref.getCodeBase (), "images/black_knight.gif");
	pieces [13] = ref.getImage (ref.getCodeBase (), "images/black_bishop.gif");
	pieces [14] = ref.getImage (ref.getCodeBase (), "images/black_rook.gif");
	pieces [15] = ref.getImage (ref.getCodeBase (), "images/black_queen.gif");
	pieces [16] = ref.getImage (ref.getCodeBase (), "images/black_king.gif");

	for (int i = 1; i < 7; i++)
	{
		controler.addImage (pieces [i], 0);
		controler.addImage (pieces [i + 10], 0);
	}

	try {
		controler.waitForAll ();	//wait until the images are loaded
	} catch (InterruptedException e) {
		System.out.println ("Images not successfull loaded - Trying again ...");
		controler.checkID (0, true);
	}

	//set applet reference
	parent = ref;

	//events
	addMouseListener (this);
	addMouseMotionListener (this);
}
//evaluate a position
public float evaluation ( ) {
	float value = 0;
	float figur = 0;

	for (int i = 21; i < 99; i++)
	{
		if ( board [i] != 0 )
		{
			//material
			switch (board [i] % 10)
			{
				case 1:
					figur = 1.0f;
					break;
				case 2:
				case 3:
					figur = 3.0f;
					break;
				case 4:
					figur = 4.5f;
					break;
				case 5:
					figur = 9.0f;
					break;
				case 6:
					figur = 0.0f;
			}

			//position
			figur += posvalues [i];

			if ( board [i] % 100  / 10 == color)
				value += figur;
			else
				value -= figur;
		}

		if ( i%10 == 8)
			i += 2;
	}
	return value;
}
//execute a move
public void execute (int start, int end)
{
	board [end] = board [start];
	board [start] = 0;

	//Rochade ?
	if (board [end] % 10 == 6)
	{
		if( end == start + 2)
		{	//little
			board [start + 1] = board [start + 3] % 100;
			board [start + 3] = 0;

			graphboard [start + 1] = board [start + 1];
			graphboard [start + 3] = 0;

			paintField (start + 3);
			paintField (start + 1);
		}
		if( end == start - 2)
		{	//big
			board [start - 1] = board [start - 4] % 100;
			board [start - 4] = 0;

			graphboard [start - 1] = board [start - 1];
			graphboard [start - 4] = 0;

			paintField (start - 4);
			paintField (start - 1);
		}
	}

	//change pawn?
	if ( (board [end] % 10 == 1) && ((end < 29) || (end > 90)) )
		board [end] += 4;;

	graphboard [start] = board [start];
	graphboard [end] = board [end];

	paintField (end);
	paintField (start);

	//change player
	if (color == 1)
	{
		color = 2;

		//look for best move
		th = new Thread (this);
		th.setPriority (10);
		th.start ();

	} else {
		color = 1;

		//calculate valid moves
		movecounter = 0;
		deep = 0;
		target = 1;
		genmove ();

		if (movecounter == 0)	//no valid moves -> end of game
		{
			if (ischeck ())
				parent.getAppletContext ().showStatus ("Black wins!");
			else
				parent.getAppletContext ().showStatus ("Game is a draw!");
		}
	}
}
//generates valid moves
public void genmove () {
	deep++;
	ababort = false;

	//find checkmath and initialize alphabeta
	if (deep % 2 != 0)
	{	//Computer
		minimax [deep] = 2000.0f;
		alphabeta [deep] = 3000.0f;
	} else {
		//human
		minimax [deep] = -2000.0f;
		alphabeta [deep] = -3000.0f;
	}

	for (int i = 21; i < 99; i++)
	{
		if (board [i] % 100 / 10 == color)	//check color
		{
			switch (board [i] % 10)
			{
				case 1:	//pawn
					if (color == 1)	//white pawn ?
					{
						if (board [i-10] == 0)
							simulize ( i, i-10);
						if (board [i- 9] % 100 / 10 == 2)
							simulize ( i, i-9 );
						if (board [i-11] % 100 / 10 == 2)
							simulize ( i, i-11);
						if ( (i>80) && ( ( board [i-10] == 0) && (board [i-20] == 0)))
							simulize ( i, i-20);
					} else {	//black pawn
						if (board [i+10] == 0)
							simulize ( i, i+10);
						if (board [i+9] % 100 / 10 == 1)
							simulize (i, i+9);
						if (board [i+11] % 100 / 10 == 1)
							simulize (i, i+11);
						if ( (i<39) && ( (board [i+10] == 0) && (board [i+20] == 0)))
							simulize (i, i+20);
						//en passant
					}
					break;
				case 2:	//knight
					simulize (i, i+12);
					simulize (i, i-12);
					simulize (i, i+21);
					simulize (i, i-21);
					simulize (i, i+19);
					simulize (i, i-19);
					simulize (i, i+8 );
					simulize (i, i-8 );
					break;
				case 5:	//queen
				case 3:	//bishop
					multisimulize ( i,  -9);
					multisimulize ( i, -11);
					multisimulize ( i,  +9);
					multisimulize ( i, +11);

					if (board [i] % 10 == 3)
						break;
				case 4:	//rook
					multisimulize (i, -10);
				 	multisimulize (i, +10);
					multisimulize (i,  -1);
					multisimulize (i,  +1);
					break;
				case 6:	//king
					if ((board [i] / 100 == 1) && (! ischeck ()))
					{
						if (((board [i+1] == 0) && (board [i+2] == 0)) && (board [i+3] / 100 == 1))
						{	//little casteling
							board [i+1] = board [i] % 100;
							board [i] = 0;

							if (! ischeck ())
							{
								//king back
								board [i] = board [i+1];

								//move rook
								board [i + 1] = board [i + 3] % 100;
								board [i + 3] = 0;

								simulize (i, i+2);

								//takeback
								board [i + 3] = board [i + 1] + 100;
								board [i+1] = board [i];
							}

							//rebuild original position
							board [i] = board [i + 1] + 100;
							board [i + 1] = 0;
						}

						if (((board [i-1] == 0) && (board [i-2] == 0)) && ((board [i-3] == 0) && (board [i-4] / 100 == 1)))
						{	//big casteling
							board [i-1] = board [i] % 100;
							board [i] = 0;

							if (! ischeck ())
							{
								//king back
								board [i] = board [i-1];

								//move rook
								board [i - 1] = board [i - 4] % 100;
								board [i - 4] = 0;

								simulize (i, i-2);

								//tackeback
								board [i - 4] = board [i - 1] + 100;
								board [i - 1] = board [i];
							}

							//rebuild original position
							board [i] = board [i - 1] + 100;
							board [i - 1] = 0;
						}
					}

					simulize (i, i+1);
					simulize (i, i-1);
					simulize (i, i+10);
					simulize (i, i-10);
					simulize (i, i+9);
					simulize (i, i-9);
					simulize (i, i+11);
					simulize (i, i-11);
			}
		}

		if ( i%10 == 8)
			i += 2;
	}

	deep--;
	ababort = false;
}
//is king in check?
public boolean ischeck () {
	int king = 0;

	//search king
	for ( int i = 21; i < 99; i++)
	{
		if ((board [i] % 100 / 10 == color) && (board [i] % 10 == 6))
		{
			king = i;
			break;
		}

		if ( i % 10 == 8)
			i += 2;
	}

	//knight
	if ((board [king-21] % 10 == 2) && (board [king-21] % 100 / 10 != color))
		return true;
 	if ((board [king+21] % 10 == 2) && (board [king+21] % 100 / 10 != color))
		return true;
	if ((board [king-19] % 10 == 2) && (board [king-19] % 100 / 10 != color))
		return true;
	if ((board [king+19] % 10 == 2) && (board [king+19] % 100 / 10 != color))
		return true;
	if ((board [king- 8] % 10 == 2) && (board [king- 8] % 100 / 10 != color))
		return true;
	if ((board [king+ 8] % 10 == 2) && (board [king+ 8] % 100 / 10 != color))
		return true;
	if ((board [king-12] % 10 == 2) && (board [king-12] % 100 / 10 != color))
		return true;
	if ((board [king+12] % 10 == 2) && (board [king+12] % 100 / 10 != color))
		return true;

   	//ishop
	int j = king;
	while (board [j - 9] != 99)
	{
		j -= 9;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ((board [j] % 10  == 3) || (board [j] % 10  == 5))
			return true;
		else
			break;
	}

	j = king;
	while (board [j+9] != 99)
	{
		j += 9;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ((board [j] % 10 == 3) || (board [j] % 10 == 5))
			return true;
		else
			break;
	}

	j = king;
	while (board [j-11] != 99)
	{
		j -= 11;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ( (board [j] % 10 == 3) || (board [j] % 10 == 5))
			return true;
		else
			break;
	}

	j = king;
	while (board [j+11] != 99)
	{
		j +=11;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ( (board [j] % 10 == 3) || (board [j] % 10 == 5))
			return true;
		else
			break;
	}

	//rook
	j = king;
	while (board [j-10] != 99)
	{
		j -= 10;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ((board [j] % 10 == 4) || (board [j] % 10 == 5))
			return true;
		else
			break;
	}
	j = king;
	while (board [j+10] != 99)
	{
		j += 10;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ((board [j] % 10 == 4) || (board [j] % 10 == 5))
			return true;
		else
			break;
	}
	j = king;
	while (board [j-1] != 99)
	{
		j -=1;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ((board [j] % 10 == 4) || (board [j] % 10 == 5))
			return true;
		else
			break;
	}
	j = king;
	while (board [j+1] != 99)
	{
		j +=1;
		if (board [j] % 100 / 10 == color)
			break;
		if (board [j] == 0)
			continue;
		if ((board [j] % 10 == 4) || (board [j] % 10 == 5))
			return true;
		else
			break;
	}

	//pawn
	if (color == 1)
	{
		if ((board [king-11] % 10 == 1) && (board [king-11] % 100 / 10 == 2))
			return true;
		if ((board [king- 9] % 10 == 1) && (board [king- 9] % 100 / 10 == 2))
			return true;
	} else {
		if ((board [king+11] % 10 == 1) && (board [king+11] % 100 / 10 == 1))
			return true;
		if ((board [king+ 9] % 10 == 1) && (board [king+ 9] % 100 / 10 == 1))
			return true;
	}

	//king
	if ( board [king+ 1] % 10 == 6 )
		return true;
	if ( board [king- 1] % 10 == 6 )
		return true;
	if ( board [king+10] % 10 == 6 )
		return true;
	if ( board [king-10] % 10 == 6 )
		return true;
	if ( board [king+11] % 10 == 6 )
		return true;
	if ( board [king-11] % 10 == 6 )
		return true;
	if ( board [king+ 9] % 10 == 6 )
		return true;
	if ( board [king- 9] % 10 == 6 )
		return true;

	return false;
}
//checks if a human move is valid
public boolean isvalid (int move)
{
	for (int i = 0; i < movecounter; i++) {
		if (movelist [i] == move)
			return true;
	}
	return false;
}
    @Override
public void mouseClicked(java.awt.event.MouseEvent e) {
}
    @Override
public void mouseDragged(java.awt.event.MouseEvent e) {
	x = e.getX() / 40;
	if (x < 0 )
		x = 0;
	if (x > 7 )
		x = 7;

	y = e.getY() / 40;
	if (y < 0)
		y = 0;
	if (y > 7 )
		y = 7;

	end = 21 + y * 10 + x;

	if ( end != alt)
	{
		//rebuild old field
		if	(alt != start)
			paintField (alt);

		if ( end != start)
		{	//mark new field
			Graphics g = getGraphics ();

			if ( (code != 1) && (isvalid (start * 100 + end) ))
				g.setColor (green);
			else
				g.setColor (red);

			g.fillRect (x * 40, y * 40, 40, 40);
			try {
				g.drawImage (pieces [graphboard [end] % 100 - 10], x * 40, y * 40, 40, 40, parent);
			} catch (ArrayIndexOutOfBoundsException ex) {}
		}

		alt = end;
	}
}
public void mouseEntered(java.awt.event.MouseEvent e) {
}
public void mouseExited(java.awt.event.MouseEvent e) {
}
public void mouseMoved(java.awt.event.MouseEvent e) {
}
public void mousePressed(java.awt.event.MouseEvent e)
{
	x = e.getX() / 40;
	if (x < 0)
		x = 0;
	if (x > 7)
		x = 7;

	y = e.getY() / 40;
	if (y < 0)
		y = 0;
	if (y > 7)
		y = 7;

	start = 21 + y*10 + x;
	alt = start;
	end = start;

	//mark start field
	Graphics g = getGraphics ();
	g.setColor (blue);
	g.fillRect (x * 40, y * 40, 40, 40);
	try {
		g.drawImage (pieces [graphboard [start] % 100 - 10], x * 40, y * 40, 40, 40, parent);
	} catch (ArrayIndexOutOfBoundsException ex) {}
}
public void mouseReleased(java.awt.event.MouseEvent e) {
	//erase marks
	paintField (start);
	paintField (end);

	//execute move if valid
	if ((code != 1) && (isvalid (start * 100 + end ) ))
		execute (start, end);
}
//simulation for queen, rook and bishop
public void multisimulize (int start, int inc) {
	int to = start;

	while ((board [to + inc ] != 99) && (board [to + inc] % 100 / 10  != color))
	{
		to += inc;

		if (board [to] != 0)
		{
			simulize (start, to);
			return;
		}
		simulize (start, to);
	}
	simulize (start, to);
}
//prepare AI for a new game
public void newgame ()
{
	if (parent != null)
		parent.getAppletContext ().showStatus ("");

	//kill AI thread
	if (th != null)
		th.stop ();
	th = null;

	//gemerate original position
	int [] org = {
		99,	99,	99,	99,	99,	99,	99,	99,	99,	99,
		99,	99,	99,	99,	99,	99,	99,	99,	99,	99,
		99,	124,	22,	23,	25,	126,	23,	22,	124,	99,
		99,	21,	21,	21,	21,	21,	21,	21,	21,	99,
		99,	00,	00,	00,	00,	00,	00,	00,	00,	99,
		99,	00,	00,	00,	00,	00,	00,	00,	00,	99,
		99,	00,	00,	00,	00,	00,	00,	00,	00,	99,
		99,	00,	00,	00,	00,	00,	00,	00,	00,	99,
		99,	11,	11,	11,	11,	11,	11,	11,	11,	99,
		99,	114,	12,	13,	15,	116,	13,	12,	114,	99,
		99,	99,	99,	99,	99,	99,	99,	99,	99,	99,
		99,	99,	99,	99,	99,	99,	99,	99,	99,	99 };

	for (int i=0; i < 120; i++) {
		board [i] = org [i];
		graphboard [i] = org [i];
	}
	repaint ();

	movecounter = 0;
	color = 1;
	deep = 0;
	target = 1;
	genmove ();
	code = 0;
}
//paint chessboard
public void paint (Graphics g) {
	for ( int i = 21; i < 99; i++)
	{
		paintField (i);
		if ( i%10 == 8)
			i += 2;
	}
}
//paint single field
public void paintField (int index)
{
	//load graphic reference
	Graphics g = getGraphics ();

	//calculate x and y
	int x = (index - 21) % 10;
	int y = (index - 21) / 10;

	//paint ground field
	if ( (x*11 + y) % 2 == 0)
		g.setColor( hell );
	else
		g.setColor( dunkel );

	g.fillRect ( x * 40, y * 40, 40, 40);

	//paint piece
	try {
		g.drawImage (pieces [graphboard [index] % 100 - 10], x * 40, y * 40, 40, 40, parent);
	} catch (ArrayIndexOutOfBoundsException e) {}
}
//AI thread
public void run() {
	//no access to the movelist
	code = 1;

	deep = 0;
	target = 4;

	//look for best move
	movecounter = 0;
	genmove ();

	if (movecounter == 0)	//no moves -> end of game
	{
		if (ischeck () )
			parent.getAppletContext ().showStatus ("white wins!");
		else
			parent.getAppletContext ().showStatus ("game is a draw!");
		return;
	}
	//execute move
	execute ( move / 100, move % 100 );

	//give accesss to the movelist
	code = 0;
}
//here simulize the move
public void simulize (int start, int end) {
	if ((board [end] == 99) || (board [end] % 100 / 10 == color))
		return;

	if (ababort)	//alpha beta
		return;

	//simulize move
	int orgstart = board [start];
	int orgend = board [end];

	board [end] = board [start];
	board [start] = 0;

	//change pawn
	if ((board [end] % 10 == 1) && ((end < 29) || (end > 90)))
		board [end] += 4;

	if (! ischeck ())
	{
		if (deep == 1) {
			movelist [movecounter] = start * 100 + end;
			movecounter++;
		}

		//calculate value of this node
		if (target == deep)
			 value = evaluation ();
		else {
			if (color == 1)
				color = 2;
			else
				color = 1;

			genmove ();
			value = minimax [deep + 1];

			//change alpha beta field?
			if (deep % 2 != 0)
			{	//computer
				if (value < alphabeta [deep])
					alphabeta [deep] = value;
			} else {
				//human
				if (value > alphabeta [deep])
					alphabeta [deep] = value;
			}

			if (color == 1)
				color = 2;
			else
				color = 1;
		}

		//minimax
		if (deep % 2 == 0)
		{	//human
			if (value > minimax [deep] )
				minimax [deep] = value;
			//alphabeta
			if (value > alphabeta [deep - 1])
				ababort = true;

		} else {
			//computer
			if (value <= minimax [deep] )
			{
				minimax [deep] = value;
				if (deep == 1)
					move = start * 100 + end;
			}
			//alphabeta
			if (value < alphabeta [deep - 1])
				ababort = true;
		}
	}

	//undo move
	board [start] = orgstart;
	board [end] = orgend;
}
}
Teil 2

[XML]<!DOCTYPE html>
<html>
<head>
<title>Ego_Akkarin's Chess</title>
</head>
<body>
<object type="application/x-java-applet;version=1.4.1" name="jsap" id="jsap" width="600" height="600">
<param name="archive" value="Chess.jar">
<param name="code" value="ChessPartner.java">
<param name="mayscript" value="yes">
<param name="scriptable" value="true">
</object>
</body>
</html>
[/XML]


ich denke es ist wahrscheinlich irgendein banaler Fehler und ich sehe den Wald vor lauter Bäumen nicht mehr...

Vielen dank für die Hilfe Ego
 
G

Gonzo17

Gast
Du solltest auf jeden Fall Klassennamen groß schreiben. Sowohl eine Klasse, wie auch ein Feld in der Klasse "board" zu nennen, ist ganz schön übel.. (auch wenn das dein Problem nicht lösen wird)
 

parabool

Bekanntes Mitglied
package fehlt und es wird ja die compilierte Datei gebraucht also class

So: chess.ChessPartner.class


nebenbei: wie hast du das bis jetzt getestet?
und (nur kurz) nach welchem Prinzip funktioniert die gegnerische KI?
 
Zuletzt bearbeitet:

Ego_Akkarin

Mitglied
naja gibt noch keine Tests.... ^^

ist auch zumeist aus anderen Code teilen zusammen gestiefelt...
ich habe es jetzt zum laufen gebracht.. in eclipse
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Schach in Java - Allgemeine Frage zur Architektur Java Basics - Anfänger-Themen 7
O Schach programmieren mit java Java Basics - Anfänger-Themen 4
M Schach Diagonalerichtung Java Basics - Anfänger-Themen 2
Hias12345 Schach(Springer Logik) Java Basics - Anfänger-Themen 27
G Schach -Frage 2- Maussteuerung Java Basics - Anfänger-Themen 7
S Schach Frontend programmieren Java Basics - Anfänger-Themen 2
I Backtracking Schach Java Basics - Anfänger-Themen 5
C Schach(matt) setzen Java Basics - Anfänger-Themen 13
T Springer Problem - Schach Java Basics - Anfänger-Themen 4
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
xXGrowGuruXx Java einstieg, leichte sache 0 verstanden Java Basics - Anfänger-Themen 7
A java.sql.SQLException: Data type mismatch. Java Basics - Anfänger-Themen 1
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
N Java Spiel Figur auf dem Hintergrundbild bewegen. Java Basics - Anfänger-Themen 11
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
N Java Taschenrechner hat Jemand vlt einen Tipp dafür wie ich jetzt die buttons verbinden kann und das Ergebnis auf dem textfield anzeigen lassen kann Java Basics - Anfänger-Themen 13
A Lerngruppe Java Java Basics - Anfänger-Themen 2
G Help me in the Java Program Java Basics - Anfänger-Themen 2
L Java- Vererbung Java Basics - Anfänger-Themen 4
LimDul Suche Java Stream Tutorial Java Basics - Anfänger-Themen 2
_so_far_away_ Ich möchte Java lernen Java Basics - Anfänger-Themen 11
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
M Datentypen While-Schleife eine Java Methode erstellen Java Basics - Anfänger-Themen 3
V Bild per Java Script austauschen Java Basics - Anfänger-Themen 7
MoxMorris this Keyword in Java Java Basics - Anfänger-Themen 14
D Wie kann man in Java nach Arrays auf Duplikate prüfen Java Basics - Anfänger-Themen 12
wolei JAVA Zeitdifferenz feststellen. Java Basics - Anfänger-Themen 4
DiyarcanZeren Rekursion in Java Java Basics - Anfänger-Themen 5
wolei Java generic interface in a generic class Java Basics - Anfänger-Themen 6
monsterherz Ablauf der Erstellung eines Java Programmes Java Basics - Anfänger-Themen 17
monsterherz Circle.java:5: error: <identifier> expected Java Basics - Anfänger-Themen 2
julian-fr Wie kann ich am besten Java lernen? Java Basics - Anfänger-Themen 17
A Java-Properties und -RessourceBundles Java Basics - Anfänger-Themen 5
lrnz22 Java-Basics-Aufgabe Java Basics - Anfänger-Themen 8
R Java kann nicht installiert werden Java Basics - Anfänger-Themen 8
marcelnedza Finde meinen Fehler in einer Methode nicht, Java Karol Java Basics - Anfänger-Themen 15
G In ein java Dokument Ton einbinden Java Basics - Anfänger-Themen 1
C was heisst es wenn java ']' erwartet ? Java Basics - Anfänger-Themen 2
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
KeinJavaFreak Erste Schritte Java "Executable Jar File" nicht vorhanden Java Basics - Anfänger-Themen 1
melisax Java 2D-Array Tabelle Java Basics - Anfänger-Themen 4
melisax Java Array Wert an bestimmtem Index angeben Java Basics - Anfänger-Themen 14
J Java Testklasse Java Basics - Anfänger-Themen 5
P Java Selenium . Parameterized.Parameters erzeugt eine Fehlermeldung Java Basics - Anfänger-Themen 14
W Java-Code mit Array Java Basics - Anfänger-Themen 14
W Java-Code Java Basics - Anfänger-Themen 2
P BeforeEach AfterEach werden nicht ausgeführt. Java / Selenium Java Basics - Anfänger-Themen 4
A Wie führe ich eine Batch-Datei von meiner Java-Anwendung aus? Java Basics - Anfänger-Themen 18
W Java code- TicTac toe Java Basics - Anfänger-Themen 51
Ostkreuz Java Docs Java Basics - Anfänger-Themen 9
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
W Java-code Java Basics - Anfänger-Themen 8
W Java-code Java Basics - Anfänger-Themen 9
W Java-Code erklären Java Basics - Anfänger-Themen 6
A Java Kurs / Tutorial Java Basics - Anfänger-Themen 6
K Java Lotto Spiel; ich komme nicht weiter Java Basics - Anfänger-Themen 15
R Operatoren Rechenoperation in Java verwenden für Calculator Java Basics - Anfänger-Themen 2
P Java 2n Potenzieren Java Basics - Anfänger-Themen 1
J Java Hamster Java Basics - Anfänger-Themen 4
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27

Ähnliche Java Themen

Neue Themen


Oben