-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgame description.txt
48 lines (38 loc) · 1.68 KB
/
game description.txt
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
Name of the game: crosses and zeroes
Type: board game
Size of the board: 15x15
Game descirption:
The game requires two players to be played.
One of the player is assigned corsses and the other is assigned zeroes.
Crosses are represented by the letter X.
Zeroes are reprenseted by the letter O.
Empty cell is represented by the number 0.
Each player places their assinged sign on one of the available fields.
After a filed has a zero/cross on it, it is no longer available.
To win a player must place their assigned sign five times in a row in one
of these directions - horizontal, vertical or diagonal.
The game ends in one of three ways.
# X player wins
# O player wins
# There are no available cells to fill - tie.
Functionality:
# Which sign starts first.
# AI mode.
# Two player mode.
# Which sign the AI uses.
# Reset a current game at any given time
Implementation details:
Dependencies:
# Programming language: Java
# Software platform: JavaFX
# Material design: JFoenix
# Version control system: Git/GitHub
# Algorithm used: minimax
Because of the high branching factor, the minimax algorithm is limited to look only one state ahead.
If the algorithm looks more than one state ahead a noticable delay occurs.
Because of this limitation a better and more complex evaluation function is needed.
The evalution function grades not only the end states where there is a certain winner or tie, but also
the two to three states leading up the the end state. The end state is when one of the players is established
as a winner or the game ends in a draw.
The AI choices are mostly influenced by the opponent actions, but if the AI sees and opurtunity to win
it will take it instead of blocking the opponent.