Advertisement
Guest User

F# Car Solitaire

a guest
Nov 20th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
F# 1.67 KB | None | 0 0
  1.  
  2. module CarSolitaire
  3. open System
  4. type Card = {Value:string; Suit:string}
  5.  
  6. let main() =
  7.     let mutable start = 0
  8.     Console.Write("Welcome to Car Solitaire!\n")
  9.     while (start = 0) do
  10.         Console.Write("Please enter a command. (Hit C to display commands) ")
  11.         let str = Console.ReadLine()
  12.         let upper = str.ToUpper()
  13.  
  14.         if (upper.Length > 1) then
  15.             Console.Write("Invalid command length: {0}. ", upper.Length)
  16.  
  17.         let array = upper.ToCharArray()
  18.         let array2 = Array.sub array 0 1
  19.         let command = new string(array2)
  20.        
  21.         if (command = "C") then
  22.             Console.Write("X: Exit game.\t\t\t\tL: Display leaderboard.\nD: Display current deck.\t\tC: Display commands.\n")
  23.             Console.Write("P: Play game while watching.\t\tH: Play hidden game (game finishes without user input).\n\n")
  24.         elif (command = "X") then
  25.             Console.Write("Exiting. Goodbye!\n")
  26.             Environment.Exit 1
  27.         elif (command = "L") then
  28.             Console.Write("Leaderboard stuff goes here")
  29.         elif (command = "D") then
  30.             Console.Write("No game has been started.")
  31.         elif (command = "P" || command = "H") then
  32.             start <- 1
  33.         else
  34.             Console.Write("Invalid command. ")
  35.  
  36.     let values = [| "A"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "J"; "Q"; "K" |]
  37.     let suits = [| "Hearts"; "Spades"; "Clubs"; "Diamonds" |]
  38.     let deck = Array.empty<Card>
  39.  
  40.     for h in 0..51 do
  41.         for i in 0..values.Length do
  42.             for j in 0..suits.Length do
  43.                 let insert = Card [values.[i]; suits.[j]]
  44.                 deck.[0] <- insert
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement