import java.io.IOException; public class Misc { static int getyn(String prompt) { int com = 0; while (true) { com = GetInput.getinp(prompt, Monop.yn); if (com < 2) { return com; } else { Invoker.invoke(Monop.func[com - 2]); } } } static void notify1() { if (Monop.cur_p.money < 0) { System.out.println("That leaves you $" + ( - Monop.cur_p.money) + " in debt"); } else if (Monop.cur_p.money == 0) { System.out.println("that leaves you broke"); } else if (Monop.fixing && ! Monop.told_em && Monop.cur_p.money > 0) { System.out.println("-- You are now Solvent ---"); Monop.told_em = true; } } static void next_play() { Monop.player =++Monop.player % Monop.num_play; Monop.cur_p = Monop.play[Monop.player]; Monop.num_doub = 0; } static int get_int(String prompt) { String sp = null; String buf = new String(); while (true) { System.out.print(prompt); try { buf = CIOUtils.stdin.readLine().trim(); } catch (IOException e) { System.err.println("IO Exception:" + e); } try { return Integer.parseInt(buf); } catch (NumberFormatException e) { System.out.println("I can't understand that"); } } } static void set_ownlist(int pl) { int num = 0; Mon_st orig = null; Own_st op = null; Own_st orig_op = null; op = Monop.play[pl].own_list; while (op != null) { switch (op.sqr.type) { case Monop.UTIL: for (num = 0;op != null && (int) op.sqr.type == Monop.UTIL;op = op.next) { num++; } Monop.play[pl].num_util = num; break; case Monop.RR: for (num = 0;op != null && (int) op.sqr.type == Monop.RR;op = op.next) { num++; } Monop.play[pl].num_rr = num; break; case Monop.PRPTY: orig = op.sqr.desc.mon_desc; orig_op = op; num = 0; while (op != null && op.sqr.desc.mon_desc == orig) { num++; op = op.next; } if (orig == null) { System.out.println("panic: bad monopoly descriptor: orig = " + orig); System.out.println("player # " + (pl + 1)); Print.printhold(pl); System.out.println("orig_op = " + orig_op); System.out.println("orig_op->sqr->type = " + op.sqr.type + " (PRPTY)"); System.out.println("orig_op->next = " + op.next); System.out.println("orig_op->sqr->desc = " + op.sqr.desc); System.out.println("op = " + op); System.out.println("op->sqr->type = " + op.sqr.type + " (PRPTY)"); System.out.println("op->next = " + op.next); System.out.println("op->sqr->desc = " + op.sqr.desc); System.out.println("num = " + num); } if (num == orig.num_in) { is_monop(orig, pl); } else { isnot_monop(orig); } break; } } } static void is_monop(Mon_st mp, int pl) { String sp = null; int i = 0; mp.owner = pl; mp.num_own = mp.num_in; for (i = 0;i < mp.num_in;i++) { mp.sq[i].desc.monop = true; } mp.name = mp.mon_n; } static void isnot_monop(Mon_st mp) { String sp = null; int i = 0; mp.owner = - 1; for (i = 0;i < mp.num_in;i++) { mp.sq[i].desc.monop = false; } mp.name = mp.not_m; } public static void list() { Print.printhold(Monop.player); } public static void list_all() { int pl = 0; while ((pl = GetInput.getinp("Whose holdings do you want to see? ", Monop.name_list)) < Monop.num_play) { Print.printhold(pl); } } public static void quit() { System.out.println(); if (getyn("Do you all really want to quit? ") == 0) { System.exit(0); } } }