<?xml version="1.0"?>
<rss version="2.0"><channel><title/><link>https://www.17thshard.com/blogs/blog/205-code/</link><description><![CDATA[<p>
	Placing it here!
</p>
]]></description><language>en</language><item><title>Save System for Game</title><link>https://www.17thshard.com/blogs/entry/1306-save-system-for-game/</link><description><![CDATA[<pre class="ipsCode prettyprint prettyprinted"><span class="pln">
</span><span class="kwd">def</span><span class="pln"> lsave</span><span class="pun">():</span><span class="pln">
    path </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">"Welcome Back! Path to your save file?\n\n        [SAVE] "</span><span class="pun">)</span><span class="pln">
    sfile </span><span class="pun">=</span><span class="pln"> open</span><span class="pun">(</span><span class="pln">path</span><span class="pun">,</span><span class="pln"> </span><span class="str">"r"</span><span class="pun">)</span><span class="pln">
    save </span><span class="pun">=</span><span class="pln"> sfile</span><span class="pun">.</span><span class="pln">read</span><span class="pun">()</span><span class="pln">
    sfile</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span><span class="pln">
    </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">parse</span><span class="pun">(</span><span class="pln">save</span><span class="pun">))</span><span class="pln">

</span><span class="com">#  Save List Syntax:</span><span class="pln">
</span><span class="com">#  name, zone, map, location, equipped items, all items, path/to/file</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> parse</span><span class="pun">(</span><span class="pln">save</span><span class="pun">):</span><span class="pln">
    lists </span><span class="pun">=</span><span class="pln"> save</span><span class="pun">.</span><span class="pln">rstrip</span><span class="pun">().</span><span class="pln">rsplit</span><span class="pun">(</span><span class="str">"\n"</span><span class="pun">)</span><span class="pln">
    final </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
    final</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">lists</span><span class="pun">[</span><span class="lit">9</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">";"</span><span class="pun">)[</span><span class="lit">0</span><span class="pun">])</span><span class="pln">
    final</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">lists</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">" "</span><span class="pun">)[</span><span class="lit">1</span><span class="pun">])</span><span class="pln">
    final</span><span class="pun">.</span><span class="pln">append</span><span class="pun">([])</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> range</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">8</span><span class="pun">):</span><span class="pln">
        final</span><span class="pun">[-</span><span class="lit">1</span><span class="pun">].</span><span class="pln">append</span><span class="pun">(</span><span class="pln">lists</span><span class="pun">[</span><span class="pln">i</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">"|"</span><span class="pun">))</span><span class="pln">
    final</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">lists</span><span class="pun">[</span><span class="lit">9</span><span class="pun">][-</span><span class="lit">4</span><span class="pun">:].</span><span class="pln">split</span><span class="pun">(</span><span class="str">", "</span><span class="pun">))</span><span class="pln">
    final</span><span class="pun">.</span><span class="pln">append</span><span class="pun">([</span><span class="pln">lists</span><span class="pun">[</span><span class="lit">11</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">", "</span><span class="pun">)[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">16</span><span class="pun">:]])</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> lists</span><span class="pun">[</span><span class="lit">11</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">", "</span><span class="pun">)[</span><span class="lit">1</span><span class="pun">:]:</span><span class="pln">
        final</span><span class="pun">[-</span><span class="lit">1</span><span class="pun">].</span><span class="pln">append</span><span class="pun">(</span><span class="pln">i</span><span class="pun">)</span><span class="pln">
    final</span><span class="pun">.</span><span class="pln">append</span><span class="pun">([</span><span class="pln">lists</span><span class="pun">[</span><span class="lit">13</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">", "</span><span class="pun">)[</span><span class="lit">0</span><span class="pun">][</span><span class="lit">11</span><span class="pun">:]])</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> lists</span><span class="pun">[</span><span class="lit">13</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">", "</span><span class="pun">)[</span><span class="lit">1</span><span class="pun">:]:</span><span class="pln">
        final</span><span class="pun">[-</span><span class="lit">1</span><span class="pun">].</span><span class="pln">append</span><span class="pun">(</span><span class="pln">i</span><span class="pun">)</span><span class="pln">
    final</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">lists</span><span class="pun">[-</span><span class="lit">1</span><span class="pun">])</span><span class="pln">
    final</span><span class="pun">[</span><span class="lit">1</span><span class="pun">:]</span><span class="pln">
    </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">final</span><span class="pun">)</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> csave</span><span class="pun">():</span><span class="pln">

    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Name your character!\n"</span><span class="pun">)</span><span class="pln">
    name </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">"        [SAVE] "</span><span class="pun">).</span><span class="pln">split</span><span class="pun">(</span><span class="str">" "</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> </span><span class="kwd">not</span><span class="pln"> </span><span class="str">"CSWrath"</span><span class="pln"> </span><span class="kwd">in</span><span class="pln"> name</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"\n\nWelcome, {"</span><span class="pln"> </span><span class="str">".join(name)}! I probably could have named a better character.\n"</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"\n\nWell, that's something.\n"</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Define the path to your save file.\n"</span><span class="pun">)</span><span class="pln">
    path </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">"        [SAVE] "</span><span class="pun">)</span><span class="pln">
    defaultSave </span><span class="pun">=</span><span class="pln"> f</span><span class="str">"""Map: Forest
P|X|X|X|X|X|X
X|X|X|X|X|X|X
X|X|X|X|X|X|X
X|X|X|X|X|X|X
X|X|X|X|X|X|X
X|X|X|X|X|X|X
X|X|X|X|X|X|X

{"|".join(name)}; 0, 0

Equipped Items: Rag, Simple Blade, 3, Empty

All Items: Rag, Simple Blade
{path}
"""</span><span class="pln">
    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"\n\nThanks! Creating File Now."</span><span class="pun">)</span><span class="pln">
    sfile </span><span class="pun">=</span><span class="pln"> open</span><span class="pun">(</span><span class="pln">path</span><span class="pun">,</span><span class="pln"> </span><span class="str">"w"</span><span class="pun">)</span><span class="pln">
    sfile</span><span class="pun">.</span><span class="pln">write</span><span class="pun">(</span><span class="pln">defaultSave</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">parse</span><span class="pun">(</span><span class="pln">defaultSave</span><span class="pun">))</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> getsave</span><span class="pun">():</span><span class="pln">

    </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Welcome to the Twisted Forest!\n\n  ! Choose \"Load Save\" or \"Create Save\" !"</span><span class="pun">)</span><span class="pln">
    valid </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">False</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> valid </span><span class="pun">==</span><span class="pln"> </span><span class="kwd">False</span><span class="pun">:</span><span class="pln">

        action </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="str">"\n        [SAVE] "</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"\n\nThank you! Redirecting now.\n"</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> action</span><span class="pun">.</span><span class="pln">rstrip</span><span class="pun">().</span><span class="pln">lower</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"load save"</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">lsave</span><span class="pun">())</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> action</span><span class="pun">.</span><span class="pln">rstrip</span><span class="pun">().</span><span class="pln">lower</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"create save"</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">csave</span><span class="pun">())</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Incorrect Input. Try spelling.\n"</span><span class="pun">)</span><span class="pln">

</span><span class="kwd">def</span><span class="pln"> save</span><span class="pun">(</span><span class="pln">s</span><span class="pun">):</span><span class="pln">
    superstring </span><span class="pun">=</span><span class="pln"> </span><span class="str">"Map: "</span><span class="pln">
    superstring </span><span class="pun">+=</span><span class="pln"> s</span><span class="pun">[</span><span class="lit">1</span><span class="pun">]</span><span class="pln">
    superstring </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"\n"</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> s</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]:</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> j </span><span class="kwd">in</span><span class="pln"> i</span><span class="pun">:</span><span class="pln">
            superstring </span><span class="pun">+=</span><span class="pln"> j
            superstring </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"|"</span><span class="pln">
        superstring </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"\n"</span><span class="pln">
    superstring </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"\n"</span><span class="pln">
    superstring </span><span class="pun">+=</span><span class="pln"> f</span><span class="str">"{s[0]}; {s[3][0]}, {s[3][1]}\n\nEqquiped Items: "</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> s</span><span class="pun">[</span><span class="lit">4</span><span class="pun">]:</span><span class="pln">
        superstring </span><span class="pun">+=</span><span class="pln"> f</span><span class="str">"{i}, "</span><span class="pln">
    superstring </span><span class="pun">=</span><span class="pln"> superstring</span><span class="pun">[:-</span><span class="lit">2</span><span class="pun">]</span><span class="pln">
    superstring </span><span class="pun">+=</span><span class="pln"> </span><span class="str">"\n\nAll Items: "</span><span class="pln">
    </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> s</span><span class="pun">[</span><span class="lit">5</span><span class="pun">]:</span><span class="pln">
        superstring </span><span class="pun">+=</span><span class="pln"> f</span><span class="str">"{i}, "</span><span class="pln">
    superstring </span><span class="pun">=</span><span class="pln"> superstring</span><span class="pun">[:-</span><span class="lit">2</span><span class="pun">]</span><span class="pln">
    superstring </span><span class="pun">+=</span><span class="pln"> f</span><span class="str">"\n{s[-1]}\n"</span></pre>

<p>
	 
</p>

<p>
	A saving system I made. I think I got all the bugs, but if I didn't...
</p>

<p>
	yall know what bugs actually are?
</p>

<p>
	features
</p>
]]></description><guid isPermaLink="false">1306</guid><pubDate>Tue, 23 Dec 2025 04:41:16 +0000</pubDate></item><item><title>Deck</title><link>https://www.17thshard.com/blogs/entry/1239-deck/</link><description><![CDATA[<pre class="ipsCode prettyprint prettyprinted"><span class="kwd">import</span><span class="pln"> random
</span><span class="kwd">global</span><span class="pln"> cards
</span><span class="kwd">global</span><span class="pln"> suit
</span><span class="kwd">global</span><span class="pln"> discards
</span><span class="kwd">global</span><span class="pln"> game
cards </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="pln">range</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">53</span><span class="pun">))</span><span class="pln">
discards </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
suit </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="str">"Clubs"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Diamonds"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Hearts"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Spades"</span><span class="pun">]</span><span class="pln">
game </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">True</span><span class="pln">
</span><span class="com"># Place card in Discard</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> drawtodiscard</span><span class="pun">():</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> suit
    top </span><span class="pun">=</span><span class="pln"> </span><span class="pun">(</span><span class="pln">drawCard</span><span class="pun">()).</span><span class="pln">split</span><span class="pun">()</span><span class="pln">
    specifiedsuit </span><span class="pun">=</span><span class="pln"> suit</span><span class="pun">.</span><span class="pln">index</span><span class="pun">(</span><span class="pln">top</span><span class="pun">[</span><span class="lit">2</span><span class="pun">])</span><span class="pln">
    discard</span><span class="pun">(</span><span class="pln">int</span><span class="pun">(</span><span class="pln">top</span><span class="pun">[</span><span class="lit">0</span><span class="pun">])+(</span><span class="lit">13</span><span class="pun">*</span><span class="pln">specifiedsuit</span><span class="pun">))</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> discard</span><span class="pun">(</span><span class="pln">card</span><span class="pun">):</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> discards
    discards</span><span class="pun">.</span><span class="pln">append</span><span class="pun">(</span><span class="pln">card</span><span class="pun">)</span><span class="pln">
