home *** CD-ROM | disk | FTP | other *** search
/ ISV Strong Games / ISV_STRONG_GAMES.iso / desktop / spatience / !SPatience / Exorcist < prev    next >
Text File  |  1992-10-27  |  4KB  |  127 lines

  1. |
  2. |   Rules for the game of exorcist patience
  3. |   Designed by J.Horsnell BSc(Hons) MSc
  4. |   For SPatience Vsn. 0.51 and up!.    
  5. |
  6. | Blat.......
  7. |   Imagine that, my own game and someone goes and
  8. |   spots an error.  The game refuses to acknowledge
  9. |   a winning move.  This was spotted by S.Fakhry
  10. |   and occurs because I forgot to assign the 
  11. |   foundation stacks an ID.  It was supposed to be
  12. |   2.
  13. |
  14. |   This is my own (quickly thought up) game.
  15. |   It's not very difficult, enjoy....
  16. |   The stacks on the left are of the same
  17. |   colour descending value variety.  Those
  18. |   on the right are of the different colour
  19. |   descending variety.  Whole stacks must
  20. |   conform to the rules when moving to a new
  21. |   home. The pack deal one to each stack.
  22. |
  23. | This file may provide as an introduction to
  24. | writing SPatience script files of your own.
  25. |
  26. | SPatience knows one script type at the moment but it must be declared
  27. SCRIPT_TYPE 1
  28. |
  29.  
  30. | Open a window with this title. (case sensitive inside quotes)
  31. BEGIN "Exorcist patience"
  32.  
  33.   | Declare the game state flag defaults
  34.   FLAGS ClickFly AutoFly AnimateFly
  35.  
  36.   | We need 4 packs for this game
  37.   PACKS 4
  38.  
  39.   | The window width is 17 stack widths plus a little for the border
  40.   WIDTH 17 * CW + 14
  41.  
  42.   | Lets have a generous height (30 card card_stack plus a stack)
  43.   HEIGHT 16 + CH + 1244
  44.  
  45.   | We win if there are 208 cards (all of them) in the foundations
  46.   ZeroToWin 208 - CARDSIN$2
  47.  
  48.   | Now define the foundations.
  49.   FOR foundation = 0 to 7
  50.  
  51.     | These are standard foundations, mostly default.
  52.     | First the left eight.
  53.     FOUNDATION
  54.       X 14 + CW * foundation
  55.       Y 16
  56.       ID 2
  57.     END FOUNDATION
  58.  
  59.     | Now the right...
  60.     FOUNDATION
  61.       X 14 + 16 * CW - foundation * CW
  62.       Y 16
  63.       ID 2
  64.     END FOUNDATION
  65.  
  66.   END FOR
  67.  
  68.   | Now for the stacks (eight left, eight right)
  69.   FOR stack = 0 TO 7
  70.  
  71.     | First the left
  72.     STACK
  73.       | Each one below a foundation
  74.       X 14 + stack * CW
  75.       Y 16 + CH
  76.       | Allow only kings to be placed on empty stacks
  77.       FIRST 13
  78.       | An upper limit of thirty cards on each
  79.       MAX 30
  80.       | We want one card on the left increasing to eight in the middle
  81.       DEAL stack + 1 , stack + 1
  82.       | We need deep stack checking when adding stacks
  83.       | and only cards of the same colour can be added.
  84.       | The card value offset is the default of decrementing by one.
  85.       | These stacks can also accept cards after a click operation.
  86.       FLAGS PaintDown DeepCheck ClickFly Join__SC
  87.       | An ID of 1, this is were the pack will deal to.
  88.       ID 1
  89.     END STACK
  90.  
  91.     | Now the right
  92.     STACK
  93.       | One card at the far right, eight in the middle
  94.       X 14 + 16 * CW - stack * CW
  95.       | All else is the same as those on the left....
  96.       Y 16 + CH
  97.       FIRST 13
  98.       MAX 30
  99.       DEAL stack + 1 , stack + 1
  100.       | Except the way stacks append (different colour)
  101.       FLAGS DeepCheck ClickFly Join__DC
  102.       ID 1
  103.     END STACK
  104.  
  105.   END FOR
  106.  
  107.   | We need a stack to hold the cards left to deal.
  108.   STACK
  109.     | Put it in the middle of the foundations
  110.     X 14 + 8 * CW
  111.     Y 16
  112.     | We don't want any cards to be added
  113.     MAX 0
  114.     | After the stacks, there are 136 cards left....
  115.     DEAL 136
  116.     | To each stack (ID=1) we deal one card.
  117.     DEALTO 1,1
  118.     | We don't want to take them back when dealt.
  119.     TAKEFROM 0
  120.     | The pack is deal only, no dragging.
  121.     DRAGUPTO 0
  122.     | It's display should be the card back and a count of cards left
  123.     FLAGS PaintCount
  124.   END STACK
  125.  
  126. END BEGIN
  127.