Deal cards for FreeCell: Difference between revisions

m
<lang> needs a language
(Added Bracmat)
m (<lang> needs a language)
Line 100:
NEXT
ENDIF
= state >> 16</lang>
{{out}}
</lang>
Output:<br>
[[File:freecell_BBC.gif]]
 
=={{header|Bracmat}}==
<lang bracmat>( ( createArray
= array rank ranks suit suits
. A 2 3 4 5 6 7 8 9 T J Q K:?ranks
Line 264 ⟶ 263:
(show-deck 1)
(show-deck 617)</lang>
 
=={{header|C sharp|C#}}==
Longer than it absolutely needs to be because I split out several independently useful classes.
<lang C#csharp>using System;
using System;
using System.Collections.Generic;
using System.Text;
Line 436 ⟶ 435:
}
}
}</lang>
}
{{out}}
</lang>
Output:
<pre>JD 2D 9H JC 5D 7H 7C 5H
KD KC 9S 5S AD QC KH 3H
Line 455 ⟶ 453:
JD KS KC 4H
</pre>
 
=={{header|D}}==
{{trans|C}}
Line 506 ⟶ 505:
JD 7D 8H 9C 2H QD 4C 5H
KC 8D 2S 3S</pre>
 
=={{header|Go}}==
{{trans|C}}
Line 573:
show(deal(game))
}</lang>
{{out}}
Output:
<pre>
Game #1
Line 596:
=={{header|Haskell}}==
{{trans|C}}
 
<lang haskell>import Data.Int
import Data.Bits
Line 690 ⟶ 689:
return ishift(srand_freecell((214013 * srand_freecell() + 2531011) % 2147483648),-16)
end</lang>
{{out|Sample output for game 1}}
 
Sample output for game 1:<pre>Hand:
 
1 2 3 4 5 6 7 8
Line 703 ⟶ 702:
 
=={{header|J}}==
Paraphrase of [[#C|C]]:
 
Paraphrase of C:
 
<lang j>deck=: ,/ 'A23456789TJQK' ,"0/ 7 u: '♣♦♥♠'
 
Line 718 ⟶ 715:
 
show=: (,"2)@:(_8 ]\ ' '&,.)</lang>
{{out|Example use:}}
 
Example use:
 
<lang j> show deal srnd 1
J♦ 2♦ 9♥ J♣ 5♦ 7♥ 7♣ 5♥
Line 740 ⟶ 735:
=={{header|OCaml}}==
{{trans|C}}
 
<lang ocaml>let srnd x =
(* since OCaml's built-in int type is at least 31 (note: not 32) bits wide,
Line 782 ⟶ 776:
let cards = deal s in
show cards</lang>
{{out|Execution:}}
 
Execution:
 
<pre>$ ocaml freecell.ml 617
Deal 617:
Line 852 ⟶ 844:
binmode STDOUT, ':encoding(utf-8)';
print "Hand $hand_idx\n";
print $string;</lang>
</lang>
 
=={{header|Perl 6}}==
Line 897 ⟶ 888:
(at (0 . 8) (prinl)) )
(prinl) )</lang>
 
=={{header|PureBasic}}==
<lang purebasic>#MaxCardNum = 51 ;zero-based count of cards in a deck
Line 945 ⟶ 937:
CloseConsole()
EndIf</lang>
{{out|Sample output:}}
<pre>Hand #1
JD 2D 9H JC 5D 7H 7C 5H
Line 1,002 ⟶ 994:
deck = deal(seed)
show(deck)</lang>
{{out}}
Output:
<pre>Hand 11982
AH AS 4H AC 2D 6S TS JS
Line 1,085 ⟶ 1,077:
deck.each_slice(8) {|row| puts " " + row.join(" ")}
end</lang>
{{out}}
 
<pre>$ ruby freecell.rb 11982
Game #11982
Line 1,154 ⟶ 1,146:
print
done</lang>
{{out}}
 
<pre>$ zsh freecell.sh 80388
Game 80388:
Anonymous user