home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / prog_oth / monopoly.lzh / monopoly_source.LZH / f16.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-06  |  17.4 KB  |  758 lines

  1. /*   f16.c contains:  offersell()   */
  2.  
  3. #include "mono:defines"
  4. #include "mono:xvariables"
  5.  
  6.  
  7. VOID offersell()
  8. {
  9. ULONG osclass, cost;
  10. BOOL picked, doneselling;
  11. USHORT sellprop, buyer, seller, hold_line, oscode;
  12. struct IntuiText address, msg0, msg1, msg2, msg3, msg4, msg5, msg6,
  13.                  msg7, msg8, msg9, dollar, msg10, msgY, msgN, msgC;
  14. struct Gadget offersgag;
  15. struct StringInfo offersinfo;
  16. osclass=0;
  17. oscode=0;
  18. picked=FALSE;
  19.  
  20. address.BackPen=black;
  21. address.DrawMode=JAM1;
  22. address.TopEdge=0;
  23. address.LeftEdge=5;
  24. address.ITextFont=NULL;
  25. address.NextText=&msg0;
  26.  
  27. msg0.FrontPen=dk_maroon;
  28. msg0.BackPen=black;
  29. msg0.DrawMode=JAM1;
  30. msg0.TopEdge=10;
  31. msg0.LeftEdge=5;
  32. msg0.IText=(UBYTE *)"Use the MENU to";
  33. msg0.ITextFont=NULL;
  34. msg0.NextText=&msg1;
  35.  
  36. msg1.FrontPen=dk_maroon;
  37. msg1.BackPen=black;
  38. msg1.DrawMode=JAM1;
  39. msg1.TopEdge=20;
  40. msg1.LeftEdge=5;
  41. msg1.IText=(UBYTE *)"select the name of";
  42. msg1.ITextFont=NULL;
  43. msg1.NextText=&msg2;
  44.  
  45. msg2.FrontPen=dk_maroon;
  46. msg2.BackPen=black;
  47. msg2.DrawMode=JAM1;
  48. msg2.TopEdge=30;
  49. msg2.LeftEdge=5;
  50. msg2.IText=(UBYTE *)"the seller, or select";
  51. msg2.ITextFont=NULL;
  52. msg2.NextText=&msg3;
  53.  
  54. msg3.FrontPen=dk_maroon;
  55. msg3.BackPen=black;
  56. msg3.DrawMode=JAM1;
  57. msg3.TopEdge=40;
  58. msg3.LeftEdge=5;
  59. msg3.IText=(UBYTE *)"CONTINUE to sell";
  60. msg3.ITextFont=NULL;
  61. msg3.NextText=&msg4;
  62.  
  63. msg4.FrontPen=dk_maroon;
  64. msg4.BackPen=black;
  65. msg4.DrawMode=JAM1;
  66. msg4.TopEdge=50;
  67. msg4.LeftEdge=5;
  68. msg4.IText=(UBYTE *)"nothing and return";
  69. msg4.ITextFont=NULL;
  70. msg4.NextText=&msg5;
  71.  
  72. msg5.FrontPen=dk_maroon;
  73. msg5.BackPen=black;
  74. msg5.DrawMode=JAM1;
  75. msg5.TopEdge=60;
  76. msg5.LeftEdge=5;
  77. msg5.IText=(UBYTE *)"to the game.";
  78. msg5.ITextFont=NULL;
  79. msg5.NextText=NULL;
  80.  
  81. msg6.FrontPen=dk_maroon;
  82. msg6.BackPen=black;
  83. msg6.DrawMode=JAM1;
  84. msg6.TopEdge=70;
  85. msg6.LeftEdge=5;
  86. msg6.ITextFont=NULL;
  87. msg6.NextText=NULL;
  88.  
  89. msg7.FrontPen=dk_maroon;
  90. msg7.BackPen=black;
  91. msg7.DrawMode=JAM1;
  92. msg7.TopEdge=80;
  93. msg7.LeftEdge=5;
  94. msg7.ITextFont=NULL;
  95. msg7.NextText=NULL;
  96.  
  97. msg8.FrontPen=dk_maroon;
  98. msg8.BackPen=black;
  99. msg8.DrawMode=JAM1;
  100. msg8.TopEdge=89;
  101. msg8.LeftEdge=5;
  102. msg8.ITextFont=NULL;
  103. msg8.NextText=NULL;
  104.  
  105. msg9.FrontPen=dk_maroon;
  106. msg9.BackPen=black;
  107. msg9.DrawMode=JAM1;
  108. msg9.TopEdge=98;
  109. msg9.LeftEdge=5;
  110. msg9.ITextFont=NULL;
  111. msg9.NextText=NULL;
  112.  
  113. dollar.FrontPen=red;
  114. dollar.BackPen=black;
  115. dollar.DrawMode=JAM2;
  116. dollar.TopEdge=109;
  117. dollar.LeftEdge=41;
  118. dollar.IText=(UBYTE *)"$";
  119. dollar.ITextFont=NULL;
  120. dollar.NextText=NULL;
  121.  
  122. msg10.IText=(UBYTE *)"Is this acceptable?";
  123. msg10.FrontPen=brite_green;
  124. msg10.BackPen=black;
  125. msg10.DrawMode=JAM1;
  126. msg10.TopEdge=110;
  127. msg10.LeftEdge=16;
  128. msg10.ITextFont=NULL;
  129. msg10.NextText=NULL;
  130.  
  131. msgY.IText=(UBYTE *)"YES";
  132. msgY.FrontPen=green;
  133. msgY.BackPen=black;
  134. msgY.DrawMode=JAM1;
  135. msgY.TopEdge=80;
  136. msgY.LeftEdge=133;
  137. msgY.ITextFont=NULL;
  138. msgY.NextText=NULL;
  139.  
  140. msgN.IText=(UBYTE *)"NO";
  141. msgN.FrontPen=red;
  142. msgN.BackPen=black;
  143. msgN.DrawMode=JAM1;
  144. msgN.TopEdge=89;
  145. msgN.LeftEdge=149;
  146. msgN.ITextFont=NULL;
  147. msgN.NextText=NULL;
  148.  
  149. msgC.IText=(UBYTE *)"CONTINUE";
  150. msgC.FrontPen=green;
  151. msgC.BackPen=black;
  152. msgC.DrawMode=JAM1;
  153. msgC.TopEdge=40;
  154. msgC.LeftEdge=5;
  155. msgC.ITextFont=NULL;
  156. msgC.NextText=NULL;
  157.  
  158. offersgag.NextGadget=&yesgag;
  159. offersgag.LeftEdge=50;
  160. offersgag.TopEdge=109;
  161. offersgag.Width=53;
  162. offersgag.Height=10;
  163. offersgag.Flags=GADGHNONE;
  164. offersgag.Activation=LONGINT | GADGIMMEDIATE;
  165. offersgag.GadgetType=STRGADGET;
  166. offersgag.GadgetRender=(APTR)&bidborder;
  167. offersgag.SelectRender=NULL;
  168. offersgag.GadgetText=NULL;
  169. offersgag.MutualExclude=NULL;
  170. offersgag.SpecialInfo=(APTR)&offersinfo;
  171. offersgag.GadgetID=9;
  172. offersgag.UserData=NULL;
  173.  
  174. offersinfo.Buffer=nbufofferb;
  175. offersinfo.UndoBuffer=undobufi;
  176. offersinfo.MaxChars=6;
  177. offersinfo.BufferPos=0;
  178. offersinfo.DispPos=0;
  179. offersinfo.LongInt=0;
  180.  
  181.  
  182.  
  183. nofferbw.Screen=screen1;
  184. nofferbw.IDCMPFlags=RAWKEY | MENUPICK | GADGETUP;
  185. nofferbw.FirstGadget=&continuegag;
  186. if ((offerswindow=(struct Window *)OpenWindow(&nofferbw))==NULL) cleanup();
  187. rportoffers=offerswindow->RPort;
  188. Menu13.MenuName=(UBYTE *)"SELLER'S NAME";
  189. SetMenuStrip(offerswindow, &Menu13);
  190. if (nsp == 2)
  191.    {
  192.    OnMenu(offerswindow, 0);
  193.    OnMenu(offerswindow, 32);
  194.    }
  195. if (nsp == 3)
  196.    {
  197.    OffMenu(offerswindow, 0);
  198.    OffMenu(offerswindow, 32);
  199.    OffMenu(offerswindow, 64);
  200.    if (!notplaying[0])  OnMenu(offerswindow, 0);
  201.    if (!notplaying[1])  OnMenu(offerswindow, 32);
  202.    if (!notplaying[2])  OnMenu(offerswindow, 64);
  203.    }
  204. if (nsp == 4)
  205.    {
  206.    OffMenu(offerswindow, 0);
  207.    OffMenu(offerswindow, 32);
  208.    OffMenu(offerswindow, 64);
  209.    OffMenu(offerswindow, 96);
  210.    if (!notplaying[0])  OnMenu(offerswindow, 0);
  211.    if (!notplaying[1])  OnMenu(offerswindow, 32);
  212.    if (!notplaying[2])  OnMenu(offerswindow, 64);
  213.    if (!notplaying[3])  OnMenu(offerswindow, 96);
  214.    }
  215.  
  216. msg3.NextText=&msgC;
  217. msgC.NextText=&msg4;
  218.  
  219. PrintIText(rportoffers, &msg0, 0, 30);
  220.  
  221. msg3.NextText=&msg4;
  222.  
  223. line0_text=107;
  224. for (j=0, hold_line=line0_text; j<SHOW_LINES; j++)
  225.    instructIT[j].IText=instructline[hold_line++];
  226.  
  227. doneselling=FALSE;
  228. while (!doneselling)
  229.    {
  230.    Wait(1<<offerswindow->UserPort->mp_SigBit);
  231.    while((offersmsg=(struct IntuiMessage *)
  232.                          GetMsg(offerswindow->UserPort))!=NULL)
  233.       {
  234.       osclass=offersmsg->Class;
  235.       oscode=offersmsg->Code;
  236.       if (osclass == GADGETUP)  getID(offersmsg);
  237.       ReplyMsg(offersmsg);
  238.       }
  239.    if ( (osclass == RAWKEY) && (oscode == HELP) ) instruction();
  240.    if (osclass == GADGETUP)
  241.       {
  242.       if (gagid == 0)    /*  CONTINUE  */
  243.          {
  244.          ClearMenuStrip(offerswindow);
  245.      RemoveGadget(offerswindow, &continuegag);
  246.          CloseWindow(offerswindow);
  247.          return;
  248.          }
  249.       }  
  250.    if ( (osclass == MENUPICK) && (oscode != MENUNULL) )
  251.       {
  252.       seller=(USHORT)ITEMNUM(oscode);
  253.       doneselling=TRUE;
  254.       }
  255.    }
  256. ClearMenuStrip(offerswindow);
  257. RemoveGadget(offerswindow, &continuegag);
  258. CloseWindow(offerswindow);
  259. yesgag.TopEdge=130;
  260. nogag.TopEdge=130;
  261. yesgag.LeftEdge=145;
  262. nogag.LeftEdge=10;
  263. yesgag.NextGadget=&nogag;
  264.  
  265. if (seller == 0)
  266.    {
  267.    address.IText=&name0[0];
  268.    address.FrontPen=25;
  269.    }
  270. if (seller == 1)
  271.    {
  272.    address.FrontPen=26;
  273.    address.IText=&name1[0];
  274.    }
  275. if (seller == 2)
  276.    {   
  277.    address.FrontPen=27;
  278.    address.IText=&name2[0];
  279.    }
  280. if (seller == 3)
  281.    {
  282.    address.FrontPen=28;
  283.    address.IText=&name3[0];
  284.    }
  285.  
  286. msg0.IText=(UBYTE *)"use the MENU to pick";
  287. msg1.IText=(UBYTE *)"an asset which you";
  288. msg2.IText=(UBYTE *)"wish to sell.  Select,";
  289. msg3.IText=(UBYTE *)"delete, and change";
  290. msg4.IText=(UBYTE *)"the dollar GADGET ";
  291. msg5.IText=(UBYTE *)"to show the amount of";
  292. msg6.IText=(UBYTE *)"your asking price.";
  293. msg7.IText=(UBYTE *)"Finally, select YES to";
  294. msg8.IText=(UBYTE *)"make the offer or NO";
  295. msg9.IText=(UBYTE *)"to return to the game.";
  296.    
  297. msg5.NextText=&msg6;
  298. msg6.NextText=&msg7;
  299. msg7.NextText=&msg8;
  300. msg8.NextText=&msg9;
  301. msg9.NextText=&msgY;
  302. msgY.NextText=&msgN;
  303. msgN.NextText=$
  304.  
  305. nofferbw.FirstGadget=&offersgag; 
  306. if ((offerswindow=(struct Window *)OpenWindow(&nofferbw))==NULL) cleanup();
  307. rportoffers=offerswindow->RPort;
  308. SetMenuStrip(offerswindow, &Menu14);
  309. fixoffersmenu(seller);
  310. PrintIText(rportoffers, &address, 0, 0);
  311.  
  312. doneselling=FALSE;
  313. while (!doneselling)
  314.    {
  315.    Wait(1<<offerswindow->UserPort->mp_SigBit);
  316.  
  317.    while((offersmsg=(struct IntuiMessage *)
  318.                          GetMsg(offerswindow->UserPort))!=NULL)
  319.       {
  320.       osclass=offersmsg->Class;
  321.       oscode=offersmsg->Code;
  322.       if (osclass == GADGETUP)  getID(offersmsg);
  323.       ReplyMsg(offersmsg);
  324.       }
  325.    if ( (osclass == RAWKEY) && (oscode == HELP) ) instruction();
  326.    if (osclass == GADGETUP)
  327.       {
  328.       if (gagid == NO)
  329.          {
  330.          ClearMenuStrip(offerswindow);
  331.      RemoveGadget(offerswindow, &nogag);
  332.      RemoveGadget(offerswindow, &yesgag);
  333.      RemoveGadget(offerswindow, &offersgag);
  334.          CloseWindow(offerswindow);
  335.      yesgag.NextGadget=&nogag;
  336.          return;
  337.          }
  338.       if ( (gagid == YES) && picked)
  339.          {
  340.          ClearMenuStrip(offerswindow);
  341.          RemoveGadget(offerswindow, &nogag);
  342.      RemoveGadget(offerswindow, &yesgag);
  343.      RemoveGadget(offerswindow, &offersgag);
  344.          CloseWindow(offerswindow);
  345.      yesgag.NextGadget=&nogag;
  346.          doneselling=TRUE;
  347.          }
  348.       }      
  349.    if ( (osclass == MENUPICK) && (oscode != MENUNULL) )
  350.       {
  351.       picked=TRUE;
  352.       if (ITEMNUM(oscode) == 0)
  353.          {
  354.          if (SUBNUM(oscode) == 0)  sellprop=1;
  355.          if (SUBNUM(oscode) == 1)  sellprop=3;
  356.          }
  357.       if (ITEMNUM(oscode) == 1)
  358.          {
  359.          if (SUBNUM(oscode) == 0)  sellprop=6;
  360.          if (SUBNUM(oscode) == 1)  sellprop=8;
  361.          if (SUBNUM(oscode) == 2)  sellprop=9;
  362.          }
  363.       if (ITEMNUM(oscode) == 2)
  364.          {
  365.          if (SUBNUM(oscode) == 0)  sellprop=11;
  366.          if (SUBNUM(oscode) == 1)  sellprop=13;
  367.          if (SUBNUM(oscode) == 2)  sellprop=14;
  368.          }
  369.       if (ITEMNUM(oscode) == 3)
  370.          {
  371.          if (SUBNUM(oscode) == 0)  sellprop=16;
  372.          if (SUBNUM(oscode) == 1)  sellprop=18;
  373.          if (SUBNUM(oscode) == 2)  sellprop=19;
  374.          }
  375.       if (ITEMNUM(oscode) == 4)
  376.          {
  377.          if (SUBNUM(oscode) == 0)  sellprop=21;
  378.          if (SUBNUM(oscode) == 1)  sellprop=23;
  379.          if (SUBNUM(oscode) == 2)  sellprop=24;
  380.          }
  381.       if (ITEMNUM(oscode) == 5)
  382.          {
  383.          if (SUBNUM(oscode) == 0)  sellprop=26;
  384.          if (SUBNUM(oscode) == 1)  sellprop=27;
  385.          if (SUBNUM(oscode) == 2)  sellprop=29;
  386.          }
  387.       if (ITEMNUM(oscode) == 6)
  388.          {
  389.          if (SUBNUM(oscode) == 0)  sellprop=31;
  390.          if (SUBNUM(oscode) == 1)  sellprop=32;
  391.          if (SUBNUM(oscode) == 2)  sellprop=34;
  392.          }
  393.       if (ITEMNUM(oscode) == 7)
  394.          {
  395.          if (SUBNUM(oscode) == 0)  sellprop=37;
  396.          if (SUBNUM(oscode) == 1)  sellprop=39;
  397.          }
  398.       if (ITEMNUM(oscode) == 8)
  399.          {
  400.          if (SUBNUM(oscode) == 0)  sellprop=5;
  401.          if (SUBNUM(oscode) == 1)  sellprop=15;
  402.          if (SUBNUM(oscode) == 2)  sellprop=25;
  403.          if (SUBNUM(oscode) == 3)  sellprop=35;
  404.          }
  405.       if (ITEMNUM(oscode) == 9)
  406.          {
  407.          if (SUBNUM(oscode) == 0)  sellprop=12;
  408.          if (SUBNUM(oscode) == 1)  sellprop=28;
  409.          }
  410.       if (ITEMNUM(oscode) == 10)  sellprop=99;
  411.       }
  412.    }
  413.  
  414. if (seller == 0)
  415.    {
  416.    msg0.IText=&name0[0];
  417.    msg0.FrontPen=25;
  418.    }
  419. if (seller == 1)
  420.    {
  421.    msg0.FrontPen=26;
  422.    msg0.IText=&name1[0];
  423.    }
  424. if (seller == 2)
  425.    {   
  426.    msg0.FrontPen=27;
  427.    msg0.IText=&name2[0];
  428.    }
  429. if (seller == 3)
  430.    {
  431.    msg0.FrontPen=28;
  432.    msg0.IText=&name3[0];
  433.    }
  434. msg0.NextText=&msg1;
  435. msg1.NextText=&msg2;
  436. msg2.NextText=&msg3;
  437. msg3.NextText=$
  438. dollar.NextText=&msg4;
  439. msg4.NextText=&msg6;
  440. msg6.NextText=&msg7;
  441. msg7.NextText=&msg8;
  442. msg8.NextText=&msgC;
  443. msgC.NextText=&msg9;
  444. msg9.NextText=NULL;
  445. msg1.IText=(UBYTE *)"offers to sell";
  446. msg3.IText=(UBYTE *)"the asking price is";
  447. msg3.FrontPen=red;
  448. msg4.IText=&nbufofferb[0];
  449. msg4.FrontPen=red;
  450. msg4.LeftEdge=14;
  451. dollar.TopEdge=50;
  452. dollar.LeftEdge=5;
  453. msgC.TopEdge=89;
  454. msg6.IText=(UBYTE *)"Use the MENU to";
  455. msg7.IText=(UBYTE *)"select a buyer, or";
  456. msg8.IText=(UBYTE *)"CONTINUE to return";
  457. msg9.IText=(UBYTE *)"to the game.";
  458.  
  459. if (sellprop == 99)
  460.    {
  461.    msg3.NextText=&msg4;
  462.    msg4.NextText=$
  463.    msg4.NextText=$
  464.    dollar.NextText=&msg5;
  465.    msg5.NextText=&msg6;
  466.    msg1.IText=(UBYTE *)"offers to sell a";
  467.    msg2.IText=(UBYTE *)"GET-OUT-OF-JAIL-FREE";
  468.    msg2.FrontPen=chance_orange;
  469.    msg3.FrontPen=dk_maroon;
  470.    msg3.IText=(UBYTE *)"card.";
  471.    msg4.IText=(UBYTE *)"The asking price is";
  472.    msg5.IText=&nbufofferb[0];
  473.    msg5.FrontPen=red;
  474.    msg4.LeftEdge=5;
  475.    msg5.LeftEdge=14;
  476.    dollar.TopEdge=60;
  477.    dollar.LeftEdge=5;         
  478.    }
  479.  
  480. if (sellprop == 1)
  481.    {
  482.    msg2.IText=(UBYTE *)"MEDITERRANEAN AVENUE";
  483.    msg2.FrontPen=purple;
  484.    }
  485. if (sellprop == 3)
  486.    {
  487.    msg2.IText=(UBYTE *)"BALTIC AVENUE";
  488.    msg2.FrontPen=purple;
  489.    }
  490. if (sellprop == 5)
  491.    {
  492.    msg2.IText=(UBYTE *)"READING RR";
  493.    msg2.FrontPen=flesh;
  494.    }
  495. if (sellprop == 6)
  496.    {
  497.    msg2.IText=(UBYTE *)"ORIENTAL AVENUE";
  498.    msg2.FrontPen=lt_blue;
  499.    }
  500. if (sellprop == 8)
  501.    {
  502.    msg2.IText=(UBYTE *)"VERMONT AVENUE";
  503.    msg2.FrontPen=lt_blue;
  504.    }
  505. if (sellprop == 9)
  506.    {
  507.    msg2.IText=(UBYTE *)"CONNECTICUT  AVENUE";
  508.    msg2.FrontPen=lt_blue;
  509.    }
  510. if (sellprop == 11)
  511.    {
  512.    msg2.IText=(UBYTE *)"ST. CHARLES PLACE";
  513.    msg2.FrontPen=maroon;
  514.    }
  515. if (sellprop == 12)
  516.    {
  517.    msg2.IText=(UBYTE *)"ELECTRIC COMPANY";
  518.    msg2.FrontPen=yellow;
  519.    }
  520. if (sellprop == 13)
  521.    {
  522.    msg2.IText=(UBYTE *)"STATES  AVENUE";
  523.    msg2.FrontPen=maroon;
  524.    }
  525. if (sellprop == 14)
  526.    {
  527.    msg2.IText=(UBYTE *)"VIRGINIA AVENUE";
  528.    msg2.FrontPen=maroon;
  529.    }
  530. if (sellprop == 15)
  531.    {
  532.    msg2.IText=(UBYTE *)"PENNSYLVANIA RR";
  533.    msg2.FrontPen=flesh;
  534.    }
  535. if (sellprop == 16)
  536.    {
  537.    msg2.IText=(UBYTE *)"ST. JAMES PLACE";
  538.    msg2.FrontPen=orange;
  539.    }
  540. if (sellprop == 18)
  541.    {
  542.    msg2.IText=(UBYTE *)"TENNESSEE AVENUE";
  543.    msg2.FrontPen=orange;
  544.     }
  545. if (sellprop == 19)
  546.    {
  547.    msg2.IText=(UBYTE *)"NEW YORK AVENUE";
  548.    msg2.FrontPen=orange;
  549.    }
  550. if (sellprop == 21)
  551.    {
  552.    msg2.IText=(UBYTE *)"KENTUCKY AVENUE";
  553.    msg2.FrontPen=red;
  554.    }
  555. if (sellprop == 23)
  556.    {
  557.    msg2.IText=(UBYTE *)"INDIANA AVENUE";
  558.    msg2.FrontPen=red;
  559.    }
  560. if (sellprop == 24)
  561.    {
  562.    msg2.IText=(UBYTE *)"ILLINOIS AVENUE";
  563.    msg2.FrontPen=red;
  564.    }
  565. if (sellprop == 25)
  566.    {
  567.    msg2.IText=(UBYTE *)"B. & O. RR";
  568.    msg2.FrontPen=flesh;
  569.    }
  570. if (sellprop == 26)
  571.    {
  572.    msg2.IText=(UBYTE *)"ATLANTIC AVENUE";
  573.    msg2.FrontPen=yellow;
  574.    }
  575. if (sellprop == 27)
  576.    {
  577.    msg2.IText=(UBYTE *)"VENTNOR AVENUE";
  578.    msg2.FrontPen=yellow;
  579.    }
  580. if (sellprop == 28)
  581.    {
  582.    msg2.IText=(UBYTE *)"WATER WORKS";
  583.    msg2.FrontPen=royal_blue;
  584.    }
  585. if (sellprop == 29)
  586.    {
  587.    msg2.IText=(UBYTE *)"MARVIN GARDENS";
  588.    msg2.FrontPen=yellow;
  589.    }
  590. if (sellprop == 31)
  591.    {
  592.    msg2.IText=(UBYTE *)"PACIFIC AVENUE";
  593.    msg2.FrontPen=green;
  594.    }
  595. if (sellprop == 32)
  596.    {
  597.    msg2.IText=(UBYTE *)"NORTH CAROLINA AVENUE";
  598.    msg2.FrontPen=green;
  599.    }
  600. if (sellprop == 34)
  601.    {
  602.    msg2.IText=(UBYTE *)"PENNSYLVANIA AVENUE";
  603.    msg2.FrontPen=green;
  604.    }
  605. if (sellprop == 35)
  606.    {
  607.    msg2.IText=(UBYTE *)"SHORT LINE";
  608.    msg2.FrontPen=flesh;
  609.    }
  610. if (sellprop == 37)
  611.    {
  612.    msg2.IText=(UBYTE *)"PARK PLACE";
  613.    msg2.FrontPen=dk_blue;
  614.    }
  615. if (sellprop == 39)
  616.    {
  617.    msg2.IText=(UBYTE *)"BOARDWALK";
  618.    msg2.FrontPen=dk_blue;
  619.    }         
  620.          
  621.  
  622. nofferbw.FirstGadget=&continuegag;
  623. if ((offerswindow=(struct Window *)OpenWindow(&nofferbw))==NULL)
  624.             cleanup();
  625. rportoffers=offerswindow->RPort;
  626. Menu13.MenuName=(UBYTE *)"BUYER'S NAME";
  627. SetMenuStrip(offerswindow, &Menu13);
  628. fixoffers2menu(seller);
  629. PrintIText(rportoffers, &msg0, 0, 0);
  630.  
  631. doneselling=FALSE;
  632. while (!doneselling)
  633.    {
  634.    Wait(1<<offerswindow->UserPort->mp_SigBit);
  635.  
  636.    while((offersmsg=(struct IntuiMessage *)
  637.                          GetMsg(offerswindow->UserPort))!=NULL)
  638.       {
  639.       osclass=offersmsg->Class;
  640.       oscode=offersmsg->Code;
  641.       if (osclass == GADGETUP)  getID(offersmsg);
  642.       ReplyMsg(offersmsg);
  643.       }
  644.    if ( (osclass == RAWKEY) && (oscode == HELP) ) instruction();
  645.    if (osclass == GADGETUP)
  646.       {
  647.       if (gagid == 0)   /*  CONTINUE  */
  648.          {
  649.          ClearMenuStrip(offerswindow);
  650.      RemoveGadget(offerswindow, &continuegag);
  651.          CloseWindow(offerswindow);
  652.          return;
  653.          } 
  654.       }      
  655.    if ( (osclass == MENUPICK) && (oscode != MENUNULL) )
  656.       {
  657.       buyer=(USHORT)ITEMNUM(oscode);
  658.       ClearMenuStrip(offerswindow);
  659.       RemoveGadget(offerswindow, &continuegag);
  660.       CloseWindow(offerswindow);
  661.       doneselling=TRUE;
  662.       }
  663.    }
  664. if (buyer == 0)
  665.    {
  666.    address.IText=&name0[0];
  667.    address.FrontPen=25;
  668.    }
  669. if (buyer == 1)
  670.    {
  671.    address.FrontPen=26;
  672.    address.IText=&name1[0];
  673.    }
  674. if (buyer == 2)
  675.    {   
  676.    address.FrontPen=27;
  677.    address.IText=&name2[0];
  678.    }
  679. if (buyer == 3)
  680.    {
  681.    address.FrontPen=28;
  682.    address.IText=&name3[0];
  683.    }
  684.  
  685. msg0.NextText=&msg1;          
  686. msg1.NextText=&msg2; 
  687. msg2.NextText=&msg3; 
  688. msg3.NextText=&msg4; 
  689. msg4.NextText=&msg5; 
  690. msg5.NextText=$ 
  691. dollar.NextText=&msg6; 
  692. msg6.NextText=&msg10; 
  693. msg4.IText=msg0.IText;
  694. msg4.FrontPen=msg0.FrontPen;
  695. msg0.FrontPen=dk_maroon;
  696. msg5.FrontPen=red;
  697. msg6.FrontPen=red;
  698. msg4.LeftEdge=5;         
  699. msg5.LeftEdge=5;         
  700. msg6.LeftEdge=14;            
  701. dollar.TopEdge=70;           
  702. msg0.IText=(UBYTE *)"you have offered";
  703. msg1.IText=(UBYTE *)"to buy";
  704. if (sellprop == 99)  msg1.IText=(UBYTE *)"to buy a";
  705. msg3.FrontPen=dk_maroon;
  706. msg3.IText=(UBYTE *)"from";
  707. if (sellprop == 99)  msg3.IText=(UBYTE *)"card from";
  708. msg5.IText=(UBYTE *)"for a cost of";
  709. msg6.IText=&nbufofferb[0];
  710.  
  711. nofferbw.FirstGadget=&yesgag;
  712. nofferbw.IDCMPFlags=RAWKEY | GADGETUP;
  713. if ((offerswindow=(struct Window *)OpenWindow(&nofferbw))==NULL)
  714.          cleanup();
  715. rportoffers=offerswindow->RPort;
  716.         
  717. PrintIText(rportoffers, &address, 0, 0);
  718.      
  719. doneselling=FALSE;
  720. while (!doneselling)
  721.    {
  722.    Wait(1<<offerswindow->UserPort->mp_SigBit);
  723.  
  724.    while((offersmsg=(struct IntuiMessage *)
  725.                          GetMsg(offerswindow->UserPort))!=NULL)
  726.       {
  727.       osclass=offersmsg->Class;
  728.       oscode=offersmsg->Code;
  729.       if (osclass == GADGETUP)  getID(offersmsg);
  730.       ReplyMsg(offersmsg);
  731.       }
  732.    if ( (osclass == RAWKEY) && (oscode == HELP) ) instruction();
  733.    if (osclass == GADGETUP)
  734.       {
  735.       if (gagid == NO)  doneselling=TRUE;
  736.       if (gagid == YES)
  737.          {
  738.          cost=offersinfo.LongInt;
  739.          if (sellprop != 99)
  740.             transfertitle(buyer, owner[sellprop], sellprop, cost);
  741.          if (sellprop == 99)
  742.             {
  743.             eft(buyer, seller, cost);
  744.             freecard[seller]--;
  745.             freecard[buyer]++;
  746.             }
  747.          doneselling=TRUE;
  748.          }
  749.       }      
  750.    }
  751. RemoveGadget(offerswindow, &nogag);
  752. RemoveGadget(offerswindow, &yesgag);
  753. CloseWindow(offerswindow);
  754. yesgag.NextGadget=&nogag;
  755. return;
  756. }
  757.  
  758.