/
janken.hs
48 lines (43 loc) · 1.46 KB
/
janken.hs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import System.Environment
import System.Random
hand :: (Eq a, Num a) => a -> [Char]
hand n
| n == 0 = "ぐー"
| n == 1 = "ちょき"
| n == 2 = "ぱー"
result yourHand enemyHand
| yourHand == 0 && enemyHand == 0 = "あいこ"
| yourHand == 0 && enemyHand == 1 = "かち"
| yourHand == 0 && enemyHand == 2 = "まけ"
| yourHand == 1 && enemyHand == 0 = "まけ"
| yourHand == 1 && enemyHand == 1 = "あいこ"
| yourHand == 1 && enemyHand == 2 = "かち"
| yourHand == 2 && enemyHand == 0 = "かち"
| yourHand == 2 && enemyHand == 1 = "まけ"
| yourHand == 2 && enemyHand == 2 = "あいこ"
main :: IO ()
main = do
args <- getArgs
let firstArgs = (head args)
let num = read firstArgs :: Int
let yourHand = "あなたの手: " ++ (hand num)
putStrLn yourHand
rand <- getStdRandom(randomR(0, 2::Int))
let enemyHand = "あいての手: " ++ (hand rand)
putStrLn enemyHand
let r = result num rand
putStrLn r
-- 動かすにはrandomモジュールを入れる必要あり。
-- build:
-- % ghc basic.hs
-- Loaded package environment from /Users/i/.ghc/x86_64-darwin-8.10.4/environments/default
-- [1 of 1] Compiling Main ( basic.hs, basic.o )
-- Linking basic ...
-- run:
-- % ./basic 2
-- あなたの手: ぱー
-- あいての手: ぱー
-- あいこ
-- System.Randomのインストール方法
-- randomの動かし方 - Qiita
-- https://qiita.com/ogawaso/items/4de0d7aac8f7a3c4d1f4