|
|
1.1 ! root 1: # include "monop.ext" ! 2: ! 3: /* ! 4: * This routine uses a get-out-of-jail-free card to get the ! 5: * player out of jail. ! 6: */ ! 7: card() { ! 8: ! 9: if (cur_p->loc != JAIL) { ! 10: printf("But you're not IN Jail\n"); ! 11: return; ! 12: } ! 13: if (cur_p->num_gojf == 0) { ! 14: printf("But you don't HAVE a get out of jail free card\n"); ! 15: return; ! 16: } ! 17: ret_card(cur_p); ! 18: cur_p->loc = 10; /* just visiting */ ! 19: cur_p->in_jail = 0; ! 20: } ! 21: /* ! 22: * This routine returns the players get-out-of-jail-free card ! 23: * to a deck. ! 24: */ ! 25: ret_card(plr) ! 26: reg PLAY *plr; { ! 27: ! 28: plr->num_gojf--; ! 29: if (CC_D.gojf_used) ! 30: CC_D.gojf_used = FALSE; ! 31: else ! 32: CH_D.gojf_used = FALSE; ! 33: } ! 34: /* ! 35: * This routine deals with paying your way out of jail. ! 36: */ ! 37: pay() { ! 38: ! 39: if (cur_p->loc != JAIL) { ! 40: printf("But you're not IN Jail\n"); ! 41: return; ! 42: } ! 43: cur_p->loc = 10; ! 44: cur_p->money -= 50; ! 45: cur_p->in_jail = 0; ! 46: printf("That cost you $50\n"); ! 47: } ! 48: /* ! 49: * This routine deals with a move in jail ! 50: */ ! 51: move_jail(r1, r2) ! 52: reg int r1, r2; { ! 53: ! 54: if (r1 != r2) { ! 55: printf("Sorry, that doesn't get you out\n"); ! 56: if (++(cur_p->in_jail) == 3) { ! 57: printf("It's your third turn and you didn't roll doubles. You have to pay $50\n"); ! 58: cur_p->money -= 50; ! 59: moveit: ! 60: cur_p->loc = 10; ! 61: cur_p->in_jail = 0; ! 62: move(r1+r2); ! 63: r1 = r2 - 1; /* kludge: stop new roll w/doub */ ! 64: return TRUE; ! 65: } ! 66: return FALSE; ! 67: } ! 68: else { ! 69: printf("Double roll gets you out.\n"); ! 70: goto moveit; ! 71: } ! 72: } ! 73: printturn() { ! 74: ! 75: if (cur_p->loc != JAIL) ! 76: return; ! 77: printf("(This is your "); ! 78: switch (cur_p->in_jail) { ! 79: case 0: ! 80: printf("1st"); ! 81: break; ! 82: case 1: ! 83: printf("2nd"); ! 84: break; ! 85: case 2: ! 86: printf("3rd (and final)"); ! 87: break; ! 88: } ! 89: printf(" turn in JAIL)\n"); ! 90: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.