</span><span class="com"># Checks if the deck needs shuffling. (Every slot is empty, equal to -1)</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> checkShuffle</span><span class="pun">():</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> cards
    </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> cards</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> i </span><span class="pun">!=</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">False</span><span class="pln">
    </span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">True</span><span class="pln">
</span><span class="com"># Draws a card from the deck, sets card slot empty</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> drawCard</span><span class="pun">():</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> cards
    </span><span class="kwd">global</span><span class="pln"> suit
    select </span><span class="pun">=</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pln">
    </span><span class="kwd">while</span><span class="pln"> select </span><span class="pun">==</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pun">:</span><span class="pln">
        card </span><span class="pun">=</span><span class="pln"> int</span><span class="pun">(</span><span class="pln">random</span><span class="pun">.</span><span class="pln">random</span><span class="pun">()*</span><span class="lit">52</span><span class="pun">)</span><span class="pln">
        select </span><span class="pun">=</span><span class="pln"> cards</span><span class="pun">[</span><span class="pln">card</span><span class="pun">]</span><span class="pln">
    cards</span><span class="pun">[</span><span class="pln">card</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="pun">-</span><span class="lit">1</span><span class="pln">
    </span><span class="com"># Turns out 13 mod 13 is 0, not 13</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> select </span><span class="pun">%</span><span class="pln"> </span><span class="lit">13</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> </span><span class="lit">0</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"{select % 13} of {suit[int(select/13)]}"</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">f</span><span class="str">"{select % 13} of {suit[int(select/13)]}"</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="pln">f</span><span class="str">"13 of {suit[int(card/13)]}"</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">return</span><span class="pun">(</span><span class="pln">f</span><span class="str">"13 of {suit[int(card/13)]}"</span><span class="pun">)</span><span class="pln">
</span><span class="com"># Shuffle the deck</span><span class="pln">
</span><span class="kwd">def</span><span class="pln"> shuffle</span><span class="pun">():</span><span class="pln">
    </span><span class="kwd">global</span><span class="pln"> game
    </span><span class="kwd">global</span><span class="pln"> cards
    </span><span class="kwd">global</span><span class="pln"> discards
    </span><span class="kwd">if</span><span class="pln"> discards </span><span class="pun">!=</span><span class="pln"> </span><span class="pun">[]:</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> discards</span><span class="pun">:</span><span class="pln">
            cards</span><span class="pun">[</span><span class="pln">i</span><span class="pun">-</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> i
        discards </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
    </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Discard is empty. Reseting Game."</span><span class="pun">)</span><span class="pln">
        game </span><span class="pun">=</span><span class="pln"> </span><span class="lit">0</span><span class="pln">
        </span><span class="kwd">return</span><span class="pun">(</span><span class="kwd">True</span><span class="pun">)</span><span class="pln">
</span><span class="com"># Main loop</span><span class="pln">
</span><span class="kwd">while</span><span class="pln"> </span><span class="pun">(</span><span class="pln">game</span><span class="pun">):</span><span class="pln">
    prompt </span><span class="pun">=</span><span class="pln"> </span><span class="str">"\nActions:\n    -Input a positive integer to draw that many cards.\n    -Input the name of a card, formatted '(Number) of (Suit)', to discard it.\n    -Type 'Draw to Discard' to flip over top card of deck\n    -Type Save /path/to/save/file to save\n    -Type Import /path/to/save/file to load a deck\n    -Type Reset /path/to/save/file to reset deck and file\n\n"</span><span class="pln">
    action </span><span class="pun">=</span><span class="pln"> input</span><span class="pun">(</span><span class="pln">prompt</span><span class="pun">).</span><span class="pln">rstrip</span><span class="pun">()</span><span class="pln">
    </span><span class="com"># Determines the action by trying to convert it to an integer. If it fails, then keeps action as a string.</span><span class="pln">
    draw </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">True</span><span class="pln">
    </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
        action </span><span class="pun">=</span><span class="pln"> int</span><span class="pun">(</span><span class="pln">action</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">except</span><span class="pln"> </span><span class="typ">ValueError</span><span class="pun">:</span><span class="pln">
        draw </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">False</span><span class="pln">
    </span><span class="kwd">if</span><span class="pln"> draw</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">for</span><span class="pln"> i </span><span class="kwd">in</span><span class="pln"> range</span><span class="pun">(</span><span class="pln">action</span><span class="pun">):</span><span class="pln">
            drawCard</span><span class="pun">()</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> checkShuffle</span><span class="pun">():</span><span class="pln">
                </span><span class="kwd">if</span><span class="pln"> shuffle</span><span class="pun">():</span><span class="pln">
                    cards </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="pln">range</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">53</span><span class="pun">))</span><span class="pln">
                    discards </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
                    suit </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[</span><span class="str">"Clubs"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Diamonds"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Hearts"</span><span class="pun">,</span><span class="pln"> </span><span class="str">"Spades"</span><span class="pun">]</span><span class="pln">
                    game </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">True</span><span class="pln">
                    </span><span class="kwd">break</span><span class="pln">
    </span><span class="kwd">elif</span><span class="pln"> action </span><span class="pun">==</span><span class="pln"> </span><span class="str">"Draw to Discard"</span><span class="pun">:</span><span class="pln">
        drawtodiscard</span><span class="pun">()</span><span class="pln">
    </span><span class="com"># Check Command or Discard. The commands - "if parselist[0] ==..." take files given to them and writes deck and discard to them, or reads deck and discard from them.</span><span class="pln">
    </span><span class="kwd">elif</span><span class="pln"> action </span><span class="pun">!=</span><span class="pln"> </span><span class="str">""</span><span class="pln"> </span><span class="kwd">and</span><span class="pln"> action</span><span class="pun">.</span><span class="pln">split</span><span class="pun">()[-</span><span class="lit">1</span><span class="pun">]</span><span class="pln"> </span><span class="pun">!=</span><span class="pln"> action</span><span class="pun">.</span><span class="pln">split</span><span class="pun">()[</span><span class="lit">0</span><span class="pun">]:</span><span class="pln">
        parselist </span><span class="pun">=</span><span class="pln"> action</span><span class="pun">.</span><span class="pln">split</span><span class="pun">()</span><span class="pln">
        </span><span class="kwd">if</span><span class="pln"> parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"Save"</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
                save </span><span class="pun">=</span><span class="pln"> open</span><span class="pun">(</span><span class="pln">parselist</span><span class="pun">[</span><span class="lit">1</span><span class="pun">],</span><span class="pln"> </span><span class="str">"w"</span><span class="pun">)</span><span class="pln">
                save</span><span class="pun">.</span><span class="pln">write</span><span class="pun">(</span><span class="str">" "</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">str</span><span class="pun">,</span><span class="pln"> cards</span><span class="pun">))</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\n"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">" "</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">str</span><span class="pun">,</span><span class="pln"> discards</span><span class="pun">)))</span><span class="pln">
                save</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span><span class="pln">
            </span><span class="kwd">except</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Error Opening File"</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">elif</span><span class="pln"> parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"Import"</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
                save </span><span class="pun">=</span><span class="pln"> open</span><span class="pun">(</span><span class="pln">parselist</span><span class="pun">[</span><span class="lit">1</span><span class="pun">],</span><span class="pln"> </span><span class="str">"r"</span><span class="pun">)</span><span class="pln">
                files </span><span class="pun">=</span><span class="pln"> save</span><span class="pun">.</span><span class="pln">read</span><span class="pun">().</span><span class="pln">rstrip</span><span class="pun">().</span><span class="pln">split</span><span class="pun">(</span><span class="str">"\n"</span><span class="pun">)</span><span class="pln">
                cards </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">int</span><span class="pun">,</span><span class="pln"> files</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">" "</span><span class="pun">)))</span><span class="pln">
                discards </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">int</span><span class="pun">,</span><span class="pln"> files</span><span class="pun">[</span><span class="lit">1</span><span class="pun">].</span><span class="pln">split</span><span class="pun">(</span><span class="str">" "</span><span class="pun">)))</span><span class="pln">
                save</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span><span class="pln">
            </span><span class="kwd">except</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Error Opening File"</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">elif</span><span class="pln"> parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"Reset"</span><span class="pun">:</span><span class="pln">
            </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
                cards </span><span class="pun">=</span><span class="pln"> list</span><span class="pun">(</span><span class="pln">range</span><span class="pun">(</span><span class="lit">1</span><span class="pun">,</span><span class="pln"> </span><span class="lit">53</span><span class="pun">))</span><span class="pln">
                discards </span><span class="pun">=</span><span class="pln"> </span><span class="pun">[]</span><span class="pln">
                save </span><span class="pun">=</span><span class="pln"> open</span><span class="pun">(</span><span class="pln">parselist</span><span class="pun">[</span><span class="lit">1</span><span class="pun">],</span><span class="pln"> </span><span class="str">"w"</span><span class="pun">)</span><span class="pln">
                save</span><span class="pun">.</span><span class="pln">write</span><span class="pun">(</span><span class="str">" "</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">str</span><span class="pun">,</span><span class="pln"> cards</span><span class="pun">))</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">"\n"</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> </span><span class="str">" "</span><span class="pun">.</span><span class="pln">join</span><span class="pun">(</span><span class="pln">map</span><span class="pun">(</span><span class="pln">str</span><span class="pun">,</span><span class="pln"> discards</span><span class="pun">)))</span><span class="pln">
                save</span><span class="pun">.</span><span class="pln">close</span><span class="pun">()</span><span class="pln">
            </span><span class="kwd">except</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Error Opening File"</span><span class="pun">)</span><span class="pln">
        </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        </span><span class="com"># Parse what should be a discard</span><span class="pln">
            
            valid </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">True</span><span class="pln">
            </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
                specifiedsuit </span><span class="pun">=</span><span class="pln"> suit</span><span class="pun">.</span><span class="pln">index</span><span class="pun">(</span><span class="pln">parselist</span><span class="pun">[</span><span class="lit">2</span><span class="pun">])</span><span class="pln">
            </span><span class="kwd">except</span><span class="pun">:</span><span class="pln">
                valid </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">False</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">lower</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"a"</span><span class="pun">:</span><span class="pln">
                parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">1</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">lower</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"j"</span><span class="pun">:</span><span class="pln">
                parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">11</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">lower</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"q"</span><span class="pun">:</span><span class="pln">
                parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">12</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">].</span><span class="pln">lower</span><span class="pun">()</span><span class="pln"> </span><span class="pun">==</span><span class="pln"> </span><span class="str">"k"</span><span class="pun">:</span><span class="pln">
                parselist</span><span class="pun">[</span><span class="lit">0</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="lit">13</span><span class="pln">
            </span><span class="kwd">try</span><span class="pun">:</span><span class="pln">
                num </span><span class="pun">=</span><span class="pln"> int</span><span class="pun">(</span><span class="pln">action</span><span class="pun">[</span><span class="lit">0</span><span class="pun">])</span><span class="pln">
            </span><span class="kwd">except</span><span class="pln"> </span><span class="typ">ValueError</span><span class="pun">:</span><span class="pln">
                valid </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">False</span><span class="pln">
            </span><span class="kwd">if</span><span class="pln"> valid</span><span class="pun">:</span><span class="pln">
                discard</span><span class="pun">(</span><span class="pln">num</span><span class="pun">+(</span><span class="lit">13</span><span class="pun">*</span><span class="pln">specifiedsuit</span><span class="pun">))</span><span class="pln">
            </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
                </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Invalid Input"</span><span class="pun">)</span><span class="pln">
    </span><span class="kwd">else</span><span class="pun">:</span><span class="pln">
        </span><span class="kwd">print</span><span class="pun">(</span><span class="str">"Invalid Input"</span><span class="pun">)</span></pre>

<p>
	This is python code
</p>

<p>
	 
</p>

<p>
	I did give it to some friends to use in a project they're doing....
</p>
]]></description><guid isPermaLink="false">1239</guid><pubDate>Sat, 27 Sep 2025 15:23:22 +0000</pubDate></item></channel></rss>
