package byow.Core; import edu.princeton.cs.introcs.StdDraw; import java.awt.*; import java.io.File; import java.io.IOException; public class Game { public static final File CWD = new File(System.getProperty("user.dir")); public static final File SAVEFILE_DIR = Utils.join(CWD, "saveFile.txt"); public static final File SEED = Utils.join(SAVEFILE_DIR, "seed.txt"); public static final File AVATAR_POSX = Utils.join(SAVEFILE_DIR, "avatarPositionX.txt"); public static final File AVATAR_POSY = Utils.join(SAVEFILE_DIR, "avatarPositionY.txt"); public static final File AVATAR_NAME = Utils.join(SAVEFILE_DIR, "avatarName.txt"); public static final File REPLAY_MOVEMENTS = Utils.join(SAVEFILE_DIR, "replayMoves.txt"); public static void setupPersistence() { if (!SAVEFILE_DIR.exists()) { SAVEFILE_DIR.mkdir(); try { SEED.createNewFile(); AVATAR_POSX.createNewFile(); AVATAR_POSY.createNewFile(); AVATAR_NAME.createNewFile(); REPLAY_MOVEMENTS.createNewFile(); } catch (IOException e) { return; } } } public static void mainMenu() { setupPersistence(); StdDraw.setCanvasSize(50 * 16, 50 * 16); Font font = new Font("Monaco", Font.BOLD, 30); StdDraw.setFont(font); StdDraw.setXscale(0, 50); StdDraw.setYscale(0, 50); StdDraw.clear(Color.BLACK); StdDraw.enableDoubleBuffering(); StdDraw.setPenColor(Color.WHITE); StdDraw.text(25, 35, "CS61B WORLD: DELUXE EDITION"); StdDraw.text(25, 25, "NEW GAME (press N)"); StdDraw.text(25, 23, "LOAD GAME (press L)"); StdDraw.text(25, 21, "REPLAY GAME (press P)"); StdDraw.text(25, 19, "RENAME AVATAR (press R)"); StdDraw.text(25, 17, "QUIT (press Q)"); StdDraw.show(); } public static void seedMenu() { StdDraw.setCanvasSize(50 * 16, 50 * 16); Font font = new Font("Monaco", Font.BOLD, 30); StdDraw.setFont(font); StdDraw.setXscale(0, 50); StdDraw.setYscale(0, 50); StdDraw.clear(Color.BLACK); StdDraw.enableDoubleBuffering(); StdDraw.setPenColor(Color.WHITE); StdDraw.text(25, 35, "ENTER SEED (press S when done)"); StdDraw.show(); } }