-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathGame.java
More file actions
123 lines (109 loc) · 3.73 KB
/
Game.java
File metadata and controls
123 lines (109 loc) · 3.73 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import java.util.Scanner;
import java.util.ArrayList;
public class Game
{
public AI OurGuy;
//~!~!~!~!~!~!~!~!~!~!~!~
public ArrayList<String> pastMoves = new ArrayList<>();
public void PlayDumbieGame()
{
Scanner scanner = new Scanner(System.in);
Board board = BoardGenerator.initStandardBoard();
OurGuy = new AI(board);
Turn curTurn = Turn.WHITE;
String UCIinput;
Turn AIturn = Turn.WHITE;
Turn userTurn = Turn.BLACK;
String advisedAction = "noneTaken";
// while (!CheckMate)
int i = 0;
while(i < 100000)
{
int z = 0;
for (String s : pastMoves){
System.out.println(z + " " + s);
z++;
}
if (AIturn == curTurn)
{
BoardGenerator.drawBoard(board);
advisedAction = OurGuy.Think(MoveGenerator.possibleWhiteMoves(board, pastMoves).getAlg(),"White",4);
OurGuy.act(advisedAction);
pastMoves.add(advisedAction);
curTurn = userTurn;
}
else
{
BoardGenerator.drawBoard(board);
System.out.println(OurGuy.ConfidenceinLastMove);
System.out.println("WHITE AI action : ".concat(advisedAction));
curTurn = AIturn;
System.out.println(curTurn.toString() + " user's turn, please type a move : ");
UCIinput = scanner.nextLine();
board.move(UCIinput);
pastMoves.add(UCIinput);
}
i++;
}
scanner.close();
}
public void PlayAIDumbieGame()
{
Scanner scanner = new Scanner(System.in);
Board board = BoardGenerator.initStandardBoard();
OurGuy = new AI(board);
Turn curTurn = Turn.WHITE;
Turn AIturn = Turn.WHITE;
Turn userTurn = Turn.BLACK;
boolean Watchable = true;
int Sleep_Time = 1000;
String advisedAction = "noneTaken";
// while (!CheckMate)
int i = 0;
while(i < 1000000)
{
if (AIturn == curTurn)
{
BoardGenerator.drawBoard(board);
advisedAction = OurGuy.Think(MoveGenerator.possibleWhiteMoves(board, pastMoves).getAlg(),"White",4);
OurGuy.act(advisedAction);
curTurn = userTurn;
System.out.println(OurGuy.ConfidenceinLastMove);
System.out.println("WHITE AI action : ".concat(advisedAction));
if (Watchable)
{
try
{
Thread.sleep(Sleep_Time);
}
catch(InterruptedException ex)
{
Thread.currentThread().interrupt();
}
}
}
else
{
BoardGenerator.drawBoard(board);
advisedAction = OurGuy.Think(MoveGenerator.possibleBlackMoves(board, pastMoves).getAlg(),"Black",5);
OurGuy.act(advisedAction);
curTurn = AIturn;
System.out.println(OurGuy.ConfidenceinLastMove);
System.out.println("BLACK AI action : ".concat(advisedAction));
if (Watchable)
{
try
{
Thread.sleep(Sleep_Time);
}
catch(InterruptedException ex)
{
Thread.currentThread().interrupt();
}
}
}
i++;
}
scanner.close();
}
}