(*** This bug was imported into bugs.kde.org ***) Package: kpat Version: 0.7.4 (KDE 2.0 >= 20001117) Severity: wishlist Compiler: gcc version 2.95.2 19991024 (release) OS: Linux 2.4.0-test11 i686 (compiled sources) The other Klondike implementations have features that automatically clean away cards that are no longer needed. This is needed in Kpat too to avoid the boring cleanup when all cards are uncovered. It should also uncover the next card on the stack if the 2nd (target) stack is empty.
--------------Boundary-00=_DOCSWLZXRI0CJ0TAAPZ3 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8bit onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > Erik Sigra wrote: > > Package: kpat > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > Severity: wishlist > > Compiler: gcc version 2.95.2 19991024 (release) > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > The other Klondike implementations have features that automatically clean > > away cards that are no longer needed. This is needed in Kpat too to > > avoid the boring cleanup > > I already implemented moving on double click. I plan to implement > autodrop but > I somehow miss a good logic for "when no longer needed". Moving them up > when > all cards are covered is a bit unclever :) An 'A' is never needed. A '2' is also never needed. A '3' is no longer needed when the 2 '2's with opposite colour are put away. And so on. > > when all cards are uncovered. It should also uncover the next card on the > > stack if the 2nd (target) stack is empty. > > I don't get that part I have attached an image to show it. (I think this behaviour is required to let the game finish automatically when all cards are uncovered.) --------------Boundary-00=_DOCSWLZXRI0CJ0TAAPZ3 Content-Type: image/png; name="kpat.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="kpat.png" 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 X3mjqkoocbQa4mi1EleVGtqxhBLSihJLinK9b+Sa7jv90fTIF0YAzE3P9fa3 3mu10Dr2P4/1nuW5P3vOWnvy7ZN21qa705O/PNk607r+Q7DU3YdHhn18f1Vc +Tn9MXsP7Jz6xfQKRy7gKwsFdC1EQAslIAEhreeKq+NXJGSe8ytCBKRUsnD8 ypJQ8Qot7N8CwEv/9aWFJZF92ZJV326A1+ENyw+82v0TkNqjkmuYihR4NcLi Pv2aWAvXZq/39ngc+VcjYSMEIIG4WQdVq5fnjYVHLr6+P6YfXOEJa6P63Z1n j0/57WWPP3PKtNrWGEe8+o9HH3/yGXRzKO39T8dM/OBEzVcRCG9IPXRF++jf He35V/X4FVYav1r4psNfuCY/cHHbDrAfvDH5gZcdUPsGrrIAHC0UfM5bydKp +e9uZQFB5WpyuzH93fSOdGzHGKQOrvRe/gb1ra9Db0j7vrLz7P+Y6jHbcsfP Tc/Zf/91M5v/yb0Ptt5rv/qjH0B5bnclcw0hS6OEFa/6V5WFiOta0P7gb795 9O+OJnvSA+MHTBSFqvavfBWtflp4+qPpuem5Hm4GX+VWxA3LD0TPv7oMQKNy gGeneaYiffdPPFOpOmEHVQnoGztCMt+xKVnGo9d0h270d6s2qqd2nv5vqzHV At4YHhk2//d3jzzy1OHXjwEvP/7lg84WUomrclHaVgv5ihCBtS/+7V+IQRTt jSLs3Z26ymnRQO1faaVX8a/WhZshE29z4prjgZ7fFmOtpj2fakmmqmqfCgBp AWFVEposvWe25JUX4/DIcJ9HWtpHDz7aHG/GJi6KwhY23Z0W54tOpzP90XSf V1g3Do8MT380ve8P9p78h7N+u89zpz+atv/+6+bD9pGHD7bea7/6k2MAyBJK W+bS4yvSkWfPnDz6N/852pWku/cnOyJvVGEQAjBB7PnKsezlB27gO24GZtic uJHzhVFd61OphbiAqQBUV5kKfv9avqa9WMX01PTKR371K19Nm+kzTz5zqnUq z3ITmbgRH3/9+A3kxnn0qasP/dG+ky+e9ttruoJ/R89a3/jZMVSYuH8/u7lA WKHmK4WjPzpqTBjtSdIdMYAwiE0DWhIAEAMfuL8M3Yd/NcANxA3LD6z9K+cW cNQ8UymULOc5iqy4kKnmGWyNI/oAFEZ2rpQt8fhXHg8b4TNPPtNqt86eOXvy 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 8Ws3iB8ljVCqm7aDLyMDNwrrDnh1gxvpSuVZu0YuL+3G59W4zYiOOn81A1bl 2GZw3Ghmh1yz6CWa5czw0vX/WghKaEDR6xRlJQJXSsWsEH4JNv6/HX+RC/VL 58Tmv9RZdE2bgYkh1VMwEeeBJpIiCsPZqeCojiG3Wms9kYn9U3nZ6MQpMqPp YvlW6Gb65O8Xn7auawND5qjXCtOV9zxKGoNXbINj3CisO+DVhfavTPS5iZzp +rJr5Mr7b3Cx7Eqj7CuWiqbvkeQv6+6rmL1V5HnI3ioAzRphvnbdOWDBfHCv E0RAws9FAaVUwV8FvRAvULNo1XYy+VHb/NdFFt1AiXooUxIoB0MPQvMQ8iHV TMrVbkVlTiVU7SXKpO+IpXVCdqjk9wtPi+ZrfvHfF//tk1gv/G5JlXLKjxGm K+95lDQCr2C0yt1gX11Ynm1eX854sf7rh+drlGyqypV5Mjaf58J3t8qrcZsR HYlXnftFa0n+2qXcfBWTm69zlytX7D/9Q/0yV3PkjKEisILetXvZ0EAJi3WO QUCuoPlVWynWq8LbgobUAjKRKMigEsM9TnnRHFBmUhWuEsXjTochfmVmcgpi WlozffLbxce/betWlXlZqG/8Si5viGff4FcvBR8lvU6pXhMT+POr7Kskspd3 hH5yXnCva+fCnR9ev391OU/GhR59eJUqbt5/A+ruSqPsq2xGc2xHld9zt6TM QvmWuiXNce2lykPVX3bVTP0XLtFnOKAWZ8NZYJpUbQSn6FuZsEKeDNV2Bqki SfJtNEZS2kS2mCvg6FYdKoe9LyEXSDAPfBTdd45/isU7xeKLo3yVDXfxxdGv fxUl3helwNSWBgf9roufR0k7jMNl1bogyldeLy+5uW9o54Y2x//6a5/h5m9d lWx8DI3avyqUc2RhHRFPYEbzdcxnzN+p5uRemhjjFy6hD2QQB3efu0GpVnXp BzVzhJTWYv355j2lEC6FRAk9dikV5DKKEhGXIPFeobn0IkDUp3/o6i+O4pfd p583RvUXR/Wv6vfwX6GXAUENHUM+qVHCdKXD/VHSjeMw1r3+KPmuNC6/xUxH 8LIQGuyWFHXurx1p/HnnmucKedCANqizzpDKrJRHSYUasJUO5DcergelQoGL 90uhkgQFZFBISLkM5E/L9yQUFy2f/I5F6/bEzVGd/a57D70XyIYKjzQm2qsq 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 i7TDq15kdkK5VXhtWlWeoVMlp7PJpeRVNZNq3fV9D/QbZG5dfM57F98Hy3el UXj1i1+1GAXlGRSuUnCQ+SjGIqKjAalSRMWFU8A6W86tozGcDdEY6gcscr9S oWQLNcNpkbMTxMZBw/5Vg5PultB42FfORG/XpoHalHKRoj0GNNQru4KAs3gL YbqRHv6a8OrHu3fxfbB8VxqFV/Wz5/PPX2EWTSyhDMwtoiN0VqZVIOwQLe5M 6iHGIbipCspMsmtWycucdsQ2bad0bQ8JmBpcAqSYQKfaPKl9reyxAc2kEjKn KAscqeTnEnYZVsgpvZ/QUvp3zyp+t7ijgV6vCa8Q33ulmx7p3sX3wfJdaRRe /d0v/273X3iI9Ap2HeiPR915sIQZpy85GHf/XfOH8yRvGN/VUzoCr6adjU3+ qy3uP/g5py+B+9wdOv0pwMHPt3vyiQ/873f87gi8mvgteDpwcbpKl/WNKdg3 /4sT3+Qj8Grit+Zr4T5Djzv7rdOfTOp0/3zCq2+UJ3E/3cgOuxcFON1IHzkd SXwIfMKre+Cbon96PqPqSDXb7VsT/8b4hFf3zC+oxOm4xMWTIj1wPuHVw+KT wjwOPiKefeITn/iWfEQ+polPfOJb8gmvJj7x/fMJryY+8f3zCa8mPvH98wmv Jj7x/fMJryY+8f3zCa8mPvH98wmvJj7x/fMJryY+8f3zCa8mPvH98wmvJj7x /fMJryY+8f3zCa8mPvH98wmvJj7x/fMJryY+8f3zCa8mPvH983HnhccdDn9j 6EP46ei8iI+s72samV7mJ69v6Y2kO377I/Jb/JSfffizv/4Pf73Xbt0b/e1/ /Nu/+enfwOi5Bz744Qf/ft5kKBw6nhAOEdTHsW21aJzKlReBNqYaDkNh8NK4 5OMFtQHixjMEmAcq8xLmz6ScBbbVLJwKmNdQgiCIEhZDlWQ61GJBQC2eQxAt 1KZLtVqGuhBEqIJUuKzmvWiPOkIGhFC8WsRf/PIXY2df+OCHH/x43vSoOnR9 QnWIIR7HRau6sSIEFIiRoHVRdHKjkl/f2P3n8PKZnNPgxvLCNoIFVGCohKAZ CsPToIhTccAWP2dI/78w3VBi5mL3q2reiHjUETIBoVik7u/p7YdIDIRAjBRa V8AZY1/Bo1EqNvsyWrB+8v0mW7rH0YRDopWJqghF4SIIhgEtpDxno9YWmqnx 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 1/8flDjLVd9D6n0AAAAASUVORK5CYII= --------------Boundary-00=_DOCSWLZXRI0CJ0TAAPZ3--
Erik Sigra wrote: > > Package: kpat > Version: 0.7.4 (KDE 2.0 >= 20001117) > Severity: wishlist > Compiler: gcc version 2.95.2 19991024 (release) > OS: Linux 2.4.0-test11 i686 (compiled sources) > > The other Klondike implementations have features that automatically clean away cards that are no longer needed. This is needed in Kpat too to avoid the boring cleanup I already implemented moving on double click. I plan to implement autodrop but I somehow miss a good logic for "when no longer needed". Moving them up when all cards are covered is a bit unclever :) > when all cards are uncovered. It should also uncover the next card on the stack if the 2nd (target) stack is empty. I don't get that part Greetings Stephan
onsdagen den 29 november 2000 13:14 skrev Erik Sigra: > onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > > Erik Sigra wrote: > > > Package: kpat > > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > > Severity: wishlist > > > Compiler: gcc version 2.95.2 19991024 (release) > > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > > > The other Klondike implementations have features that automatically > > > clean away cards that are no longer needed. This is needed in Kpat too > > > to avoid the boring cleanup > > > > I already implemented moving on double click. I plan to implement > > autodrop but > > I somehow miss a good logic for "when no longer needed". Moving them up > > when > > all cards are covered is a bit unclever :) > > An 'A' is never needed. A '2' is also never needed. A '3' is no longer > needed when the 2 '2's with opposite colour are put away. And so on. Sorry this was somewhat unclear. I try again. I don't know what the 4 destination stacks where all cards shoud en up are called so i just call them destination stacks. They have the value 0 in the beginning of a game and the value 13 in the end of a game. So here is the formula (unless I'm wrong): A HEART card with the value N is no longer needed when: ([ the CLUB destination stack has reached at least the value N - 1] OR [{the CLUB destination stack has reached at value N - 2} AND {the CLUB with the value N - 1 is no longer needed}]) AND ([ the SPADE destination stack has reached at least the value N - 1] OR [{the SPADE destination stack has reached at value N - 2} AND {the SPADES card with the value N - 1 is no longer needed}]) Seems like this became somewhat recursive. Analog formula is applicable for CLUB SPADE and DIAMOND.
Erik Sigra wrote: > > onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > > Erik Sigra wrote: > > > Package: kpat > > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > > Severity: wishlist > > > Compiler: gcc version 2.95.2 19991024 (release) > > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > > > The other Klondike implementations have features that automatically clean > > > away cards that are no longer needed. This is needed in Kpat too to > > > avoid the boring cleanup > > > > I already implemented moving on double click. I plan to implement > > autodrop but > > I somehow miss a good logic for "when no longer needed". Moving them up > > when > > all cards are covered is a bit unclever :) > > An 'A' is never needed. A '2' is also never needed. A '3' is no longer needed > when the 2 '2's with opposite colour are put away. And so on. Yes I know that. The question is how to tell the game :) > > > > when all cards are uncovered. It should also uncover the next card on the > > > stack if the 2nd (target) stack is empty. > > > > I don't get that part > > I have attached an image to show it. (I think this behaviour is required to > let the game finish automatically when all cards are uncovered.) > I'll release a glossary soon to be used in bug reports ;-) You said "2nd (target) stack" the correct term is "waste pile" ;-) Greetings Stephan -- Frauen und Maenner passen vielleicht nicht zusammen aber meine allerschoensten Schrammen habe ich mir bei diesem Duell geholt. -- Reinhard Mey
Hi! Please update test and give me input on how the animation should look like. Currently it's done without animation which looks strange Stephan -- Programmers heed this: If someone starts asking you about agricultural genomes it's likely time to get a handler. zdnet.com about Torvalds
--------------Boundary-00=_PZ2ATTANUUOKC41AD9EH Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit onsdagen den 29 november 2000 14:19 skrev Erik Sigra: > onsdagen den 29 november 2000 13:14 skrev Erik Sigra: > > onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > > > Erik Sigra wrote: > > > > Package: kpat > > > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > > > Severity: wishlist > > > > Compiler: gcc version 2.95.2 19991024 (release) > > > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > > > > > The other Klondike implementations have features that automatically > > > > clean away cards that are no longer needed. This is needed in Kpat > > > > too to avoid the boring cleanup > > > > > > I already implemented moving on double click. I plan to implement > > > autodrop but > > > I somehow miss a good logic for "when no longer needed". Moving them up > > > when > > > all cards are covered is a bit unclever :) [...] > I don't know what the 4 destination stacks where all cards shoud en up > are called so i just call them destination stacks. They have the value 0 > in the beginning of a game and the value 13 in the end of a game. So here > is the formula (unless I'm wrong): > > A HEART card with the value N is no longer needed when: > > ([ the CLUB destination stack has reached at least the value N - 1] OR > [{the CLUB destination stack has reached at value N - 2} AND {the CLUB with > the value N - 1 is no longer needed}]) > AND > ([ the SPADE destination stack has reached at least the value N - 1] OR > [{the SPADE destination stack has reached at value N - 2} AND {the SPADES > card with the value N - 1 is no longer needed}]) > > Seems like this became somewhat recursive. Analog formula is applicable for > CLUB SPADE and DIAMOND. I just saw you have started to implement autoclean now. Great! But there are 2 little glitches: 1. It breaks undo (serious). 2. It doesn't autoclean enough; see the rules above (not so serious ought to be easy to fix). Here is a screenshot where the diamond 4 should have been autocleaned: --------------Boundary-00=_PZ2ATTANUUOKC41AD9EH Content-Type: image/png; charset="iso-8859-1"; name="Klondike.png" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Klondike.png" iVBORw0KGgoAAAANSUhEUgAAArwAAAHyCAIAAACGYoqVAAAgAElEQVR42u3d f4gk533n8W+JFlcNY+geNsv0oBM7gxM8GxkyaztklfhINnE4zVrhssaBs4xD nISDRPnD0fngYs2YndkcxEIJyUn7V6wjibWGs7QOp91RIM6uOPtmhX/smEja FrKYGSQxPeiW7QYP9HOooO+P6qmprq6urh9P/eiu9wuxmunpeabr5/Opp556 HqPX6wkAAECg84+er4hI96dd1gUAAAhWERFlKVYEAAAIdh+rAAAAEBoAAIA2 FRERi/UAAADGoKUBAAAQGgAAQDahYfbkrPu/5H8sfCGeP53wrzu/rmUp0lsP 7teH32O/4nm9IEsEACiDkY9czs/P7+/ve+onzysxhH+8U+9fd/5uQZ4vHfUx 3K8Pv8d+xfM6T8wCAPJsaRhODHYtPj8/n9cH1fLXk4eeLJfX95UJWgQAwBS2 NMRgpwqnFh+uyQJ+pFHUD+AJQ+73BPzId6nt1z05RuPCjvo8AcsbvEUAANAR GoYeudx/Z39+fn7/nf3h1503u9/gefP8gyN/FOHxzsF39su0JMxf8fxooDRr /HuCSna+tQbe5r+woZfO/3W/z+Pzh0JsEQAAUmxp2H9nf/7B+X5QGPEGz5vt Vzw1nPtH0S61H5wf9eeC/4rvj4YLH/We4M/v+VH8hoQHI9xqCfmHtKx2AAAi hwanEnKqt4xroOCUUEDJc0DIEiL9IQAAdIaG4O73Ozs7Tl3lfC2j+/b71mox Hl7wvHNnZ8fzASL9leEfafn8i4uL7k+4uLgYcgGjPj0R8IfCLBEAAGm1NCwu LrqrZ3ddNfx6QM5IVXp/JWTJIddGcpn9IQAAAmQxIqT7KnkS/0o2nx8AgILz f3pi562dxcXFnbcGrm4Xf25x560d583uN7h/5Pldz2/FfnrC82LAXxn+0UBp 494T7fNbA+snwgJGeXpizB8at0UAANAXGvzsvLXTr5xcr4x6Q/gfJWEX6xQY /gN4FmTse0J+ft/fcn9CvQs+9g+ltNoBALAZvV5v9ye7UX8tjaoxX0Vboqif Z/q2CACgUB7/08crvtXP2AvfVCvLMFfekxsRsllAAAC0q4hI1+q6X3rjzhvB v2O/3/Nbuoz967r+tLuQnz/982/ceSOlJYq9gFE/TzafHwBQ6tBQQm/ceePn T/98pIo8M/YHK9RHAgBA7D4Nd5p3WBEAACDAl//Ll/0fuQQAAPC4j1UAAAAI DQAAQJvxE1YBAACIiLHy6RXWAgAAGB8amD4RAACECg29Xo+1AAAAgp1/9HxF RLo/ZSRBAAAwBk9PAACAUIKenjArJisIAAAchwZbvV6//vL184+cd/59+Jce JkygaHhCGADyDw3Jz9p/8J/+QETkA1GWsoem7lpdsY7eb/VfV5Zqvt68d+9e ekt1+guzR59V1KGIJaJEKrJz415eK3p2djbVRZ7ujwcAmNTQEOArX/7KyKih lFKqfdjutDvPf/P5lGopOy5cePTCyiMrCzPL9Up96+7mjc6L23dvyj8szc7O ikj2tePs7GyvJ4ZR0Ip59uFfl15v1jByWTkAgJKGBhE584kzo37U7XY7dztK qee/+fxTf/GU3tzgxIU//uxXZu+f/1H7xef2Vrfubna2RTpmtyOq3Zz7tKg9 ySs6FHgvMOUDMW+/8cJrmzQ5AAAyCQ0fjPl5tVqVE9K526ma1XO/dk5jblj8 wuyFR1ZWPnnh3KmVLbW5aT3bfHP31vbN7p6od+Xg2sD9lNpDoqzsG+SXRJop NWNIRcQS599770dcLkuJ1VVKiUiv1zMMI8aaIYoBQDlCQ4ZTY9u5wWmQ0JIb Tn9h9sKnVlbOrpz78MqW2rx5cPX23tbBrU77NTm4JsM1mV29mR9JMTe4a9DZ 2dk3/tUUWX7jX3edv6ilip0/Oa8s9cWLK0/83lcatYXdzm7rsHnlW1ft182K uf/+ftiWBks5vVuj5ob+suzvzM4vckQBQFlbGqxUmieq1apZNfXmhpVfu3Du 1MrW4eaf//gP6tapg1ud1mvSueZfKzvVtvnhVHKD3YNBxDSMfn/M0x99QsQ8 /dEnRP7crmJ7PVNExe7lYLcuLH3JvPPnvdZhy6yIstRCbaExs/Dwl1ae+L3d 3feaV15+fvbkrFghoomlRIlSHYmYG/px4Z2d+txcdvusxWELAAUMDRHP2uGf hTNNs/Vuq/FvGwO54f041efpL86uPHLcxlCXufa7B207Mbx/L6CCuff+vdmT s2lUQvfev2cYs71erddbuv2DpsiCyJJITaTzo++fFdk984klkaZhHAR/Qv/W hfl5Zaml/1q7vd7a+b932oetprrR7Gy173aUpaRiNk7Ulmrnzn1k5dxDK597 5OrVl18cv277LQ0DT9L2c8PoX5w9Obu/s9NYWJAPunJ/VT7oUqMDAKFBP7Ni 7r63KyIDueFkzNxw4ZOfU5ZqWltbB5uya7b21MG1UPf17ffE/rshcsOZM5/4 fZElkQU7NJz5xB+LNEW2+4lhVH08P3tv/57v60tfMu98rdf66e5W68Xm4Vbr bmf73RtdMcVSUjGVpcx3zer9N5fnls+dWjn30AWxRCrVMctoPwqrvJlvVG6w w9a9/f16o+FKDFUOJwAgNKQQGkzz6a89bQ/b0LW74Fmy/AvLUevv01+cPXd2 pTG30LS2Dt47qMvcnb0D9VrkCj6NZbRzw4+2WmfOnhWpiZwWuSNSu33r6sce bo75o5bMz8/v7+972hiWvlS787V266e7N958sXl4a7vT7P60Xa+aptmQmY6y uvVKXQ5rojrbd7dNETkl537hglTk6saNMS0NSvmO2DWcG2ZPzt7beaP+wGm5 X0RE7q/2//2gO3di7vOf+7zTH7Orui/+zxc5xgCA0OBf1YX07F8/u7u321Xt g4NWq7W3u9dSh2r3vd3tH29Hzh8zsmAufP3w2dudG0pUVZl711RKOSDuClZH V+FVESVhxtOsyMIfDrQ3HLUxtFs/3b3x9mbzsLnVui33V6sNMWv1Rs3sWrVq Za59qGRGyWGtozrb724rOzc8dOHCxc1RrRf9lgbpKtWWcblh9uTs/r/+S71W l/tFPpB+bhCRD6R7qFYeOXPh0ZXGA6fOfPyciLz4P54OmQL794lSjnEAAB11 Wvbj8t4vC6cWWnfNqlmvzdQb9blW+yBegLHHtD642xFLzIrZLcwYw7MnZ3u9 CyJLIkqkJSIiLRF15hMrvd6CYQTfL5CFuTn5w47d3jA/P7/85drt/9ZPDFcP LrUPpVqXubl63Vy6cbO5/fau+6nLmlmrV6rmCWnWt809aZ7YeuZP/vbKV+bH tTSYMmLtOf0/3rjxt7UTNakMJgYRuV+kYtZNU0RM+5NUqyJSe/qp2cXFezs7 wXHBMz+7YQ8zRXQAgAlqaUh7IqvaTK0jnXqlYZoiIp0T7bG/Mv+bs6YpYopp ihKxnxpoqd2u1VUVpQ6lOiMisvg7s+aMiIg6FDmUnc3j6ufXf/PXt3+8nXaF NHtyttczRdp3tr+uVOPM2SfsxHD71tOm2Tq9vNTrmUG5oSJdS11f/T8PWx+b nZ899Se1rfXWXmfvevPFFzt/Lodm41SjMVO7cXO7/W2lRA5eUe5xGmqnOrVT phKpL5nqF7pLd8/csK6e+pXa6IyixBLVVUpGbtm/ffqPzn50oTFXEztbDLU0 2LtMv8FJdfp7VmCGmz05a8eF3d1d9+s7Ozsyuq8Jc08AQBFDQ9Qw0bW6UYrp iijT/vumOfdAo9U+GFslqB+L+XF55m+eWZ5bbswsiCUttXvrYHPP2hYRU+Rz n3yi8R8X7J9uvvn8f1778sErx2We/63zjQcaUpH5+fmdd3ZSWqfz8/O9nogo w7gpIiIHvd5VEVNEfezh7aNXxB5Y2tNxwWlpqFbMrqjbf7Hz+Nxjz3zp+X9p vbj59uaeuqEOzXMPnblx8/aNbzdNkb3vKLNi7r8zUMjig4t7b6vaR8y2KFM6 8uFm7YR5+3/dmT85YqmdcRpGr3xTqnZbjoiSSt2npcGS2kytn3hEVe2+DhVz 7DZ1EsPi4uLOYJsE+QAAJj40aPBBVywRS8yKiClimTIjter4Bgy7rf7xP3t8 4Qty7sO/NvfAgrJURzrtw45UREzpPNCqnuhuyu0r155r/b0cXBOnVj6/cr4x 1/jiF7743N8/Jw/59DTUlxh6dgP7N/7uG7t7u6tfXd26efXhX1vautm0F0FE DGPe+dq/pWGmWjcbV9989uxvn/n620+KSFNt2olh8+ZW69vKbl3wLcFOBvPz 8zUxW6LU4W73RGv5xLmRdbA9TkNgDd1RXbsWN+Wo80r/uQmR+0U+6Fb77Qyi LBEx7ScwA8q0V5SnjcHtG3/3jZS2EQBgQkLDByLSFUtEVLUiXSViiWnaFU6o y0o7N7RENj960/zEzaVfOtVSB2ZFlMjy3LI503z+le3WtqjXBhPDb51vnGhs rG1sv7a9/NFlU0ypyOKDi3rbG5yK8EdbP2r+pLm7t9t8sykiv3xOer3mL587 /jxj6kJLqhWzWq12LXXz4Pn2oShRjZnaww+dvnrzdvvbqvOKeFoXRq2ompht EfNNudXYHHlfqWKKKLNiqqCWBvt+kHm01xw9aen8a3VrM0d9GkTZT1WYFZO2 AgCYGvfpLGzs0xOuxNC1pGspEdXPLVHSy/7+/sE1ab0m6gfS/N5efa6mRJZr y6dPNDZf9UsMK+cbJxpP/c1Tt35w68b3brQOWmc/ebYx11h6aGl+fl57Ymgd tJzEcOWbV+JcK1dElPo3vV59piZi2olh6YGF51/aan+7c/CKCpt1KiKWUu9J e09ttW4EtTSIqSwllum/1SzVVsrstxwc9Ze0R3Ny/evMgV49amkQ7i8AwLS1 NGQzit9gYnBVJ92ja+touWF+ft4UqYvsysHZjyw3avL89zb92xjmGk997alb N29tvbrVarWqM1URufDIhasvX9XV3uAkhvZBe/cnu4kSQ3+LmP/PMGq1uhyI KWZtpt62OgffVvLD8W0Mx2vpnf3FBxfND4u05OA7anxLg7ux5+i+g0hVWapq jxzl9GmwhnPe0ZiSR30alCWiqc8sAKAwoSFqy0GMexpOYrBU17kAPbowFbvJ IWJ2sXODEmmI3JJtU8S/jWGu8dTXnrp58+bWq1utd1u77+1WzapYsvXDrZVH VjZf2kzev8HdxuCbGPb39w0jyp+oSPuwvd++oywxK9X6jHSUksPuE8+tfP2v NucfnA+fG5SlTDE7e0dtCWNaGuRobMeuE+dE2mJJW3VEFo77NJj937LvWtjj T9iZw9WnQak08igjVQNAEUNDxLP2yDppZGLoiiWmKLvaiVEl7L+zP/9gv72h LUeJ4Z19u5DzF843Hmhs/NnGre/e2vrhUWKoVLuqu7u3KxW5/cPbZ8+evfWD W/bzFOFr4oHE8OCINoajj+F81AiLZknnbmfzzasy0zVNc2GmVjPrplnbfq/5 x186d6Wytfig90GDwOAgYpp731EjP8NRS0P/p1b7KA2IPTq1WF1Tjt4j/bse 9jMX7n/tlganT4Oyjvo0WP7bzjCMUUux9d2tz//u5zcubhARAGDCQ0PUNgar f3u7229OsP/txwglRy0Nsdi5wY4d/cRgtzH8Vv9ZiVs/uLX16lan3anOVBsn Gp3DTrVSNWfM1nstu0JaWloSS+QXJNIVvJMY/mW/d/rv7/ztz3a8iSHZZmnv qme/9XX7joD73xtW88wDc/KHB/OL8/s7+2M/Xu3DNXs0i8CM0m9pUGIPsWCK 1RGRrn3PSHVElF2C3W7RTwlK9dODiP21ksE+DZaK1KfBCRBb392yv/j93/t9 DlEAKEdosAf8sbp2IOgnhn4t4kkMdpt2N97fsXND/2r+yPaPt7dle/OfNp1X NlY3Op3O1g+2Onc7Sz+7tPXdrebrzSQjAdiJ4fF/3u3e7fzyD5sbJ1p6EoPd 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 QmCC --------------Boundary-00=_PZ2ATTANUUOKC41AD9EH--
Erik Sigra wrote: > > onsdagen den 29 november 2000 14:19 skrev Erik Sigra: > > onsdagen den 29 november 2000 13:14 skrev Erik Sigra: > > > onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > > > > Erik Sigra wrote: > > > > > Package: kpat > > > > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > > > > Severity: wishlist > > > > > Compiler: gcc version 2.95.2 19991024 (release) > > > > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > > > > > > > The other Klondike implementations have features that automatically > > > > > clean away cards that are no longer needed. This is needed in Kpat > > > > > too to avoid the boring cleanup > > > > > > > > I already implemented moving on double click. I plan to implement > > > > autodrop but > > > > I somehow miss a good logic for "when no longer needed". Moving them up > > > > when > > > > all cards are covered is a bit unclever :) > [...] > > I don't know what the 4 destination stacks where all cards shoud en up > > are called so i just call them destination stacks. They have the value 0 > > in the beginning of a game and the value 13 in the end of a game. So here > > is the formula (unless I'm wrong): > > > > A HEART card with the value N is no longer needed when: > > > > ([ the CLUB destination stack has reached at least the value N - 1] OR > > [{the CLUB destination stack has reached at value N - 2} AND {the CLUB with > > the value N - 1 is no longer needed}]) > > AND > > ([ the SPADE destination stack has reached at least the value N - 1] OR > > [{the SPADE destination stack has reached at value N - 2} AND {the SPADES > > card with the value N - 1 is no longer needed}]) > > > > Seems like this became somewhat recursive. Analog formula is applicable for > > CLUB SPADE and DIAMOND. > > I just saw you have started to implement autoclean now. Great! But there are > 2 little glitches: > 1. It breaks undo (serious). > 2. It doesn't autoclean enough; see the rules above (not so serious ought > to be easy to fix). Here is a screenshot where the diamond 4 should have been > autocleaned: > No the club 3 is missing. it is not moving red 4 unless all black 3s are up. The breakage of undo is a know problem Stephan -- Programmers heed this: If someone starts asking you about agricultural genomes it's likely time to get a handler. zdnet.com about Torvalds
lördagen den 9 december 2000 15:18 skrev Stephan Kulow: > Erik Sigra wrote: > > onsdagen den 29 november 2000 14:19 skrev Erik Sigra: > > > onsdagen den 29 november 2000 13:14 skrev Erik Sigra: > > > > onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > > > > > Erik Sigra wrote: > > > > > > Package: kpat > > > > > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > > > > > Severity: wishlist > > > > > > Compiler: gcc version 2.95.2 19991024 (release) > > > > > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > > > > > > > > > The other Klondike implementations have features that > > > > > > automatically clean away cards that are no longer needed. This is > > > > > > needed in Kpat too to avoid the boring cleanup > > > > > > > > > > I already implemented moving on double click. I plan to implement > > > > > autodrop but > > > > > I somehow miss a good logic for "when no longer needed". Moving > > > > > them up when > > > > > all cards are covered is a bit unclever :) > > > > [...] > > > > > I don't know what the 4 destination stacks where all cards shoud en > > > up are called so i just call them destination stacks. They have the > > > value 0 in the beginning of a game and the value 13 in the end of a > > > game. So here is the formula (unless I'm wrong): > > > > > > A HEART card with the value N is no longer needed when: > > > > > > ([ the CLUB destination stack has reached at least the value N - 1] OR > > > [{the CLUB destination stack has reached at value N - 2} AND {the CLUB > > > with the value N - 1 is no longer needed}]) > > > AND > > > ([ the SPADE destination stack has reached at least the value N - 1] OR > > > [{the SPADE destination stack has reached at value N - 2} AND {the > > > SPADES card with the value N - 1 is no longer needed}]) > > > > > > Seems like this became somewhat recursive. Analog formula is applicable > > > for CLUB SPADE and DIAMOND. > > > > I just saw you have started to implement autoclean now. Great! But there > > are 2 little glitches: > > 1. It breaks undo (serious). > > 2. It doesn't autoclean enough; see the rules above (not so serious > > ought to be easy to fix). Here is a screenshot where the diamond 4 should > > have been autocleaned: > > No the club 3 is missing. it is not moving red 4 unless all black 3s are > up. It should move up the red 4 even if the club 3 is missing since the red 4 is no longer needed.
Erik Sigra wrote: > > lördagen den 9 december 2000 15:18 skrev Stephan Kulow: > > Erik Sigra wrote: > > > onsdagen den 29 november 2000 14:19 skrev Erik Sigra: > > > > onsdagen den 29 november 2000 13:14 skrev Erik Sigra: > > > > > onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > > > > > > Erik Sigra wrote: > > > > > > > Package: kpat > > > > > > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > > > > > > Severity: wishlist > > > > > > > Compiler: gcc version 2.95.2 19991024 (release) > > > > > > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > > > > > > > > > > > The other Klondike implementations have features that > > > > > > > automatically clean away cards that are no longer needed. This is > > > > > > > needed in Kpat too to avoid the boring cleanup > > > > > > > > > > > > I already implemented moving on double click. I plan to implement > > > > > > autodrop but > > > > > > I somehow miss a good logic for "when no longer needed". Moving > > > > > > them up when > > > > > > all cards are covered is a bit unclever :) > > > > > > [...] > > > > > > > I don't know what the 4 destination stacks where all cards shoud en > > > > up are called so i just call them destination stacks. They have the > > > > value 0 in the beginning of a game and the value 13 in the end of a > > > > game. So here is the formula (unless I'm wrong): > > > > > > > > A HEART card with the value N is no longer needed when: > > > > > > > > ([ the CLUB destination stack has reached at least the value N - 1] OR > > > > [{the CLUB destination stack has reached at value N - 2} AND {the CLUB > > > > with the value N - 1 is no longer needed}]) > > > > AND > > > > ([ the SPADE destination stack has reached at least the value N - 1] OR > > > > [{the SPADE destination stack has reached at value N - 2} AND {the > > > > SPADES card with the value N - 1 is no longer needed}]) > > > > > > > > Seems like this became somewhat recursive. Analog formula is applicable > > > > for CLUB SPADE and DIAMOND. > > > > > > I just saw you have started to implement autoclean now. Great! But there > > > are 2 little glitches: > > > 1. It breaks undo (serious). > > > 2. It doesn't autoclean enough; see the rules above (not so serious > > > ought to be easy to fix). Here is a screenshot where the diamond 4 should > > > have been autocleaned: > > > > No the club 3 is missing. it is not moving red 4 unless all black 3s are > > up. > > It should move up the red 4 even if the club 3 is missing since the red 4 is > no longer needed. Sorry but I won't implement that as it's almost impossible to explain to someone starting the game. I only autodrop cards that are _obviously_ no longer needed. Greetings Stephan -- Programmers heed this: If someone starts asking you about agricultural genomes it's likely time to get a handler. zdnet.com about Torvalds
lördagen den 9 december 2000 15:43 skrev Stephan Kulow: > Erik Sigra wrote: > > lördagen den 9 december 2000 15:18 skrev Stephan Kulow: > > > Erik Sigra wrote: > > > > onsdagen den 29 november 2000 14:19 skrev Erik Sigra: > > > > > onsdagen den 29 november 2000 13:14 skrev Erik Sigra: > > > > > > onsdagen den 29 november 2000 13:26 skrev Stephan Kulow: > > > > > > > Erik Sigra wrote: > > > > > > > > Package: kpat > > > > > > > > Version: 0.7.4 (KDE 2.0 >= 20001117) > > > > > > > > Severity: wishlist > > > > > > > > Compiler: gcc version 2.95.2 19991024 (release) > > > > > > > > OS: Linux 2.4.0-test11 i686 (compiled sources) > > > > > > > > > > > > > > > > The other Klondike implementations have features that > > > > > > > > automatically clean away cards that are no longer needed. > > > > > > > > This is needed in Kpat too to avoid the boring cleanup > > > > > > > > > > > > > > I already implemented moving on double click. I plan to > > > > > > > implement autodrop but > > > > > > > I somehow miss a good logic for "when no longer needed". Moving > > > > > > > them up when > > > > > > > all cards are covered is a bit unclever :) > > > > > > > > [...] > > > > > > > > > I don't know what the 4 destination stacks where all cards shoud > > > > > en up are called so i just call them destination stacks. They > > > > > have the value 0 in the beginning of a game and the value 13 in the > > > > > end of a game. So here is the formula (unless I'm wrong): > > > > > > > > > > A HEART card with the value N is no longer needed when: > > > > > > > > > > ([ the CLUB destination stack has reached at least the value N - 1] > > > > > OR [{the CLUB destination stack has reached at value N - 2} AND > > > > > {the CLUB with the value N - 1 is no longer needed}]) > > > > > AND > > > > > ([ the SPADE destination stack has reached at least the value N - > > > > > 1] OR [{the SPADE destination stack has reached at value N - 2} AND > > > > > {the SPADES card with the value N - 1 is no longer needed}]) > > > > > > > > > > Seems like this became somewhat recursive. Analog formula is > > > > > applicable for CLUB SPADE and DIAMOND. > > > > > > > > I just saw you have started to implement autoclean now. Great! But > > > > there are 2 little glitches: > > > > 1. It breaks undo (serious). > > > > 2. It doesn't autoclean enough; see the rules above (not so serious > > > > ought to be easy to fix). Here is a screenshot where the diamond 4 > > > > should have been autocleaned: > > > > > > No the club 3 is missing. it is not moving red 4 unless all black 3s > > > are up. > > > > It should move up the red 4 even if the club 3 is missing since the red > > 4 is no longer needed. > > Sorry but I won't implement that as it's almost impossible to explain to > someone starting the game. I only autodrop cards that are _obviously_ no > longer needed. Well it can't be "almost impossible to explain" since I know it and I'm not exaclty brilliant. You ever heard of that nice concept called "options"? How about a slider called "automation level" or something like that? (Seems like this became another dumbing-down-vs.-advanced-features discussion.)
Erik Sigra wrote: > > > > > Sorry but I won't implement that as it's almost impossible to explain to > > someone starting the game. I only autodrop cards that are _obviously_ no > > longer needed. > > Well it can't be "almost impossible to explain" since I know it and I'm > not exaclty brilliant. > > You ever heard of that nice concept called "options"? How about a slider > called "automation level" or something like that? > > (Seems like this became another dumbing-down-vs.-advanced-features > discussion.) I won't stop you from implementing it and enhancing the docu Greetings Stephan -- Programmers heed this: If someone starts asking you about agricultural genomes it's likely time to get a handler. zdnet.com about Torvalds
--------------Boundary-00=_KU793H7N5DANGKLD6UAO Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Here are a couple of small patches that makes klondike more amitious about finding out which cards can be cleaned away. It touches as little as possible but should still be enought to close #16214. --------------Boundary-00=_KU793H7N5DANGKLD6UAO Content-Type: text/x-diff; charset="iso-8859-1"; name="klondike.h.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="klondike.h.diff" LS0tIGtsb25kaWtlLmgub3JpZwlTdW4gSnVsIDI5IDIwOjM1OjU5IDIwMDEK KysrIGtsb25kaWtlLmgJU3VuIEp1bCAyOSAyMDo0NzoxMyAyMDAxCkBAIC02 Miw0ICs2Miw2IEBACiAgICAgRGVjayogZGVjazsKICAgICBDYXJkOjpWYWx1 ZXMgbG93ZXN0X2NhcmRbMl07CisgICAgQ2FyZDo6VmFsdWVzIHRhcmdldF90 b3BzWzRdOworICAgIGJvb2wgbm9Mb25nZXJOZWVkZWQoY29uc3QgQ2FyZCAm KTsKIH07CiAK --------------Boundary-00=_KU793H7N5DANGKLD6UAO Content-Type: text/x-diff; charset="iso-8859-1"; name="klondike.cpp.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="klondike.cpp.diff" LS0tIGtsb25kaWtlLmNwcC5vcmlnCVN1biBKdWwgMjkgMjA6MzU6MjAgMjAw MQorKysga2xvbmRpa2UuY3BwCVN1biBKdWwgMjkgMjE6NDU6MDcgMjAwMQpA QCAtNjgsNCArNjgsMzggQEAKIH0KIAorYm9vbCBLbG9uZGlrZTo6bm9Mb25n ZXJOZWVkZWQoY29uc3QgQ2FyZCAmIHQpCit7CisgIGlmICh0LnZhbHVlKCkg PD0gQ2FyZDo6VHdvKSByZXR1cm4gdHJ1ZTsKKworICAvLyAgZmluZCB0aGUg MiBzdWl0cyBvZiBvcHBvc2l0ZSBjb2xvcgorICBDYXJkOjpTdWl0cyBhLCBi OworICBzd2l0Y2ggKHQuc3VpdCgpKSB7CisgIGNhc2UgKENhcmQ6OkNsdWJz KTogY2FzZSAoQ2FyZDo6U3BhZGVzKToKKyAgICBhID0gQ2FyZDo6RGlhbW9u ZHM7CisgICAgYiA9IENhcmQ6OkhlYXJ0czsKKyAgICBicmVhazsKKyAgZGVm YXVsdDoKKyAgICBhID0gQ2FyZDo6Q2x1YnM7CisgICAgYiA9IENhcmQ6OlNw YWRlczsKKyAgfQorCisKKyAgcmV0dXJuCisgICAgKCgodGFyZ2V0X3RvcHNb YSAtIDFdID49IHQudmFsdWUoKSAtIDEpCisgICAgICBvcgorICAgICAgKCh0 YXJnZXRfdG9wc1thIC0gMV0gPj0gdC52YWx1ZSgpIC0gMikKKyAgICAgICBh bmQgKG5vTG9uZ2VyTmVlZGVkKENhcmQoc3RhdGljX2Nhc3Q8Q2FyZDo6VmFs dWVzPih0LnZhbHVlKCkgLSAxKSwgYSkpKQorICAgICAgICkKKyAgICAgICkK KyAgICAgYW5kCisgICAgICgodGFyZ2V0X3RvcHNbYiAtIDFdID49IHQudmFs dWUoKSAtIDEpCisgICAgICBvcgorICAgICAgKCh0YXJnZXRfdG9wc1tiIC0g MV0gPj0gdC52YWx1ZSgpIC0gMikKKyAgICAgICBhbmQgKG5vTG9uZ2VyTmVl ZGVkKENhcmQoc3RhdGljX2Nhc3Q8Q2FyZDo6VmFsdWVzPih0LnZhbHVlKCkg LSAxKSwgYikpKQorICAgICAgICkKKyAgICAgICkKKyAgICAgKTsKK30KKwog Ym9vbCBLbG9uZGlrZTo6dHJ5VG9Ecm9wKENhcmQgKnQpCiB7CkBAIC03NSw4 ICsxMDksOCBAQAogLy8gICAga2REZWJ1ZygxMTExMSkgPDwgInRyeVRvRHJv cCAiIDw8IHQtPm5hbWUoKSA8PCBlbmRsOwogCi0gICAgYm9vbCBzaG91bGRk cm9wID0gKHQtPnZhbHVlKCkgPD0gQ2FyZDo6VHdvIHx8IHQtPnZhbHVlKCkg PD0gbG93ZXN0X2NhcmRbdC0+aXNSZWQoKSA/IDEgOiAwXSArIDEpOwogICAg IFBpbGUgKnRndCA9IGZpbmRUYXJnZXQodCk7CiAgICAgaWYgKHRndCkgewot ICAgICAgICBuZXdIaW50KG5ldyBNb3ZlSGludCh0LCB0Z3QsIHNob3VsZGRy b3ApKTsKKyAgICAgICAgbmV3SGludChuZXcgTW92ZUhpbnQodCwgdGd0LAor CQkJICAgICBub0xvbmdlck5lZWRlZChDYXJkKHQtPnZhbHVlKCksIHQtPnN1 aXQoKSkpKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTg2 LDUgKzEyMCw2IEBACiB2b2lkIEtsb25kaWtlOjpnZXRIaW50cygpIHsKIAot ICAgIGludCB0b3BzWzRdID0gezAsIDAsIDAsIDB9OworICAgIHRhcmdldF90 b3BzWzBdID0gdGFyZ2V0X3RvcHNbMV0gPSB0YXJnZXRfdG9wc1syXSA9IHRh cmdldF90b3BzWzNdID0KKyAgICAgIENhcmQ6Ok5vbmU7CiAKICAgICBmb3Io IGludCBpID0gMDsgaSA8IDQ7IGkrKyApCkBAIC05Miw5ICsxMjcsNiBAQAog ICAgICAgICBDYXJkICpjID0gdGFyZ2V0W2ldLT50b3AoKTsKICAgICAgICAg aWYgKCFjKSBjb250aW51ZTsKLSAgICAgICAgdG9wc1tjLT5zdWl0KCkgLSAx XSA9IGMtPnZhbHVlKCk7CisgICAgICAgIHRhcmdldF90b3BzW2MtPnN1aXQo KSAtIDFdID0gYy0+dmFsdWUoKTsKICAgICB9Ci0KLSAgICBsb3dlc3RfY2Fy ZFswXSA9IHN0YXRpY19jYXN0PENhcmQ6OlZhbHVlcz4oUU1JTih0b3BzWzFd LCB0b3BzWzJdKSk7IC8vIHJlZAotICAgIGxvd2VzdF9jYXJkWzFdID0gc3Rh dGljX2Nhc3Q8Q2FyZDo6VmFsdWVzPihRTUlOKHRvcHNbMF0sIHRvcHNbM10p KTsgLy8gYmxhY2sKIAogLy8gICAga2REZWJ1ZygxMTExMSkgPDwgInN0YXJ0 QXV0b0Ryb3AgcmVkOiIgPDwgbG93ZXN0X2NhcmRbMF0gPDwgIiBibGFjazoi IDw8IGxvd2VzdF9jYXJkWzFdIDw8IGVuZGw7Cg== --------------Boundary-00=_KU793H7N5DANGKLD6UAO--
--------------Boundary-00=_Q6998ZK5VSVFWGWRYGWP Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit söndagen den 29 juli 2001 23:32 skrev Erik Sigra: > Here are a couple of small patches that makes klondike more amitious about > finding out which cards can be cleaned away. It touches as little as > possible but should still be enought to close #16214. Sorry the klondike.h.diff didn't remove a line it should have removed. An old variable that I made unnecessary. The other patch should be OK. --- klondike.h.orig Sun Jul 29 23:42:29 2001 +++ klondike.h Sun Jul 29 23:42:33 2001 @@ -615 +616 @@ Pile *pile; Deck* deck; - Card::Values lowest_card[2]; + Card::Values target_tops[4]; + bool noLongerNeeded(const Card &); }; --------------Boundary-00=_Q6998ZK5VSVFWGWRYGWP Content-Type: text/x-diff; charset="iso-8859-1"; name="klondike.h.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="klondike.h.diff" LS0tIGtsb25kaWtlLmgub3JpZwlTdW4gSnVsIDI5IDIzOjQyOjI5IDIwMDEK KysrIGtsb25kaWtlLmgJU3VuIEp1bCAyOSAyMzo0MjozMyAyMDAxCkBAIC02 MSw1ICs2MSw2IEBACiAgICAgUGlsZSAqcGlsZTsKICAgICBEZWNrKiBkZWNr OwotICAgIENhcmQ6OlZhbHVlcyBsb3dlc3RfY2FyZFsyXTsKKyAgICBDYXJk OjpWYWx1ZXMgdGFyZ2V0X3RvcHNbNF07CisgICAgYm9vbCBub0xvbmdlck5l ZWRlZChjb25zdCBDYXJkICYpOwogfTsKIAo= --------------Boundary-00=_Q6998ZK5VSVFWGWRYGWP--
Created attachment 867 [details] A patch for bug 16214 (kpat) Here is an updated patch that applies to kdegames-3.1 without fuzz. It is now carefully commented.
Subject: kdegames/kpat CVS commit by coolo: applied patch and added contribution to about data (the oldest standing kpat bug :) CCMAIL: 16214-close@bugs.kde.org M +65 -8 klondike.cpp 1.39 M +2 -1 klondike.h 1.16 M +1 -0 main.cpp 1.31