home *** CD-ROM | disk | FTP | other *** search
/ Giga Games 1 / Giga Games.iso / net / usenet / volume11 / vcraps2 / patch2 < prev   
Encoding:
Internet Message Format  |  1990-09-18  |  14.1 KB

  1. Path: uunet!zephyr.ens.tek.com!tekred!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v11i051:  vcraps2 - display-oriented craps game (Ver. 2), Patch2
  5. Message-ID: <6312@tekred.CNA.TEK.COM>
  6. Date: 14 Sep 90 21:42:57 GMT
  7. Sender: news@tekred.CNA.TEK.COM
  8. Lines: 478
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: Robert Steven Glickstein <bobg+@andrew.cmu.edu>
  12. Posting-number: Volume 11, Issue 51
  13. Archive-name: vcraps2/Patch2
  14. Patch-To: vcraps2: Volume 11, Issue 34-35
  15.  
  16. [[This patch creates vcraps 2.2 from vcraps 2.1, and crapslib 2.1 from
  17. crapslib 2.0.  Previously, crapslib allowed only single or double free
  18. odds bets.  However, it has come to my attention that some casinos offer
  19. as much as 10x odds.  Thus, crapslib now supports any integer free odds,
  20. as does vcraps.  In earlier versions of vcraps, double odds was the
  21. default, and the "-s" switch selected single odds.  The "-s" flag is
  22. still present for backward-compatability, but now there is a "-o <num>"
  23. switch to allow <num> odds.]]
  24.  
  25.  
  26. #! /bin/sh
  27. # This is a shell archive.  Remove anything before this line, then unpack
  28. # it by saving it into a file and typing "sh file".  To overwrite existing
  29. # files, type "sh file -c".  You can also feed this as standard input via
  30. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  31. # will see the following message at the end:
  32. #        "End of shell archive."
  33. # Contents:  patches02
  34. # Wrapped by billr@saab on Fri Sep 14 14:30:50 1990
  35. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  36. if test -f 'patches02' -a "${1}" != "-c" ; then 
  37.   echo shar: Will not clobber existing file \"'patches02'\"
  38. else
  39. echo shar: Extracting \"'patches02'\" \(12081 characters\)
  40. sed "s/^X//" >'patches02' <<'END_OF_FILE'
  41. X*** dist/crapslib.h    Thu Sep  6 21:53:50 1990
  42. X--- crapslib.h    Thu Sep  6 21:48:49 1990
  43. X***************
  44. X*** 1,5 ****
  45. X  #define CRAPSLIB_VERSION (2)
  46. X! #define CRAPSLIB_PATCHLEVEL (0)
  47. X  
  48. X  typedef enum {
  49. X      craps_PassLine = 0, craps_PassLineOdds,
  50. X--- 1,5 ----
  51. X  #define CRAPSLIB_VERSION (2)
  52. X! #define CRAPSLIB_PATCHLEVEL (1)
  53. X  
  54. X  typedef enum {
  55. X      craps_PassLine = 0, craps_PassLineOdds,
  56. X***************
  57. X*** 45,51 ****
  58. X      int             bankroll, point, die1, die2;
  59. X      int             bought4, bought10; /* booleans */
  60. X      /* Configuration: */
  61. X!     int             doublep;
  62. X      CrapsPayoff_t   field2payoff, field12payoff, big6payoff;
  63. X      CrapsPayoff_t   big8payoff, oneroll2payoff, oneroll3payoff;
  64. X      CrapsPayoff_t   oneroll11payoff, oneroll12payoff;
  65. X--- 45,51 ----
  66. X      int             bankroll, point, die1, die2;
  67. X      int             bought4, bought10; /* booleans */
  68. X      /* Configuration: */
  69. X!     int             odds;
  70. X      CrapsPayoff_t   field2payoff, field12payoff, big6payoff;
  71. X      CrapsPayoff_t   big8payoff, oneroll2payoff, oneroll3payoff;
  72. X      CrapsPayoff_t   oneroll11payoff, oneroll12payoff;
  73. X***************
  74. X*** 59,65 ****
  75. X  #define Craps_Die2(t) ((t)->die2)
  76. X  #define Craps_Bought4(t) ((t)->bought4)
  77. X  #define Craps_Bought10(t) ((t)->bought10)
  78. X! #define Craps_Doublep(t) ((t)->doublep)
  79. X  #define Craps_Field2Payoff(t) (&((t)->field2payoff))
  80. X  #define Craps_Field12Payoff(t) (&((t)->field12payoff))
  81. X  #define Craps_Big6Payoff(t) (&((t)->big6payoff))
  82. X--- 59,65 ----
  83. X  #define Craps_Die2(t) ((t)->die2)
  84. X  #define Craps_Bought4(t) ((t)->bought4)
  85. X  #define Craps_Bought10(t) ((t)->bought10)
  86. X! #define Craps_Odds(t) ((t)->odds)
  87. X  #define Craps_Field2Payoff(t) (&((t)->field2payoff))
  88. X  #define Craps_Field12Payoff(t) (&((t)->field12payoff))
  89. X  #define Craps_Big6Payoff(t) (&((t)->big6payoff))
  90. X***************
  91. X*** 71,77 ****
  92. X  #define Craps_GetBet(t,type) ((t)->bets[(int)(type)])
  93. X  
  94. X  #define Craps_SetBankroll(t,b) (((t)->bankroll)=(b))
  95. X! #define Craps_SetDouble(t,d) (((t)->doublep)=(d))
  96. X  
  97. X  #define Craps_IncrBankroll(t,amt) (((t)->bankroll)+=(amt))
  98. X  
  99. X--- 71,77 ----
  100. X  #define Craps_GetBet(t,type) ((t)->bets[(int)(type)])
  101. X  
  102. X  #define Craps_SetBankroll(t,b) (((t)->bankroll)=(b))
  103. X! #define Craps_SetOdds(t,o) (((t)->odds)=(o))
  104. X  
  105. X  #define Craps_IncrBankroll(t,amt) (((t)->bankroll)+=(amt))
  106. X  
  107. X*** dist/crapslib.c    Thu Sep  6 21:53:48 1990
  108. X--- crapslib.c    Thu Sep  6 21:48:48 1990
  109. X***************
  110. X*** 224,230 ****
  111. X      t->die1 = 5;
  112. X      t->die2 = 6;
  113. X      t->bought4 = t->bought10 = 0;
  114. X!     t->doublep = 1;
  115. X      t->field2payoff.numerator = 2;
  116. X      t->field2payoff.denominator = 1;
  117. X      t->field12payoff.numerator = 2;
  118. X--- 224,230 ----
  119. X      t->die1 = 5;
  120. X      t->die2 = 6;
  121. X      t->bought4 = t->bought10 = 0;
  122. X!     t->odds = 2;
  123. X      t->field2payoff.numerator = 2;
  124. X      t->field2payoff.denominator = 1;
  125. X      t->field12payoff.numerator = 2;
  126. X***************
  127. X*** 695,702 ****
  128. X          else {
  129. X          Craps_GetPayoff(t, which, &payoff);
  130. X          orig = t->bets[(int) craps_PassLine];
  131. X!         if (t->doublep)
  132. X!             orig *= 2;
  133. X          if (orig % payoff.denominator)
  134. X              max = (orig - (orig % payoff.denominator)) + payoff.denominator;
  135. X          else
  136. X--- 695,701 ----
  137. X          else {
  138. X          Craps_GetPayoff(t, which, &payoff);
  139. X          orig = t->bets[(int) craps_PassLine];
  140. X!         orig *= t->odds;
  141. X          if (orig % payoff.denominator)
  142. X              max = (orig - (orig % payoff.denominator)) + payoff.denominator;
  143. X          else
  144. X***************
  145. X*** 722,729 ****
  146. X      case craps_ComeOdds4:
  147. X          if (!(max = t->bets[(int) craps_Come4]))
  148. X          return (crapserr_NoBet);
  149. X!         if (t->doublep)
  150. X!         max *= 2;
  151. X          if (bet > max) {
  152. X          CrapsErrorDatum = max;
  153. X          return (crapserr_TooMuch);
  154. X--- 721,727 ----
  155. X      case craps_ComeOdds4:
  156. X          if (!(max = t->bets[(int) craps_Come4]))
  157. X          return (crapserr_NoBet);
  158. X!         max *= t->odds;
  159. X          if (bet > max) {
  160. X          CrapsErrorDatum = max;
  161. X          return (crapserr_TooMuch);
  162. X***************
  163. X*** 733,740 ****
  164. X      case craps_ComeOdds10:
  165. X          if (!(max = t->bets[(int) craps_Come10]))
  166. X          return (crapserr_NoBet);
  167. X!         if (t->doublep)
  168. X!         max *= 2;
  169. X          if (bet > max) {
  170. X          CrapsErrorDatum = max;
  171. X          return (crapserr_TooMuch);
  172. X--- 731,737 ----
  173. X      case craps_ComeOdds10:
  174. X          if (!(max = t->bets[(int) craps_Come10]))
  175. X          return (crapserr_NoBet);
  176. X!         max *= t->odds;
  177. X          if (bet > max) {
  178. X          CrapsErrorDatum = max;
  179. X          return (crapserr_TooMuch);
  180. X***************
  181. X*** 744,751 ****
  182. X      case craps_ComeOdds5:
  183. X          if (!(max = t->bets[(int) craps_Come5]))
  184. X          return (crapserr_NoBet);
  185. X!         if (t->doublep)
  186. X!         max *= 2;
  187. X          if (max % 2)
  188. X          ++max;
  189. X          if (bet > max) {
  190. X--- 741,747 ----
  191. X      case craps_ComeOdds5:
  192. X          if (!(max = t->bets[(int) craps_Come5]))
  193. X          return (crapserr_NoBet);
  194. X!         max *= t->odds;
  195. X          if (max % 2)
  196. X          ++max;
  197. X          if (bet > max) {
  198. X***************
  199. X*** 761,768 ****
  200. X      case craps_ComeOdds9:
  201. X          if (!(max = t->bets[(int) craps_Come9]))
  202. X          return (crapserr_NoBet);
  203. X!         if (t->doublep)
  204. X!         max *= 2;
  205. X          if (max % 2)
  206. X          ++max;
  207. X          if (bet > max) {
  208. X--- 757,763 ----
  209. X      case craps_ComeOdds9:
  210. X          if (!(max = t->bets[(int) craps_Come9]))
  211. X          return (crapserr_NoBet);
  212. X!         max *= t->odds;
  213. X          if (max % 2)
  214. X          ++max;
  215. X          if (bet > max) {
  216. X***************
  217. X*** 778,785 ****
  218. X      case craps_ComeOdds6:
  219. X          if (!(orig = t->bets[(int) craps_Come6]))
  220. X          return (crapserr_NoBet);
  221. X!         if (t->doublep)
  222. X!         orig *= 2;
  223. X          if (orig % 5)
  224. X          max = (orig - (orig % 5)) + 5;
  225. X          else
  226. X--- 773,779 ----
  227. X      case craps_ComeOdds6:
  228. X          if (!(orig = t->bets[(int) craps_Come6]))
  229. X          return (crapserr_NoBet);
  230. X!         orig *= t->odds;
  231. X          if (orig % 5)
  232. X          max = (orig - (orig % 5)) + 5;
  233. X          else
  234. X***************
  235. X*** 797,804 ****
  236. X      case craps_ComeOdds8:
  237. X          if (!(orig = t->bets[(int) craps_Come8]))
  238. X          return (crapserr_NoBet);
  239. X!         if (t->doublep)
  240. X!         orig *= 2;
  241. X          if (orig % 5)
  242. X          max = (orig - (orig % 5)) + 5;
  243. X          else
  244. X--- 791,797 ----
  245. X      case craps_ComeOdds8:
  246. X          if (!(orig = t->bets[(int) craps_Come8]))
  247. X          return (crapserr_NoBet);
  248. X!         orig *= t->odds;
  249. X          if (orig % 5)
  250. X          max = (orig - (orig % 5)) + 5;
  251. X          else
  252. X***************
  253. X*** 824,831 ****
  254. X          return (crapserr_ComeOut);
  255. X          if (!(orig = t->bets[(int) craps_DontPass]))
  256. X          return (crapserr_NoBet);
  257. X!         if (t->doublep)
  258. X!         orig *= 2;
  259. X          Craps_GetPayoff(t, which, &payoff);
  260. X          if (orig % payoff.numerator)
  261. X          max = (orig - (orig % payoff.numerator)) + payoff.numerator;
  262. X--- 817,823 ----
  263. X          return (crapserr_ComeOut);
  264. X          if (!(orig = t->bets[(int) craps_DontPass]))
  265. X          return (crapserr_NoBet);
  266. X!         orig *= t->odds;
  267. X          Craps_GetPayoff(t, which, &payoff);
  268. X          if (orig % payoff.numerator)
  269. X          max = (orig - (orig % payoff.numerator)) + payoff.numerator;
  270. X***************
  271. X*** 851,858 ****
  272. X      case craps_DontComeOdds4:
  273. X          if (!(orig = t->bets[(int) craps_DontCome4]))
  274. X          return (crapserr_NoBet);
  275. X!         if (t->doublep)
  276. X!         orig *= 2;
  277. X          max = orig * 2;
  278. X          if (bet > max) {
  279. X          CrapsErrorDatum = max;
  280. X--- 843,849 ----
  281. X      case craps_DontComeOdds4:
  282. X          if (!(orig = t->bets[(int) craps_DontCome4]))
  283. X          return (crapserr_NoBet);
  284. X!         orig *= t->odds;
  285. X          max = orig * 2;
  286. X          if (bet > max) {
  287. X          CrapsErrorDatum = max;
  288. X***************
  289. X*** 867,874 ****
  290. X      case craps_DontComeOdds10:
  291. X          if (!(orig = t->bets[(int) craps_DontCome10]))
  292. X          return (crapserr_NoBet);
  293. X!         if (t->doublep)
  294. X!         orig *= 2;
  295. X          max = orig * 2;
  296. X          if (bet > max) {
  297. X          CrapsErrorDatum = max;
  298. X--- 858,864 ----
  299. X      case craps_DontComeOdds10:
  300. X          if (!(orig = t->bets[(int) craps_DontCome10]))
  301. X          return (crapserr_NoBet);
  302. X!         orig *= t->odds;
  303. X          max = orig * 2;
  304. X          if (bet > max) {
  305. X          CrapsErrorDatum = max;
  306. X***************
  307. X*** 883,890 ****
  308. X      case craps_DontComeOdds5:
  309. X          if (!(orig = t->bets[(int) craps_DontCome5]))
  310. X          return (crapserr_NoBet);
  311. X!         if (t->doublep)
  312. X!         orig *= 2;
  313. X          max = (orig % 2) ? (orig + 1) : orig;
  314. X          max /= 2;
  315. X          max *= 3;
  316. X--- 873,879 ----
  317. X      case craps_DontComeOdds5:
  318. X          if (!(orig = t->bets[(int) craps_DontCome5]))
  319. X          return (crapserr_NoBet);
  320. X!         orig *= t->odds;
  321. X          max = (orig % 2) ? (orig + 1) : orig;
  322. X          max /= 2;
  323. X          max *= 3;
  324. X***************
  325. X*** 901,908 ****
  326. X      case craps_DontComeOdds9:
  327. X          if (!(orig = t->bets[(int) craps_DontCome9]))
  328. X          return (crapserr_NoBet);
  329. X!         if (t->doublep)
  330. X!         orig *= 2;
  331. X          max = (orig % 2) ? (orig + 1) : orig;
  332. X          max /= 2;
  333. X          max *= 3;
  334. X--- 890,896 ----
  335. X      case craps_DontComeOdds9:
  336. X          if (!(orig = t->bets[(int) craps_DontCome9]))
  337. X          return (crapserr_NoBet);
  338. X!         orig *= t->odds;
  339. X          max = (orig % 2) ? (orig + 1) : orig;
  340. X          max /= 2;
  341. X          max *= 3;
  342. X***************
  343. X*** 919,926 ****
  344. X      case craps_DontComeOdds6:
  345. X          if (!(orig = t->bets[(int) craps_DontCome6]))
  346. X          return (crapserr_NoBet);
  347. X!         if (t->doublep)
  348. X!         orig *= 2;
  349. X          if (orig % 5)
  350. X          max = (orig - (orig % 5)) + 5;
  351. X          else
  352. X--- 907,913 ----
  353. X      case craps_DontComeOdds6:
  354. X          if (!(orig = t->bets[(int) craps_DontCome6]))
  355. X          return (crapserr_NoBet);
  356. X!         orig *= t->odds;
  357. X          if (orig % 5)
  358. X          max = (orig - (orig % 5)) + 5;
  359. X          else
  360. X***************
  361. X*** 940,947 ****
  362. X      case craps_DontComeOdds8:
  363. X          if (!(orig = t->bets[(int) craps_DontCome8]))
  364. X          return (crapserr_NoBet);
  365. X!         if (t->doublep)
  366. X!         orig *= 2;
  367. X          if (orig % 5)
  368. X          max = (orig - (orig % 5)) + 5;
  369. X          else
  370. X--- 927,933 ----
  371. X      case craps_DontComeOdds8:
  372. X          if (!(orig = t->bets[(int) craps_DontCome8]))
  373. X          return (crapserr_NoBet);
  374. X!         orig *= t->odds;
  375. X          if (orig % 5)
  376. X          max = (orig - (orig % 5)) + 5;
  377. X          else
  378. X*** dist/vcraps.c    Thu Sep  6 21:54:06 1990
  379. X--- vcraps.c    Thu Sep  6 21:52:05 1990
  380. X***************
  381. X*** 3,19 ****
  382. X  #include <setjmp.h>
  383. X  
  384. X  #define VCRAPS_VERSION (2)
  385. X! #define VCRAPS_PATCHLEVEL (1)
  386. X  
  387. X  #define MSGQUEUELEN (20)
  388. X  
  389. X  extern int      CrapsErrorDatum;
  390. X  extern int      optind;
  391. X! extern char    *optarg, *malloc();
  392. X  
  393. X  int             MsgQueueLen, MsgQueueLatest;
  394. X  char           *MsgQueue[MSGQUEUELEN];
  395. X  
  396. X  jmp_buf         LoopEnv;
  397. X  
  398. X  WINDOW         *dontplace4win, *dontplace5win, *dontplace6win, *dontplace8win;
  399. X--- 3,21 ----
  400. X  #include <setjmp.h>
  401. X  
  402. X  #define VCRAPS_VERSION (2)
  403. X! #define VCRAPS_PATCHLEVEL (2)
  404. X  
  405. X  #define MSGQUEUELEN (20)
  406. X  
  407. X  extern int      CrapsErrorDatum;
  408. X  extern int      optind;
  409. X! extern char    *optarg, *malloc(), *index(), *rindex();
  410. X  
  411. X  int             MsgQueueLen, MsgQueueLatest;
  412. X  char           *MsgQueue[MSGQUEUELEN];
  413. X  
  414. X+ char           *ProgramName;
  415. X+ 
  416. X  jmp_buf         LoopEnv;
  417. X  
  418. X  WINDOW         *dontplace4win, *dontplace5win, *dontplace6win, *dontplace8win;
  419. X***************
  420. X*** 130,151 ****
  421. X  char          **argv;
  422. X  {
  423. X      int             c;
  424. X  
  425. X      MsgQueueLen = 0;
  426. X      MsgQueueLatest = -1;
  427. X      init();
  428. X      Craps_SetBankroll(&Table, 1000);
  429. X!     while ((c = getopt(argc, argv, "b:sx")) != EOF) {
  430. X      switch (c) {
  431. X          case 'b':
  432. X          Craps_SetBankroll(&Table, atoi(optarg));
  433. X          break;
  434. X          case 's':
  435. X!         Craps_SetDouble(&Table, 0);
  436. X          break;
  437. X          default:
  438. X          deinit();
  439. X!         fprintf(stderr, "Usage: vcraps [-b bankroll] [-s]\n");
  440. X          exit(1);
  441. X      }
  442. X      }
  443. X--- 132,160 ----
  444. X  char          **argv;
  445. X  {
  446. X      int             c;
  447. X+     char           *tmp;
  448. X  
  449. X+     ProgramName = (tmp = rindex(argv[0], '/')) ? tmp + 1 : argv[0];
  450. X      MsgQueueLen = 0;
  451. X      MsgQueueLatest = -1;
  452. X      init();
  453. X      Craps_SetBankroll(&Table, 1000);
  454. X!     Craps_SetOdds(&Table, 2);
  455. X!     while ((c = getopt(argc, argv, "b:o:sx")) != EOF) {
  456. X      switch (c) {
  457. X          case 'b':
  458. X          Craps_SetBankroll(&Table, atoi(optarg));
  459. X          break;
  460. X+         case 'o':
  461. X+         Craps_SetOdds(&Table, atoi(optarg));
  462. X+         break;
  463. X          case 's':
  464. X!         Craps_SetOdds(&Table, 1);
  465. X          break;
  466. X          default:
  467. X          deinit();
  468. X!         fprintf(stderr, "Usage: %s [-b bankroll] [-s] [-o odds]\n",
  469. X!             ProgramName);
  470. X          exit(1);
  471. X      }
  472. X      }
  473. X
  474. X*** patchlevel.h.orig    Fri Sep 14 14:29:14 1990
  475. X--- patchlevel.h    Fri Sep 14 14:29:58 1990
  476. X***************
  477. X*** 1 ****
  478. X! #define PATCHLEVEL 1
  479. X--- 1 ----
  480. X! #define PATCHLEVEL 2
  481. END_OF_FILE
  482. if test 12081 -ne `wc -c <'patches02'`; then
  483.     echo shar: \"'patches02'\" unpacked with wrong size!
  484. fi
  485. # end of 'patches02'
  486. fi
  487. echo shar: End of shell archive.
  488. exit 0
  489.