home *** CD-ROM | disk | FTP | other *** search
/ The Complete Encyclopedia of Games 3 / GAMES1000V3_d2.iso / card / cardws17 / inc / jp.cdh < prev    next >
Text File  |  1994-02-10  |  2KB  |  68 lines

  1. #ifndef jppredicat
  2. #define jppredicat
  3.  
  4. #include 'predicat.cdh'
  5.  
  6. predicate ValidOnPlayerStack?(c1,c2:Card) is
  7.   return((SameSuit?(c1,c2) and
  8.         (FollowRankWrap?(c2,c1) or
  9.          FollowRankWrap?(c1,c2)))); 
  10.  
  11. predicate ValidForCenterUp?(s1,s2:stack) is
  12.   return(((SameSuit?(s1[s1!],s2[s2!]) and 
  13.           (FollowRankWrap?(s2[s2!],s1[s1!]))) or
  14.          ((s2!=0) and (SameCard?(s2[0],s1[s1!]))))); 
  15.          
  16. predicate ValidForCenterDown?(s1,s2:stack) is
  17.   return(((SameSuit?(s1[s1!],s2[s2!]) and 
  18.           (FollowRankWrap?(s1[s1!],s2[s2!]))) or
  19.          ((s2!=0) and (SameCard?(s2[0],s1[s1!]))))); 
  20.          
  21. predicate ValidForTable?(c1,c2:Card) is
  22.   return(AlternateColor?(c1,c2) and FollowRankWrap?(c2,c1));
  23.   
  24. {--------------------------------------------------------------------------}              
  25.  
  26. predicate IsDeuce?(c1 : card) is return (c1 mod 13)=Deuce;
  27. predicate IsThree?(c1 : card) is return (c1 mod 13)=Three;
  28. predicate IsFour?(c1 : card)  is return (c1 mod 13)=Four;
  29. predicate IsFive?(c1 : card)  is return (c1 mod 13)=Five;
  30. predicate IsSix?(c1 : card)   is return (c1 mod 13)=Six;
  31. predicate IsSeven?(c1 : card) is return (c1 mod 13)=Seven;
  32. predicate IsEight?(c1 : card) is return (c1 mod 13)=Eight;
  33. predicate IsNine?(c1 : card)  is return (c1 mod 13)=Nine;
  34. predicate IsTen?(c1 : card)   is return (c1 mod 13)=Ten;
  35. predicate IsJack?(c1 : card)  is return (c1 mod 13)=Jack;
  36. predicate IsQueen?(c1 : card) is return (c1 mod 13)=Queen;
  37.  
  38. {--------------------------------------------------------------------------}              
  39.  
  40. procedure GrabItSideUp(P1,P2 : stack) is
  41. if P1! > 0 then
  42.   begin
  43.     Turn P1[P1!] Side Up;
  44.     Pull 1 from P1 To P2;
  45.   end;
  46.  
  47. {--------------------------------------------------------------------------}
  48.  
  49. stack procedure Geta2FullDeckFaceDown(s : stack) is
  50.   begin
  51.     Add Ace+Spade .. King+Diamond;
  52.     Add Ace+Spade .. King+Diamond;
  53.     Turn s[1..s!] side down;
  54.     draw s;
  55.     Shuffle;
  56.   end;
  57.  
  58. {--------------------------------------------------------------------------}
  59.  
  60. stack procedure ShowShaded(c1 : card) is
  61.   begin
  62.     [0]:=c1;
  63.     Turn [0] Side Shaded;
  64.   end;
  65.  
  66. {--------------------------------------------------------------------------}
  67.  
  68. #endif