diff options
-rw-r--r-- | Readme.textile | 21 | ||||
-rw-r--r-- | monopoly.bottom.dat | 40 | ||||
-rwxr-xr-x | monopoly.bottom.plot | 10 | ||||
-rw-r--r-- | monopoly.bottom.svg | 208 | ||||
-rw-r--r-- | monopoly.discard.dat | 40 | ||||
-rwxr-xr-x | monopoly.discard.plot | 10 | ||||
-rw-r--r-- | monopoly.discard.svg | 208 | ||||
-rwxr-xr-x | monopoly.rb | 129 |
8 files changed, 666 insertions, 0 deletions
diff --git a/Readme.textile b/Readme.textile new file mode 100644 index 0000000..4e1c33b --- /dev/null +++ b/Readme.textile @@ -0,0 +1,21 @@ +h1. Monopoly Landings + +This experimentally tests landing frequencies for squares on a monopoly board. + +h1. Requirements + +* Ruby +* Gnuplot + +h1. Deck strateies + +There are two deck strategies available: + +* Put card back on bottom of deck (@bottom@) +* Form a discard pile and shuffle it when the draw runs out (@discard@) + +h1. Running + +# ./monopoly <strategy> <rolls> > monopoly.<strategy>.dat +# ./monopoly.<strategy>.plot +# see monopoly.<strategy>.svg diff --git a/monopoly.bottom.dat b/monopoly.bottom.dat new file mode 100644 index 0000000..1ba0ebe --- /dev/null +++ b/monopoly.bottom.dat @@ -0,0 +1,40 @@ +0 2056672 +1 2035295 +2 2133768 +3 2220406 +4 2315543 +5 2423412 +6 2554524 +7 2693143 +8 2638163 +9 2569634 +10 2876766 +11 2420811 +12 2421525 +13 2413601 +14 2498800 +15 2651458 +16 2773959 +17 2896894 +18 2853827 +19 2830049 +20 2795982 +21 2760713 +22 2724420 +23 2689202 +24 2676457 +25 2670255 +26 2646872 +27 2603607 +28 2547940 +29 2488636 +30 2516624 +31 2531628 +32 2488149 +33 2427072 +34 2378673 +35 2317250 +36 2208126 +37 2093793 +38 2087411 +39 2068940 diff --git a/monopoly.bottom.plot b/monopoly.bottom.plot new file mode 100755 index 0000000..bb1bc60 --- /dev/null +++ b/monopoly.bottom.plot @@ -0,0 +1,10 @@ +#!/usr/bin/gnuplot + +reset + +set terminal svg size 350,262 fname 'Verdana, Helvetica, Arial, sans-serif' fsize '10' +set output 'monopoly.bottom.svg' + +unset key + +plot 'monopoly.bottom.dat' with linespoints ls 1 diff --git a/monopoly.bottom.svg b/monopoly.bottom.svg new file mode 100644 index 0000000..bc1ac69 --- /dev/null +++ b/monopoly.bottom.svg @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg + width="350" height="262" + viewBox="0 0 350 262" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" +> + +<title>Gnuplot</title> +<desc>Produced by GNUPLOT 5.0 patchlevel 3 </desc> + +<g id="gnuplot_canvas"> + +<rect x="0" y="0" width="350" height="262" fill="none"/> +<defs> + + <circle id='gpDot' r='0.5' stroke-width='0.5'/> + <path id='gpPt0' stroke-width='0.267' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/> + <path id='gpPt1' stroke-width='0.267' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/> + <path id='gpPt2' stroke-width='0.267' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/> + <rect id='gpPt3' stroke-width='0.267' stroke='currentColor' x='-1' y='-1' width='2' height='2'/> + <rect id='gpPt4' stroke-width='0.267' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/> + <circle id='gpPt5' stroke-width='0.267' stroke='currentColor' cx='0' cy='0' r='1'/> + <use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/> + <path id='gpPt7' stroke-width='0.267' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/> + <use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/> + <use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/> + <use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/> + <use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/> + <use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/> + <path id='gpPt13' stroke-width='0.267' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/> + <use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/> + <filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'> + <feFlood flood-color='white' flood-opacity='1' result='bgnd'/> + <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/> + </filter> + <filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'> + <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/> + <feComposite in='SourceGraphic' in2='grey' operator='atop'/> + </filter> +</defs> +<g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,232.0 L74.0,232.0 M328.9,232.0 L321.4,232.0 '/> <g transform="translate(59.5,235.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,207.8 L74.0,207.8 M328.9,207.8 L321.4,207.8 '/> <g transform="translate(59.5,211.5)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.1x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,183.6 L74.0,183.6 M328.9,183.6 L321.4,183.6 '/> <g transform="translate(59.5,187.3)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.2x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,159.4 L74.0,159.4 M328.9,159.4 L321.4,159.4 '/> <g transform="translate(59.5,163.1)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.3x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,135.2 L74.0,135.2 M328.9,135.2 L321.4,135.2 '/> <g transform="translate(59.5,138.9)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.4x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,110.9 L74.0,110.9 M328.9,110.9 L321.4,110.9 '/> <g transform="translate(59.5,114.6)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.5x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,86.7 L74.0,86.7 M328.9,86.7 L321.4,86.7 '/> <g transform="translate(59.5,90.4)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.6x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,62.5 L74.0,62.5 M328.9,62.5 L321.4,62.5 '/> <g transform="translate(59.5,66.2)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.7x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,38.3 L74.0,38.3 M328.9,38.3 L321.4,38.3 '/> <g transform="translate(59.5,42.0)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.8x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,14.1 L74.0,14.1 M328.9,14.1 L321.4,14.1 '/> <g transform="translate(59.5,17.8)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.9x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,232.0 L66.5,224.5 M66.5,14.1 L66.5,21.6 '/> <g transform="translate(66.5,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 0</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M99.3,232.0 L99.3,224.5 M99.3,14.1 L99.3,21.6 '/> <g transform="translate(99.3,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 5</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M132.1,232.0 L132.1,224.5 M132.1,14.1 L132.1,21.6 '/> <g transform="translate(132.1,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 10</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M164.9,232.0 L164.9,224.5 M164.9,14.1 L164.9,21.6 '/> <g transform="translate(164.9,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 15</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M197.7,232.0 L197.7,224.5 M197.7,14.1 L197.7,21.6 '/> <g transform="translate(197.7,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 20</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M230.5,232.0 L230.5,224.5 M230.5,14.1 L230.5,21.6 '/> <g transform="translate(230.5,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 25</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M263.3,232.0 L263.3,224.5 M263.3,14.1 L263.3,21.6 '/> <g transform="translate(263.3,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 30</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M296.1,232.0 L296.1,224.5 M296.1,14.1 L296.1,21.6 '/> <g transform="translate(296.1,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 35</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M328.9,232.0 L328.9,224.5 M328.9,14.1 L328.9,21.6 '/> <g transform="translate(328.9,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 40</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,14.1 L66.5,232.0 L328.9,232.0 L328.9,14.1 L66.5,14.1 Z '/></g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> + <g id="gnuplot_plot_1" ><title>'monopoly.bottom.dat'</title> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='rgb(148, 0, 211)' d='M66.5,218.3 L73.1,223.5 L79.6,199.6 L86.2,178.6 L92.7,155.6 L99.3,129.5 L105.9,97.7 L112.4,64.2 + L119.0,77.5 L125.5,94.1 L132.1,19.7 L138.7,130.1 L145.2,129.9 L151.8,131.9 L158.3,111.2 L164.9,74.3 + L171.5,44.6 L178.0,14.9 L184.6,25.3 L191.1,31.0 L197.7,39.3 L204.3,47.8 L210.8,56.6 L217.4,65.1 + L223.9,68.2 L230.5,69.7 L237.1,75.4 L243.6,85.9 L250.2,99.3 L256.7,113.7 L263.3,106.9 L269.9,103.3 + L276.4,113.8 L283.0,128.6 L289.5,140.3 L296.1,155.2 L302.7,181.6 L309.2,209.3 L315.8,210.8 L322.3,215.3 + '/> <use xlink:href='#gpPt0' transform='translate(66.5,218.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(73.1,223.5) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(79.6,199.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(86.2,178.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(92.7,155.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(99.3,129.5) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(105.9,97.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(112.4,64.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(119.0,77.5) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(125.5,94.1) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(132.1,19.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(138.7,130.1) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(145.2,129.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(151.8,131.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(158.3,111.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(164.9,74.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(171.5,44.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(178.0,14.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(184.6,25.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(191.1,31.0) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(197.7,39.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(204.3,47.8) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(210.8,56.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(217.4,65.1) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(223.9,68.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(230.5,69.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(237.1,75.4) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(243.6,85.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(250.2,99.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(256.7,113.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(263.3,106.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(269.9,103.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(276.4,113.8) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(283.0,128.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(289.5,140.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(296.1,155.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(302.7,181.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(309.2,209.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(315.8,210.8) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(322.3,215.3) scale(3.75)' color='rgb(148, 0, 211)'/> +</g> + </g> +<g fill="none" color="white" stroke="rgb(148, 0, 211)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,14.1 L66.5,232.0 L328.9,232.0 L328.9,14.1 L66.5,14.1 Z '/></g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +</g> +</svg> + diff --git a/monopoly.discard.dat b/monopoly.discard.dat new file mode 100644 index 0000000..fa2af6a --- /dev/null +++ b/monopoly.discard.dat @@ -0,0 +1,40 @@ +0 2054907 +1 2035470 +2 2131962 +3 2223948 +4 2315474 +5 2422870 +6 2553760 +7 2698018 +8 2642567 +9 2571248 +10 2877528 +11 2424713 +12 2419076 +13 2417959 +14 2500926 +15 2651781 +16 2767257 +17 2895492 +18 2851747 +19 2826312 +20 2797420 +21 2758991 +22 2721143 +23 2690382 +24 2675196 +25 2669472 +26 2646083 +27 2603111 +28 2543992 +29 2491120 +30 2514633 +31 2536961 +32 2484118 +33 2431014 +34 2378539 +35 2315314 +36 2209503 +37 2093443 +38 2087070 +39 2069480 diff --git a/monopoly.discard.plot b/monopoly.discard.plot new file mode 100755 index 0000000..ea85f99 --- /dev/null +++ b/monopoly.discard.plot @@ -0,0 +1,10 @@ +#!/usr/bin/gnuplot + +reset + +set terminal svg size 350,262 fname 'Verdana, Helvetica, Arial, sans-serif' fsize '10' +set output 'monopoly.discard.svg' + +unset key + +plot 'monopoly.discard.dat' with linespoints ls 1 diff --git a/monopoly.discard.svg b/monopoly.discard.svg new file mode 100644 index 0000000..f1ba2f1 --- /dev/null +++ b/monopoly.discard.svg @@ -0,0 +1,208 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<svg + width="350" height="262" + viewBox="0 0 350 262" + xmlns="http://www.w3.org/2000/svg" + xmlns:xlink="http://www.w3.org/1999/xlink" +> + +<title>Gnuplot</title> +<desc>Produced by GNUPLOT 5.0 patchlevel 3 </desc> + +<g id="gnuplot_canvas"> + +<rect x="0" y="0" width="350" height="262" fill="none"/> +<defs> + + <circle id='gpDot' r='0.5' stroke-width='0.5'/> + <path id='gpPt0' stroke-width='0.267' stroke='currentColor' d='M-1,0 h2 M0,-1 v2'/> + <path id='gpPt1' stroke-width='0.267' stroke='currentColor' d='M-1,-1 L1,1 M1,-1 L-1,1'/> + <path id='gpPt2' stroke-width='0.267' stroke='currentColor' d='M-1,0 L1,0 M0,-1 L0,1 M-1,-1 L1,1 M-1,1 L1,-1'/> + <rect id='gpPt3' stroke-width='0.267' stroke='currentColor' x='-1' y='-1' width='2' height='2'/> + <rect id='gpPt4' stroke-width='0.267' stroke='currentColor' fill='currentColor' x='-1' y='-1' width='2' height='2'/> + <circle id='gpPt5' stroke-width='0.267' stroke='currentColor' cx='0' cy='0' r='1'/> + <use xlink:href='#gpPt5' id='gpPt6' fill='currentColor' stroke='none'/> + <path id='gpPt7' stroke-width='0.267' stroke='currentColor' d='M0,-1.33 L-1.33,0.67 L1.33,0.67 z'/> + <use xlink:href='#gpPt7' id='gpPt8' fill='currentColor' stroke='none'/> + <use xlink:href='#gpPt7' id='gpPt9' stroke='currentColor' transform='rotate(180)'/> + <use xlink:href='#gpPt9' id='gpPt10' fill='currentColor' stroke='none'/> + <use xlink:href='#gpPt3' id='gpPt11' stroke='currentColor' transform='rotate(45)'/> + <use xlink:href='#gpPt11' id='gpPt12' fill='currentColor' stroke='none'/> + <path id='gpPt13' stroke-width='0.267' stroke='currentColor' d='M0,1.330 L1.265,0.411 L0.782,-1.067 L-0.782,-1.076 L-1.265,0.411 z'/> + <use xlink:href='#gpPt13' id='gpPt14' fill='currentColor' stroke='none'/> + <filter id='textbox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'> + <feFlood flood-color='white' flood-opacity='1' result='bgnd'/> + <feComposite in='SourceGraphic' in2='bgnd' operator='atop'/> + </filter> + <filter id='greybox' filterUnits='objectBoundingBox' x='0' y='0' height='1' width='1'> + <feFlood flood-color='lightgrey' flood-opacity='1' result='grey'/> + <feComposite in='SourceGraphic' in2='grey' operator='atop'/> + </filter> +</defs> +<g fill="none" color="white" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,232.0 L74.0,232.0 M328.9,232.0 L321.4,232.0 '/> <g transform="translate(59.5,235.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,207.8 L74.0,207.8 M328.9,207.8 L321.4,207.8 '/> <g transform="translate(59.5,211.5)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.1x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,183.6 L74.0,183.6 M328.9,183.6 L321.4,183.6 '/> <g transform="translate(59.5,187.3)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.2x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,159.4 L74.0,159.4 M328.9,159.4 L321.4,159.4 '/> <g transform="translate(59.5,163.1)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.3x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,135.2 L74.0,135.2 M328.9,135.2 L321.4,135.2 '/> <g transform="translate(59.5,138.9)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.4x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,110.9 L74.0,110.9 M328.9,110.9 L321.4,110.9 '/> <g transform="translate(59.5,114.6)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.5x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,86.7 L74.0,86.7 M328.9,86.7 L321.4,86.7 '/> <g transform="translate(59.5,90.4)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.6x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,62.5 L74.0,62.5 M328.9,62.5 L321.4,62.5 '/> <g transform="translate(59.5,66.2)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.7x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,38.3 L74.0,38.3 M328.9,38.3 L321.4,38.3 '/> <g transform="translate(59.5,42.0)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.8x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,14.1 L74.0,14.1 M328.9,14.1 L321.4,14.1 '/> <g transform="translate(59.5,17.8)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="end"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 2.9x10</tspan><tspan font-family="Verdana, Helvetica, Arial, sans-serif" font-size="8.0" dy="-5.00px">6</tspan><tspan font-size="10.0" dy="5.00"></tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,232.0 L66.5,224.5 M66.5,14.1 L66.5,21.6 '/> <g transform="translate(66.5,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 0</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M99.3,232.0 L99.3,224.5 M99.3,14.1 L99.3,21.6 '/> <g transform="translate(99.3,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 5</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M132.1,232.0 L132.1,224.5 M132.1,14.1 L132.1,21.6 '/> <g transform="translate(132.1,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 10</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M164.9,232.0 L164.9,224.5 M164.9,14.1 L164.9,21.6 '/> <g transform="translate(164.9,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 15</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M197.7,232.0 L197.7,224.5 M197.7,14.1 L197.7,21.6 '/> <g transform="translate(197.7,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 20</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M230.5,232.0 L230.5,224.5 M230.5,14.1 L230.5,21.6 '/> <g transform="translate(230.5,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 25</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M263.3,232.0 L263.3,224.5 M263.3,14.1 L263.3,21.6 '/> <g transform="translate(263.3,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 30</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M296.1,232.0 L296.1,224.5 M296.1,14.1 L296.1,21.6 '/> <g transform="translate(296.1,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 35</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M328.9,232.0 L328.9,224.5 M328.9,14.1 L328.9,21.6 '/> <g transform="translate(328.9,250.7)" stroke="none" fill="black" font-family="Verdana, Helvetica, Arial, sans-serif" font-size="10.00" text-anchor="middle"> + <text><tspan font-family="Verdana, Helvetica, Arial, sans-serif" > 40</tspan></text> + </g> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,14.1 L66.5,232.0 L328.9,232.0 L328.9,14.1 L66.5,14.1 Z '/></g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> + <g id="gnuplot_plot_1" ><title>'monopoly.discard.dat'</title> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='rgb(148, 0, 211)' d='M66.5,218.7 L73.1,223.4 L79.6,200.1 L86.2,177.8 L92.7,155.6 L99.3,129.6 L105.9,97.9 L112.4,63.0 + L119.0,76.4 L125.5,93.7 L132.1,19.5 L138.7,129.2 L145.2,130.5 L151.8,130.8 L158.3,110.7 L164.9,74.2 + L171.5,46.2 L178.0,15.2 L184.6,25.8 L191.1,31.9 L197.7,38.9 L204.3,48.2 L210.8,57.4 L217.4,64.9 + L223.9,68.5 L230.5,69.9 L237.1,75.6 L243.6,86.0 L250.2,100.3 L256.7,113.1 L263.3,107.4 L269.9,102.0 + L276.4,114.8 L283.0,127.6 L289.5,140.4 L296.1,155.7 L302.7,181.3 L309.2,209.4 L315.8,210.9 L322.3,215.2 + '/> <use xlink:href='#gpPt0' transform='translate(66.5,218.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(73.1,223.4) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(79.6,200.1) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(86.2,177.8) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(92.7,155.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(99.3,129.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(105.9,97.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(112.4,63.0) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(119.0,76.4) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(125.5,93.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(132.1,19.5) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(138.7,129.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(145.2,130.5) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(151.8,130.8) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(158.3,110.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(164.9,74.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(171.5,46.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(178.0,15.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(184.6,25.8) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(191.1,31.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(197.7,38.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(204.3,48.2) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(210.8,57.4) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(217.4,64.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(223.9,68.5) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(230.5,69.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(237.1,75.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(243.6,86.0) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(250.2,100.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(256.7,113.1) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(263.3,107.4) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(269.9,102.0) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(276.4,114.8) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(283.0,127.6) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(289.5,140.4) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(296.1,155.7) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(302.7,181.3) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(309.2,209.4) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(315.8,210.9) scale(3.75)' color='rgb(148, 0, 211)'/> + <use xlink:href='#gpPt0' transform='translate(322.3,215.2) scale(3.75)' color='rgb(148, 0, 211)'/> +</g> + </g> +<g fill="none" color="white" stroke="rgb(148, 0, 211)" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="2.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="black" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> + <path stroke='black' d='M66.5,14.1 L66.5,232.0 L328.9,232.0 L328.9,14.1 L66.5,14.1 Z '/></g> +<g fill="none" color="black" stroke="currentColor" stroke-width="1.00" stroke-linecap="butt" stroke-linejoin="miter"> +</g> +</g> +</svg> + diff --git a/monopoly.rb b/monopoly.rb new file mode 100755 index 0000000..db8f01b --- /dev/null +++ b/monopoly.rb @@ -0,0 +1,129 @@ +#!/usr/bin/env ruby + +require 'pp' + +class Roll + attr_reader :d1, :d2 + + def initialize + @d1 = rand(6) + 1 + @d2 = rand(6) + 1 + end + + def sum + return @d1 + @d2 + end + + def double? + return @d1 == @d2 + end +end + +class Deck + def initialize(cards, strategy) + @draw = cards.shuffle + @size = cards.length + @strategy = strategy + @discard = [] if strategy == :discard + end + + def take + this = @draw.shift + + case @strategy + when :bottom + @draw << this + when :discard + @discard << this + if @draw.empty? then + @draw = @discard.shuffle + @discard = [] + end + end + + return this + end +end + +class Chance < Deck + def initialize(strategy) + super([0, 24, 11, [12,28], [5,15,25,35], nil, nil, -3, 10, nil, nil, 5, 39, nil, nil, nil], strategy) + end +end + +class CommunityChest < Deck + def initialize(strategy) + super([0, nil, nil, nil, nil, 10, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil, nil], strategy) + end +end + +space = 0 +doubles = 0 +stats = (0..39).map{|i|[i, 0]}.to_h + +strat = (ARGV.shift || 'bottom').chomp.intern + +chance = Chance.new(strat) +chest = CommunityChest.new(strat) + +(ARGV.shift || "10000000").chomp.to_i.times do + r = Roll.new + + if r.double? then + doubles += 1 + else + doubles = 0 + end + + if doubles == 3 then + space = 10 + else + space = (space + r.sum) % 40 + end + + stats[space] += 1 + + if space == 30 then + space = 10 + end + + if [7,22,36].include?(space) then + c = chance.take + if c.is_a?(Integer) then + if c >= 0 then + space = 0 + else + space = (space + c) % 40 + end + elsif c.is_a?(Array) then + try = c.drop_while{|x|x <= space}[0] + if try.nil? then + space = 0 + else + space = try + end + end + end + + if [2,17,33].include?(space) then + c = chest.take + if c.is_a?(Integer) then + if c >= 0 then + space = 0 + else + space = (space + c) % 40 + end + elsif c.is_a?(Array) then + try = c.drop_while{|x|x <= space}[0] + if try.nil? then + space = 0 + else + space = try + end + end + end +end + +stats.each do |k, v| + puts "#{k}\t#{v}" +end |