-
Notifications
You must be signed in to change notification settings - Fork 0
/
GameFiles.java
79 lines (65 loc) · 1.91 KB
/
GameFiles.java
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
import java.io.*;
import java.util.HashMap;
import java.util.Scanner;
public class GameFiles{
public HashMap<String, Integer> dp = new HashMap<>();
public static PrintWriter output;
public static Scanner input;
Board board;
int gameMode=1;//0 = PVP OR DEFAULT, 1 = easyAI, 2 = medium AI, 3 = hardAI
int playerOrder =1;//playerOrder =0 if PVP, 1 if player goes first, 2 if player goes 2nd
private String name; //name of the current game file
private int move; //the amount of moves that has been played for the game
private boolean newGame; //checks if the game has been saved before
GameFiles(boolean newG) throws Exception {
board = new Board("");
newGame = newG;
String fileName = "solutions.txt";
Scanner sc = new Scanner(new FileReader(fileName));
while (sc.hasNext()) {
String pos = sc.next();
int score = Integer.parseInt(sc.next());
dp.put(pos, score);
}
}
//method used to save the game and output necessary information as a text file
public void saveGame(String fname) throws Exception{
/***save file contain following info:
File name:
Game mode:
Player Order:
Hash:
Time:
***/
name = fname;
output = new PrintWriter(new File(name));
output.println(name);
output.println(gameMode);
output.println(playerOrder);
output.println(board.getHash());
output.println(GamePanel.getSecond());
output.close();
}
//accessor and modifier methods
public void setGameMode(int input){
gameMode = input;
}
public int getGameMode(){
return gameMode;
}
public void setName(String input){
name = input;
}
public String getName(){
return name;
}
public void setMove(int input){
move = input;
}
public int getMove(){
return move;
}
public boolean getNewGame(){
return newGame;
}
}