1+ package SlotMachine ;
2+
3+ import java .util .Random ;
4+ import java .util .Scanner ;
5+
6+ public class Main {
7+ public static void main (String [] args ) {
8+
9+ // SLOT MACHINE
10+
11+ Scanner scanner = new Scanner (System .in );
12+
13+ int balance = 100 ;
14+ int bet ;
15+ int payout ;
16+ String [] row ;
17+ String playAgain ;
18+
19+ System .out .println ("----------------------------" );
20+ System .out .println ("Welcome to Slot Arena" );
21+ System .out .println ("Symbols: 🍒 🍉 🍋 🔔 ⭐ " );
22+ System .out .println ("----------------------------" );
23+
24+ while (balance >= 0 ){
25+ System .out .println ("Current Balance: $" + balance );
26+
27+ System .out .print ("Place your bet amount: " );
28+ bet = scanner .nextInt ();
29+ scanner .nextLine ();
30+
31+ if (bet > balance ){
32+ System .out .println ("INSUFFICIENT FUNDS" );
33+ continue ;
34+ }
35+
36+ else if (bet <= 0 ){
37+ System .out .println ("Bet must be greater than 0" );
38+ continue ;
39+ }
40+
41+ else {
42+ balance -= bet ;
43+ }
44+
45+ System .out .println ("Spinning..." );
46+ row = spinRow ();
47+ printRow (row );
48+ payout = getPayout (row , bet );
49+
50+ if (payout > 0 ){
51+ System .out .println ("You won $" + payout );
52+ balance += payout ;
53+ }
54+ else {
55+ System .out .println ("You lost this round." );
56+ }
57+
58+ System .out .println ("Do you want to play again? (Y/N): " );
59+ playAgain = scanner .nextLine ().toUpperCase ();
60+
61+ if (!playAgain .equals ("Y" )){
62+ break ;
63+ }
64+ }
65+
66+ System .out .println ("Game over! Your final balance is $" + balance );
67+
68+ scanner .close ();
69+ }
70+
71+ static String [] spinRow (){
72+
73+ String [] symbols = {"🍒" , "🍉" , "🍋" , "🔔" , "⭐" };
74+ String [] row = new String [3 ];
75+ Random random = new Random ();
76+
77+ for (int i = 0 ; i < 3 ; i ++){
78+ row [i ] = symbols [random .nextInt (symbols .length )];
79+ }
80+
81+ return row ;
82+ }
83+
84+ static void printRow (String [] row ){
85+
86+ System .out .println ("----------------------------" );
87+ System .out .println (" " + String .join (" | " , row ));
88+ System .out .println ("----------------------------" );
89+ }
90+
91+ static int getPayout (String [] row , int bet ){
92+
93+ if (row [0 ].equals (row [1 ]) && row [1 ].equals (row [2 ]) ){
94+ return switch (row [0 ]){
95+ case "🍒" -> bet * 3 ;
96+ case "🍉" -> bet * 4 ;
97+ case "🍋" -> bet * 5 ;
98+ case "🔔" -> bet * 10 ;
99+ case "⭐" -> bet * 20 ;
100+ default -> 0 ;
101+ };
102+ }
103+ else if (row [0 ].equals (row [1 ])){
104+ return switch (row [0 ]){
105+ case "🍒" -> bet * 2 ;
106+ case "🍉" -> bet * 3 ;
107+ case "🍋" -> bet * 4 ;
108+ case "🔔" -> bet * 5 ;
109+ case "⭐" -> bet * 10 ;
110+ default -> 0 ;
111+ };
112+ }
113+ else if (row [1 ].equals (row [2 ])){
114+ return switch (row [1 ]){
115+ case "🍒" -> bet * 2 ;
116+ case "🍉" -> bet * 3 ;
117+ case "🍋" -> bet * 4 ;
118+ case "🔔" -> bet * 5 ;
119+ case "⭐" -> bet * 10 ;
120+ default -> 0 ;
121+ };
122+ }
123+ return 0 ;
124+ }
125+ }
0 commit comments