Added chess.

This commit is contained in:
Jacob Signorovitch
2025-04-22 08:59:31 -04:00
parent 43d85b1978
commit b305622f7f
4 changed files with 77 additions and 0 deletions

28
chess/.project Normal file
View File

@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>chess</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
<filteredResources>
<filter>
<id>1745325861706</id>
<name></name>
<type>30</type>
<matcher>
<id>org.eclipse.core.resources.regexFilterMatcher</id>
<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>

View File

@@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=21
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=21

36
chess/src/chess/Main.java Normal file
View File

@@ -0,0 +1,36 @@
package chess;
import java.awt.Color;
import java.util.List;
import java.util.Map;
import javax.swing.Action;
// A chessboard.
class Board {
Map<Loc, Piece> board;
}
// A location on the board. Measured from top left corner.
class Loc {
int x;
int y;
Loc(int x, int y) {
this.x = x;
this.y = y;
}
}
// The color a chess piece may assume.
enum PieceCol {
BLACK,
WHITE;
Color mk() {
return this.equals(BLACK) ? new Color(0, 0, 0)
: new Color(255, 255, 255);
}
}
// The sort of piece.
enum PieceType { PAWN, ROOK, KNIGHT, BISHOP, QUEEN, KING }