From 7f9c6364893d0a1163e232161504adf213b915b5 Mon Sep 17 00:00:00 2001 From: Jonathan Chan Date: Thu, 23 Aug 2018 08:59:03 -0700 Subject: [PATCH] Problem 84 - not working yet --- 84 | Bin 0 -> 9112 bytes 84.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 84.o | Bin 0 -> 2858 bytes 3 files changed, 113 insertions(+) create mode 100644 84 create mode 100644 84.c create mode 100644 84.o diff --git a/84 b/84 new file mode 100644 index 0000000000000000000000000000000000000000..be06bfe55410c05851d58a1e1ce5d78eb2f9f705 GIT binary patch literal 9112 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 literal 0 HcmV?d00001 diff --git a/84.c b/84.c new file mode 100644 index 0000000..1d1eeed --- /dev/null +++ b/84.c @@ -0,0 +1,113 @@ +#include +#include +#include +#include + +#define GO 0 +#define JAIL 10 +#define G2J 30 + +#define CC1 2 +#define CC2 17 +#define CC3 33 + +#define CH1 7 +#define CH2 22 +#define CH3 36 + +#define C1 11 +#define E3 24 +#define H2 39 + +#define R1 5 +#define R2 15 +#define R3 25 + +#define U1 12 +#define U2 28 + +int CC[2] = {GO, JAIL}; +int CH[6] = {GO, JAIL, C1, E3, H2, R1}; + +unsigned long long freq[40] = {0}; +int doubleRolls = 0; +int position = GO; +int communityChestIndex = 0; +int chanceIndex = 0; + +void moveToSquare(int square) { + position = square; + freq[square]++; +} + +void communityChest() { + communityChestIndex = ++communityChestIndex % 16; + if (communityChestIndex == 1 || communityChestIndex == 2) { + moveToSquare(CC[communityChestIndex - 1]); + } else { + moveToSquare(position); + } +} + +void chance() { + chanceIndex = ++chanceIndex % 16; + if (chanceIndex >= 1 && chanceIndex <= 6) { + moveToSquare(CC[chanceIndex - 1]); + } else if (chanceIndex == 7 || chanceIndex == 8) { + if (position == CH1) { + moveToSquare(R2); + } else if (position == CH2) { + moveToSquare(R3); + } else { + moveToSquare(R1); + } + } else if (chanceIndex == 9) { + if (position == CH2) { + moveToSquare(U2); + } else { + moveToSquare(U1); + } + } else if (chanceIndex == 10) { + position -= 3; + if (position == CH3) { + communityChest(); + } else { + moveToSquare(position); + } + } else { + moveToSquare(position); + } +} + +int main(void) { + srand(time(NULL)); + + for (unsigned long long i = 0; i < 20000000; i++) { + int die1 = (rand() % 4) + 1; + int die2 = (rand() % 4) + 1; + int dice = die1 + die2; + + if (die1 == die2) { + doubleRolls = ++doubleRolls % 3; + if (doubleRolls == 0) { + moveToSquare(JAIL); + continue; + } + } + + position = (position + dice) % 40; + if (position == G2J) { + moveToSquare(JAIL); + } else if (position == CC1 || position == CC2 || position == CC3) { + communityChest(); + } else if (position == CH1 || position == CH2 || position == CH3) { + chance(); + } else { + moveToSquare(position); + } + } + + for (int i = 0; i < 40; i++) { + printf("%02d: %llu\n", i, freq[i]); + } +} \ No newline at end of file diff --git a/84.o b/84.o new file mode 100644 index 0000000000000000000000000000000000000000..fa509892b2f673d430f8eb32b5beb07e4d0012fe GIT binary patch literal 2858 zcmaKue`p*<6vt<8?{aCHkW^x@5YsKDrqOVwXKJMuIdVO+QG?gU1X>8que;{ta+lui z#x&BZT~k<>g9!dn{}Du?{$Eg2|H-A6h6)->|L9*56k*#03=;7W&H3KU?Yq4s`e1iH z^X9v6X5P%~?)X(dLz}K<>>wvE3uv(!jkCC|%8YeLj6Lv)`Y|XJ799?Zk7y$vN&1RiCmctNhyS>YX7Xveu0Xsl+Vn@8rP++Q3hy6}~Zc9vs)j~bQK$of1 zHGu!xj(E|~b6wEjGK}}dF1i8L{MGDhup$kn?9(o z%v#U<&@Bw38taPXQz3}4D485Y_2c}bW@*J(t#4m(yN!aR?JYe}@aRvM(3bcB=3E1S z{>{97s#q+p)meO)Q0<25ylQ-_xO;!i=^erH;k}~wvU_gva+eSog{pVjOZcCi-`^@0 zAAS#Ga-Q+y*m-w_YCR-IWfc5+{X#vc?9WmE3D;vXBCRt8#nZylV<^DQ7K^a30M5 z8&Wgmtb<2ua&RB6xmeDFkYGP_x^~p@_{+McvJMww2zBL+YeIO{h!iCCy-S5+#}TRi z>UCI*JCRLH@>-`A+1%v_HhRF{i4`Yd|p|KO4YKjI*0_m?VJ&Q)c4>G49nYaRhP;t4`YqMSl)+s ztpa?gGdO-+Ih0K5VnjXR@Nwnv>Dcs<4y9X9BsFF9qSDuYra!1mWzuiP#;eQ=mO?dD#u}{Xq19=qIAzi2fid64k(V z79(u|5|N)L-^)b3L}NrI(MLpI5iJpYNAx4nFGRl+)x%og8^z1^13k$}0cznC1UkSe zN^}KCjNT&pkmv@{0?|F9B9RZ)UqoppY9k5~og{jl=qyo^=rf`(f%fq+e*>g&f*bS0 zCBr-&!d;1nM&^4+wBnaj5bjgaiYG$&Fi(OMYHcOoVIusVi)RDzL^1|7v@O^G=cO0B z0%M}?zT@WsO@i@yU~P6Y?7asru3=*nBdIY6jps{vCPxw}d=5{S@VNhPFsLlysl&gT zvbq0l;6c#fJSxroUjqR^6WuXJ_dgBhSe7sgmFE7R@j;U;;VH%wTsHT=Ocl6gsj}Ts zK3f959?~<8o62yQkm0;MEUXF-uCegMGckMxaKm|_m$4V%3c>t@XDXddXo++R-|%Hk zH)!yurtBF64}STD=iE7GHNeeaO_`RMbT&fClg*5z#<7_jYAPK3si{mNrN!NvQK*O< zwa(7YvdQ#x?2UB)1$`tFV`J&bNj;U&E`}#!S