home *** CD-ROM | disk | FTP | other *** search
- /* f11.c contains these functions for monopoly:
- moneybags(), tenprecent(), buycard(), fixofferbmenu()
- makebuymenu() */
-
- #include "mono:defines"
- #include "mono:xvariables"
-
- USHORT buycard(buyer)
- USHORT buyer;
- {
- ULONG bcclass, bccode;
- struct IntuiText name, msg0, msg1, msg2, msg3, msg4, msg5, msg6,
- msg7;
- struct Window *buycardwindow;
- struct IntuiMessage *buycardmsg;
- struct RastPort *rportbuycard;
- bcclass=0;
- bccode=0;
-
- name.BackPen=black;
- name.DrawMode=JAM1;
- name.TopEdge=30;
- name.LeftEdge=5;
- name.ITextFont=NULL;
- name.NextText=&msg0;
-
- if (buyer == 0)
- {
- name.IText=&name0[0];
- name.FrontPen=25;
- }
- if (buyer == 1)
- {
- name.FrontPen=26;
- name.IText=&name1[0];
- }
- if (buyer == 2)
- {
- name.FrontPen=27;
- name.IText=&name2[0];
- }
- if (buyer == 3)
- {
- name.FrontPen=28;
- name.IText=&name3[0];
- }
-
- msg0.FrontPen=maroon;
- msg0.BackPen=black;
- msg0.DrawMode=JAM1;
- msg0.TopEdge=40;
- msg0.LeftEdge=5;
- msg0.IText=(UBYTE *)"use the MENU to";
- msg0.ITextFont=NULL;
- msg0.NextText=&msg1;
-
- msg1.FrontPen=maroon;
- msg1.BackPen=black;
- msg1.DrawMode=JAM1;
- msg1.TopEdge=50;
- msg1.LeftEdge=5;
- msg1.IText=(UBYTE *)"choose a player who's";
- msg1.ITextFont=NULL;
- msg1.NextText=&msg2;
-
- msg2.FrontPen=chest_yellow;
- msg2.BackPen=black;
- msg2.DrawMode=JAM1;
- msg2.TopEdge=60;
- msg2.LeftEdge=5;
- msg2.IText=(UBYTE *)"GET-OUT-OF-JAIL-FREE";
- msg2.ITextFont=NULL;
- msg2.NextText=&msg3;
-
- msg3.FrontPen=maroon;
- msg3.BackPen=black;
- msg3.DrawMode=JAM1;
- msg3.TopEdge=70;
- msg3.LeftEdge=5;
- msg3.IText=(UBYTE *)"card you will offer";
- msg3.ITextFont=NULL;
- msg3.NextText=&msg4;
-
- msg4.FrontPen=maroon;
- msg4.BackPen=black;
- msg4.DrawMode=JAM1;
- msg4.TopEdge=80;
- msg4.LeftEdge=5;
- msg4.IText=(UBYTE *)"to buy, or select";
- msg4.ITextFont=NULL;
- msg4.NextText=&msg5;
-
- msg5.FrontPen=green;
- msg5.BackPen=black;
- msg5.DrawMode=JAM1;
- msg5.TopEdge=90;
- msg5.LeftEdge=5;
- msg5.IText=(UBYTE *)"CONTINUE";
- msg5.ITextFont=NULL;
- msg5.NextText=&msg6;
-
- msg6.FrontPen=maroon;
- msg6.BackPen=black;
- msg6.DrawMode=JAM1;
- msg6.TopEdge=90;
- msg6.LeftEdge=72;
- msg6.IText=(UBYTE *)"to return";
- msg6.ITextFont=NULL;
- msg6.NextText=&msg7;
-
- msg7.FrontPen=maroon;
- msg7.BackPen=black;
- msg7.DrawMode=JAM1;
- msg7.TopEdge=100;
- msg7.LeftEdge=5;
- msg7.IText=(UBYTE *)"to the game.";
- msg7.ITextFont=NULL;
- msg7.NextText=NULL;
-
-
-
-
- nofferbw.IDCMPFlags=MENUPICK | GADGETUP | RAWKEY;
- nofferbw.FirstGadget=&continuegag;
- if ((buycardwindow=(struct Window *)OpenWindow(&nofferbw))==NULL) cleanup();
- rportbuycard=buycardwindow->RPort;
- SetMenuStrip(buycardwindow, &Menu13);
- if ( (freecard[0] < 1) || (notplaying[0]) || (buyer == 0) )
- OffMenu(buycardwindow, 0);
- if ( (freecard[1] < 1) || (notplaying[1]) || (buyer == 1) )
- OffMenu(buycardwindow, 32);
- if ( (freecard[2] < 1) || (notplaying[2]) || (buyer == 2) )
- OffMenu(buycardwindow, 64);
- if ( (freecard[3] < 1) || (notplaying[3]) || (buyer == 3) )
- OffMenu(buycardwindow, 96);
-
- PrintIText(rportbuycard, &name, 0, 0);
-
- Wait(1<<buycardwindow->UserPort->mp_SigBit);
-
- while((buycardmsg=(struct IntuiMessage *)
- GetMsg(buycardwindow->UserPort))!=NULL)
- {
- bcclass=buycardmsg->Class;
- bccode=buycardmsg->Code;
- if (bcclass == GADGETUP) getID(buycardmsg);
- ReplyMsg(buycardmsg);
- }
- if ( (bcclass == GADGETUP) && (gagid == 0) ) /* CONTINUE */
- {
- ClearMenuStrip(buycardwindow);
- CloseWindow(buycardwindow);
- return(9);
- }
-
- if ( (bcclass == MENUPICK) && (bccode != MENUNULL) )
- {
- ClearMenuStrip(buycardwindow);
- CloseWindow(buycardwindow);
- return ((USHORT)ITEMNUM(bccode));
- }
- }
-
- VOID moneybags(who)
- USHORT who;
- {
- struct IntuiText bagname, wad, dollarsign;
- char moneystr [8];
- ULONG mbclass;
- USHORT mbcode, hold_line;
- mbclass=0;
- mbcode=0;
-
-
- bagname.BackPen=black;
- bagname.DrawMode=JAM1;
- bagname.LeftEdge=5;
- bagname.TopEdge=13;
- bagname.ITextFont=NULL;
- bagname.NextText=&dollarsign;
-
- dollarsign.FrontPen=green;
- dollarsign.BackPen=black;
- dollarsign.DrawMode=JAM1;
- dollarsign.LeftEdge=5;
- dollarsign.TopEdge=23;
- dollarsign.IText=(UBYTE *)"$";
- dollarsign.ITextFont=NULL;
- dollarsign.NextText=&wad;
-
- wad.FrontPen=green;
- wad.BackPen=black;
- wad.DrawMode=JAM1;
- wad.LeftEdge=14;
- wad.TopEdge=23;
- wad.IText=&moneystr[0];
- wad.ITextFont=NULL;
- wad.NextText=NULL;
-
- line0_text=130;
- for (j=0, hold_line=line0_text; j<SHOW_LINES; j++)
- instructIT[j].IText=instructline[hold_line++];
-
- nmoneybagw.Screen=screen1;
- if ((moneybagwindow=(struct Window *)OpenWindow(&nmoneybagw))==NULL) cleanup();
- rportmoneybag=moneybagwindow->RPort;
-
- if (who == 0)
- {
- bagname.FrontPen=25;
- bagname.IText=&name0[0];
- (VOID) stcl_d(moneystr, bankroll[0]);
- }
- if (who == 1)
- {
- bagname.FrontPen=26;
- bagname.IText=&name1[0];
- (VOID) stcl_d(moneystr, bankroll[1]);
- }
- if (who == 2)
- {
- bagname.FrontPen=27;
- bagname.IText=&name2[0];
- (VOID) stcl_d(moneystr, bankroll[2]);
- }
- if (who == 3)
- {
- bagname.FrontPen=28;
- bagname.IText=&name3[0];
- (VOID) stcl_d(moneystr, bankroll[3]);
- }
- PrintIText(rportmoneybag, &bagname, 0, 0);
-
- Wait(1<<moneybagwindow->UserPort->mp_SigBit);
-
- while((moneybagmsg=(struct IntuiMessage *)
- GetMsg(moneybagwindow->UserPort))!=NULL)
- {
- mbclass=moneybagmsg->Class;
- ReplyMsg(moneybagmsg);
- }
- if(mbclass==CLOSEWINDOW) CloseWindow(moneybagwindow);
- if ((mbclass == RAWKEY) && (mbcode == HELP)) instruction();
- }
-
- VOID tenpercent(who, which)
- USHORT who, which;
- {
- struct IntuiText name, address, msg0, msg1, msg2, msg3, msg4, msg5, msg6,
- msg7, msg8, msg9, msg10, msg11, querry;
- ULONG tenclass;
- USHORT tencode;
- tenclass=0;
- tencode=0;
-
-
- name.BackPen=black;
- name.DrawMode=JAM1;
- name.TopEdge=0;
- name.LeftEdge=5;
- name.ITextFont=NULL;
- name.NextText=&address;
-
- address.BackPen=black;
- address.DrawMode=JAM1;
- address.TopEdge=10;
- address.LeftEdge=5;
- address.ITextFont=NULL;
- address.NextText=&msg0;
-
- msg0.FrontPen=maroon;
- msg0.BackPen=black;
- msg0.DrawMode=JAM1;
- msg0.TopEdge=20;
- msg0.LeftEdge=5;
- msg0.IText=(UBYTE *)"which you just";
- msg0.ITextFont=NULL;
- msg0.NextText=&msg1;
-
- msg1.FrontPen=maroon;
- msg1.BackPen=black;
- msg1.DrawMode=JAM1;
- msg1.TopEdge=30;
- msg1.LeftEdge=5;
- msg1.IText=(UBYTE *)"recieved, is mortgaged.";
- msg1.ITextFont=NULL;
- msg1.NextText=&msg2;
-
- msg2.FrontPen=maroon;
- msg2.BackPen=black;
- msg2.DrawMode=JAM1;
- msg2.TopEdge=40;
- msg2.LeftEdge=5;
- msg2.IText=(UBYTE *)"If you DO NOT lift the";
- msg2.ITextFont=NULL;
- msg2.NextText=&msg3;
-
- msg3.FrontPen=maroon;
- msg3.BackPen=black;
- msg3.DrawMode=JAM1;
- msg3.TopEdge=50;
- msg3.LeftEdge=5;
- msg3.IText=(UBYTE *)"mortgage NOW, you will";
- msg3.ITextFont=NULL;
- msg3.NextText=&msg4;
-
- msg4.FrontPen=maroon;
- msg4.BackPen=black;
- msg4.DrawMode=JAM1;
- msg4.TopEdge=60;
- msg4.LeftEdge=5;
- msg4.IText=(UBYTE *)"pay a ten percent fee";
- msg4.ITextFont=NULL;
- msg4.NextText=&msg5;
-
- msg5.FrontPen=maroon;
- msg5.BackPen=black;
- msg5.DrawMode=JAM1;
- msg5.TopEdge=70;
- msg5.LeftEdge=5;
- msg5.IText=(UBYTE *)"NOW plus an additional";
- msg5.ITextFont=NULL;
- msg5.NextText=&msg6;
-
- msg6.FrontPen=maroon;
- msg6.BackPen=black;
- msg6.DrawMode=JAM1;
- msg6.TopEdge=80;
- msg6.LeftEdge=5;
- msg6.IText=(UBYTE *)"ten percent when you";
- msg6.ITextFont=NULL;
- msg6.NextText=&msg7;
-
- msg7.FrontPen=maroon;
- msg7.BackPen=black;
- msg7.DrawMode=JAM1;
- msg7.TopEdge=90;
- msg7.LeftEdge=5;
- msg7.IText=(UBYTE *)"lift the mortgage.";
- msg7.ITextFont=NULL;
- msg7.NextText=&msg8;
-
- msg8.FrontPen=green;
- msg8.BackPen=black;
- msg8.DrawMode=JAM1;
- msg8.TopEdge=100;
- msg8.LeftEdge=5;
- msg8.IText=(UBYTE *)"YOU HAVE: $";
- msg8.ITextFont=NULL;
- msg8.NextText=&msg9;
-
- msg9.FrontPen=green;
- msg9.BackPen=black;
- msg9.DrawMode=JAM1;
- msg9.TopEdge=100;
- msg9.LeftEdge=100;
- msg9.IText=&tenpercentbroll[0];
- msg9.ITextFont=NULL;
- msg9.NextText=&msg10;
-
- msg10.FrontPen=red;
- msg10.BackPen=black;
- msg10.DrawMode=JAM1;
- msg10.TopEdge=110;
- msg10.LeftEdge=5;
- msg10.IText=(UBYTE *)"YOU NEED: $";
- msg10.ITextFont=NULL;
- msg10.NextText=&msg11;
-
- msg11.FrontPen=red;
- msg11.BackPen=black;
- msg11.DrawMode=JAM1;
- msg11.TopEdge=110;
- msg11.LeftEdge=100;
- msg11.ITextFont=NULL;
- msg11.NextText=&querry;
-
- querry.FrontPen=dk_blue;
- querry.BackPen=black;
- querry.DrawMode=JAM1;
- querry.TopEdge=119;
- querry.LeftEdge=36;
- querry.IText=(UBYTE *)"LIFT MORTGAGE?";
- querry.ITextFont=NULL;
- querry.NextText=NULL;
-
- (VOID) stcl_d(tenpercentbroll, bankroll[who]);
-
- if (who == 0)
- {
- name.FrontPen=25;
- name.IText=&name0[0];
- }
- if (who == 1)
- {
- name.FrontPen=26;
- name.IText=&name1[0];
- }
- if (who == 2)
- {
- name.FrontPen=27;
- name.IText=&name2[0];
- }
- if (who == 3)
- {
- name.FrontPen=28;
- name.IText=&name3[0];
- }
-
- if (which == 1)
- {
- address.IText=(UBYTE *)"MEDITERRANEAN AVENUE";
- address.FrontPen=purple;
- msg11.IText=(UBYTE *)"33";
- }
-
- if (which == 3)
- {
- address.IText=(UBYTE *)"BALTIC AVENUE";
- address.FrontPen=purple;
- msg11.IText=(UBYTE *)"33";
- }
-
- if (which == 5)
- {
- address.IText=(UBYTE *)"READING RR";
- address.FrontPen=flesh;
- msg11.IText=(UBYTE *)"110";
- }
-
- if (which == 6)
- {
- address.IText=(UBYTE *)"ORIENTAL AVENUE";
- address.FrontPen=lt_blue;
- msg11.IText=(UBYTE *)"55";
- }
-
- if (which == 8)
- {
- address.IText=(UBYTE *)"VERMONT AVENUE";
- address.FrontPen=lt_blue;
- msg11.IText=(UBYTE *)"55";
- }
-
- if (which == 9)
- {
- address.IText=(UBYTE *)"CONNECTICUT AVENUE";
- address.FrontPen=lt_blue;
- msg11.IText=(UBYTE *)"66";
- }
-
- if (which == 11)
- {
- address.IText=(UBYTE *)"ST. CHARLES PLACE";
- address.FrontPen=maroon;
- msg11.IText=(UBYTE *)"77";
- }
-
- if (which == 12)
- {
- address.IText=(UBYTE *)"ELECTRIC COMPANY";
- address.FrontPen=yellow;
- msg11.IText=(UBYTE *)"82";
- }
-
- if (which == 13)
- {
- address.IText=(UBYTE *)"STATES AVENUE";
- address.FrontPen=maroon;
- msg11.IText=(UBYTE *)"77";
- }
-
- if (which == 14)
- {
- address.IText=(UBYTE *)"VIRGINIA AVENUE";
- address.FrontPen=maroon;
- msg11.IText=(UBYTE *)"88";
- }
-
- if (which == 15)
- {
- address.IText=(UBYTE *)"PENNSYLVANIA RR";
- address.FrontPen=flesh;
- msg11.IText=(UBYTE *)"110";
- }
-
- if (which == 16)
- {
- address.IText=(UBYTE *)"ST. JAMES PLACE";
- address.FrontPen=orange;
- msg11.IText=(UBYTE *)"99";
- }
-
- if (which == 18)
- {
- address.IText=(UBYTE *)"TENNESSEE AVENUE";
- address.FrontPen=orange;
- msg11.IText=(UBYTE *)"99";
- }
-
- if (which == 19)
- {
- address.IText=(UBYTE *)"NEW YORK AVENUE";
- address.FrontPen=orange;
- msg11.IText=(UBYTE *)"110";
- }
-
- if (which == 21)
- {
- address.IText=(UBYTE *)"KENTUCKY AVENUE";
- address.FrontPen=red;
- msg11.IText=(UBYTE *)"121";
- }
-
- if (which == 23)
- {
- address.IText=(UBYTE *)"INDIANA AVENUE";
- address.FrontPen=red;
- msg11.IText=(UBYTE *)"121";
- }
-
- if (which == 24)
- {
- address.IText=(UBYTE *)"ILLINOIS AVENUE";
- address.FrontPen=red;
- msg11.IText=(UBYTE *)"132";
- }
-
- if (which == 25)
- {
- address.IText=(UBYTE *)"B. & O. RR";
- address.FrontPen=flesh;
- msg11.IText=(UBYTE *)"110";
- }
-
- if (which == 26)
- {
- address.IText=(UBYTE *)"ATLANTIC AVENUE";
- address.FrontPen=yellow;
- msg11.IText=(UBYTE *)"143";
- }
-
- if (which == 27)
- {
- address.IText=(UBYTE *)"VENTNOR AVENUE";
- address.FrontPen=yellow;
- msg11.IText=(UBYTE *)"143";
- }
-
- if (which == 28)
- {
- address.IText=(UBYTE *)"WATER WORKS";
- address.FrontPen=royal_blue;
- msg11.IText=(UBYTE *)"82";
- }
-
- if (which == 29)
- {
- address.IText=(UBYTE *)"MARVIN GARDENS";
- address.FrontPen=yellow;
- msg11.IText=(UBYTE *)"154";
- }
-
- if (which == 31)
- {
- address.IText=(UBYTE *)"PACIFIC AVENUE";
- address.FrontPen=green;
- msg11.IText=(UBYTE *)"165";
- }
-
- if (which == 32)
- {
- address.IText=(UBYTE *)"NORTH CAROLINA AVENUE";
- address.FrontPen=green;
- msg11.IText=(UBYTE *)"165";
- }
-
- if (which == 34)
- {
- address.IText=(UBYTE *)"PENNSYLVANIA AVENUE";
- address.FrontPen=green;
- msg11.IText=(UBYTE *)"176";
- }
-
- if (which == 35)
- {
- address.IText=(UBYTE *)"SHORT LINE";
- address.FrontPen=flesh;
- msg11.IText=(UBYTE *)"110";
- }
-
- if (which == 37)
- {
- address.IText=(UBYTE *)"PARK PLACE";
- address.FrontPen=dk_blue;
- msg11.IText=(UBYTE *)"192";
- }
-
- if (which == 39)
- {
- address.IText=(UBYTE *)"BOARDWALK";
- address.FrontPen=dk_blue;
- msg11.IText=(UBYTE *)"220";
- }
-
- ntenpercentw.Screen=screen1;
- ntenpercentw.FirstGadget=&yesgag;
- if ((tenpercentwindow=(struct Window *)OpenWindow(&ntenpercentw))==NULL)
- cleanup();
- rporttenpercent=tenpercentwindow->RPort;
-
- PrintIText(rporttenpercent, &name, 0, 0);
-
- Wait(1<<tenpercentwindow->UserPort->mp_SigBit);
-
- while((tenpercentmsg=(struct IntuiMessage *)
- GetMsg(tenpercentwindow->UserPort))!=NULL)
- {
- tenclass=tenpercentmsg->Class;
- tencode=tenpercentmsg->Code;
- if (tenclass == GADGETUP) getID(tenpercentmsg);
- ReplyMsg(tenpercentmsg);
- }
- if (tenclass == GADGETUP)
- {
- if (gagid == YES)
- {
- if (which == 12) eft(who, BANK, 82);
- if (which == 28) eft(who, BANK, 82);
- if (which == 37) eft(who, BANK, 192);
- if ( (which != 12) && (which != 28) && (which != 37) )
- eft(who, BANK, ( (propcost[which]/2)+(propcost[which]/10) ) );
- ismorg[which]=FALSE;
- em(which, FALSE);
- CloseWindow(tenpercentwindow);
- }
- if (gagid == NO)
- {
- if (which == 12) eft(who, SLUSH, 7);
- if (which == 28) eft(who, SLUSH, 7);
- if (which == 37) eft(who, SLUSH, 17);
- if ( (which != 12) && (which != 28) && (which != 37) )
- eft(which, SLUSH, ((propcost[which]/2)/10) );
- CloseWindow(tenpercentwindow);
- }
- }
- }
-
-
-
-