/***************************************************************** * from http://home.att.net/~gobruen/ * * *GameDriver.java * * Calls BlackJack.java, Slots.java, Roulette.java * These files require: Tree52.java, LoopLL.java, Queue.java * * Methods: * * main() * This is the starting interface to access the rest * of the games. * * * printStartMenu() prints an intial menu of options * printMainMenu() Prints the general menu * makeSaveFile() Method for creating a save file * saveToFile() Method for storing user information * casinoStart() Prints "CASINO" in big letters, ascii art * **************************************************************/ import java.io.*;//needed to access external files import Roulette; import Slots; import BlackJack; public class GameDriver { public static void main(String[] args)throws IOException { BufferedReader clin = new BufferedReader(new InputStreamReader(System.in));//setup for command line reading int bank = 100; //Money to start with char g_table = 'n'; //for tracking where the player is String player = null; //for name of player String filen = "autosv.txt"; //Initialize default save file String menOp = "hello"; //For command line input char opMen = 'x'; //For selection menus boolean firstTime = true; casinoStart(); printStartMenu(); while(opMen != 'q'){ System.out.print("[Casino Floor] "); menOp = clin.readLine(); if(menOp.length()>0){ menOp = menOp.toLowerCase(); opMen = menOp.charAt(0); switch(opMen){ case 'm': printMainMenu(); break; case 'n': System.out.println("Enter first name only: "); System.out.print("[Casino Floor] "); filen = clin.readLine(); filen = filen.toLowerCase(); player = filen; filen = filen + ".txt"; makeSaveFile(filen, bank, g_table); break; case 'r': System.out.println("Enter first name from previous game: "); System.out.print("[Casino Floor] "); filen = clin.readLine(); filen = filen.toLowerCase(); player = filen; filen = filen + ".txt"; try { BufferedReader fin = new BufferedReader(new FileReader(filen)); String line = fin.readLine(); bank = Integer.parseInt(line.trim()); line = fin.readLine(); g_table = line.charAt(0); fin.close(); System.out.println(); System.out.print("Your bank is: "+bank+", and you are "); switch(g_table){ case 'n': System.out.print("not at a table.\n"); break; case 'r': System.out.print("at the roulette table.\n"); bank = Roulette.roulette(bank, player); break; case 't': System.out.print("at the slots.\n"); bank = Slots.slots(bank, player); break; case 'b': System.out.print("at the blackjack table.\n"); bank = BlackJack.blackjack(bank, player); break; default: System.out.print("not at a table.\n"); break; } } catch(FileNotFoundException e) { System.out.println("No save file under that name..."); } catch(IOException e) { System.out.println("error reading save file"); } break; case 'p': System.out.println("Which game? (r)oulette, (b)lackjack, (s)lots"); System.out.print("[Casino Floor] "); menOp = clin.readLine(); menOp = menOp.toLowerCase(); if(menOp.length()>0){ opMen = menOp.charAt(0); switch(opMen){ case 'r': bank = Roulette.roulette(bank, player); g_table = 'r'; break; case 'b': bank = BlackJack.blackjack(bank, player); g_table = 'b'; break; case 's': bank = Slots.slots(bank, player); g_table = 't'; break; default: System.out.println(menOp+" is not an option"); menOp = null; } } opMen = 'p'; break; case 'q': System.out.println("Are you sure? (y)es/(n)o"); System.out.print("[Casino Floor] "); menOp = clin.readLine(); if(menOp.length()<1){ opMen = 'y'; }else{ menOp = menOp.toLowerCase(); opMen = menOp.charAt(0); } if(opMen == 'y'){ System.exit(0); } break; case 's': saveToFile(filen, bank, g_table); System.out.println("...saved..."); break; default: System.out.println("Not an option"); break; }//end switch if((bank==0)&&(firstTime==true)){ System.out.println("Walking around, you notice a $20 bill on the floor."); System.out.println("While no one is looking, you pick it up and put it in your pocket."); bank = bank + 20; firstTime=false; }else{ if((bank==0)&&(firstTime==false)){ System.out.println("Your luck is not so good today. Go home and try again later."); System.exit(0); } } System.out.println("What would you like to do? (p)lay, (q)uit, (s)ave, (r)estore, (n)ew"); }else{ printStartMenu(); } }//end while }//end main /**********************************************************************************/ /********** METHODS ***********************************************************/ /**********************************************************************************/ public static void printStartMenu(){ System.out.println("Start (n)ew game, (r)estore, (q)uit?"); }//end printStartMenu public static void printMainMenu(){ System.out.println("Start (n)ew game, (r)estore, (s)ave, (q)uit"); System.out.println("(m)enu, (p)lay game"); }//end printMainMenu public static void casinoStart(){ System.out.println(); System.out.println(); System.out.println("CCCCCCCC AAAAAAAA SSSSSSSS IIIIIIIII NN NN OOOOOOOO !!"); System.out.println("CCCCCCCC AAAAAAAA SSSSSSSS IIIIIIIII NNN NN OOOOOOOO !!"); System.out.println("CC AA AA SS II NNNN NN OO OO !!"); System.out.println("CC AA AA SS II NN NN NN OO OO !!"); System.out.println("CC AAAAAAAA SSSSSSSS II NN NN NN OO OO !!"); System.out.println("CC AA AA SS II NN NN NN OO OO !!"); System.out.println("CC AA AA SS II NN NNNN OO OO !!"); System.out.println("CCCCCCCC AA AA SSSSSSSS IIIIIIIII NN NNN OOOOOOOO"); System.out.println("CCCCCCCC AA AA SSSSSSSS IIIIIIIII NN NN OOOOOOOO !!"); System.out.println(); System.out.println(); }//end casinoStart /*******************************************************************************/ /*********** Methods for saving games ******************************************/ /*******************************************************************************/ public static void makeSaveFile(String filen, int bank, char g_table)throws IOException{ PrintWriter out = null; out = new PrintWriter(new FileWriter(filen)); out.println(bank); out.println(g_table); out.close(); }//end makeSaveFile public static void saveToFile(String filen, int bank, char g_table)throws IOException{ PrintWriter out = null; out = new PrintWriter(new FileWriter(filen)); out.println(bank); out.println(g_table); out.close(); }//end saveToFile }//end GameDriver class