-
Notifications
You must be signed in to change notification settings - Fork 0
/
MonopolyBankingHashMap.java
169 lines (151 loc) · 5.64 KB
/
MonopolyBankingHashMap.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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
package monopolybanking;
import java.util.Scanner;
import java.util.HashMap;
/**
* April 2022
* @author davinpwk
*/
public class MonopolyBankingHashMap {
static HashMap<String,Integer> account = new HashMap<>();
static boolean loop = true;
public static void main(String[] args) {
int playerAmount;
// Setup
Scanner scan = new Scanner(System.in);
System.out.print("number of player (2-4) : ");
playerAmount = scan.nextInt();
for(int i = 1 ; i <= playerAmount ; i++){
System.out.print("Player"+i+" name : ");
Scanner PA = new Scanner(System.in);
String name = PA.nextLine();
account.put(name, 1500);
}
// End of Setup
// Menu
while(loop == true){
menu();
}
// End of Menu
}
public static void menu(){
System.out.println("\n=================================");
System.out.println("Menu: ");
System.out.println("1. Income \n2. Taxes \n3. Transfer \n4. GO! (+$200) \n*'bal' to check Balance \n*'end' to terminate\n.......");
System.out.print("option : ");
Scanner menu = new Scanner(System.in);
String option = menu.nextLine();
System.out.println("=================================");
Scanner Ptrans = new Scanner(System.in);
if(option.equals("1")){
boolean loop1 = false;
while(loop1 == false){
try{
System.out.print("input Player Name: ");
String Player = Ptrans.nextLine();
income(Player);
loop1 = true;
}catch(Exception e){
System.out.println("Account not found!");
}
}
}
else if(option.equals("2")){
boolean loop1 = false;
while(loop1 == false){
try{
System.out.print("input Player Name: ");
String Player = Ptrans.nextLine();
taxes(Player);
loop1 = true;
}catch(Exception e){
System.out.println("Account not found!");
}
}
}
else if(option.equals("3")){
boolean loop1 = false;
while(loop1 == false){
try{
System.out.print("From: ");
String Sender = Ptrans.nextLine();
System.out.print("To: ");
String Receiver = Ptrans.nextLine();
transfer(Sender, Receiver);
loop1 = true;
}catch(Exception e){
System.out.println("Account not found!");
}
}
}
else if(option.equals("4")){
boolean loop1 = false;
while(loop1 == false){
try{
System.out.print("input Player Name: ");
String Player = Ptrans.nextLine();
GO(Player);
loop1 = true;
}catch(Exception e){
System.out.println("Account not found!");
}
}
}
else if(option.equals("bal")){
checkBalance();
}
else if(option.equals("end")){
loop = false;
}
}
public static void checkBalance(){
System.out.print(account);
wait(5000);
}
public static void income(String Player){
Scanner income = new Scanner(System.in);
System.out.print("Input Income Amount: ");
int incAmount = income.nextInt();
System.out.println("=================================");
account.put(Player, account.get(Player) + incAmount);
System.out.println(Player+"'s balance : $"+account.get(Player));
System.out.println("=================================");
wait(2000);
}
public static void taxes(String Player){
Scanner tax = new Scanner(System.in);
System.out.print("Input Tax Amount: ");
int incAmount = tax.nextInt();
System.out.println("=================================");
account.put(Player, account.get(Player) - incAmount);
System.out.println(Player+"'s balance : $"+account.get(Player));
System.out.println("=================================");
wait(2000);
}
public static void transfer(String Sender, String Receiver){
Scanner trf = new Scanner(System.in);
System.out.print("Input Transfer Amount: ");
int trfAmount = trf.nextInt();
System.out.println("=================================");
account.put(Sender, account.get(Sender) - trfAmount);
account.put(Receiver, account.get(Receiver) + trfAmount);
System.out.println(Sender+"'s balance : $"+account.get(Sender));
System.out.println(Receiver+"'s balance : $"+account.get(Receiver));
System.out.println("=================================");
wait(4000);
}
public static void GO(String Player){
account.put(Player, account.get(Player) + 200);
System.out.println("=================================");
System.out.println(Player+"'s balance : $"+account.get(Player));
System.out.println("=================================");
wait(2000);
}
public static void wait(int ms){
try{
Thread.sleep(ms);
}
catch(InterruptedException ex){
Thread.currentThread().interrupt();
}
}
}