package main import ( "bufio" "fmt" "math/rand" "os" "strconv" ) var sc = bufio.NewScanner(os.Stdin) func main() { fmt.Println("MatchStickDiceGame") fmt.Println("11本のマッチ棒を一番最初に取得したプレイヤーの勝ちです") fmt.Println(`プレイヤーは何人ですか?`) var totalPlayer int if sc.Scan() { var x string x = sc.Text() totalPlayer, _ = strconv.Atoi(x) } if totalPlayer < 4 { fmt.Println(totalPlayer, `人で対戦します`) } else { fmt.Println(`3人以上では対戦できません`) } var playerArrayList []int playerArrayList = startPlayer(totalPlayer) for i := 0; i < totalPlayer; i++ { fmt.Println("プレイヤー", (i + 1), playerArrayList[i]) } } func startPlayer(totalPlayer int) []int { //順番を決める playerArray := make([]int, totalPlayer) for i := 0; i < totalPlayer; i++ { num := rand.Intn(totalPlayer + 1) playerArray[i] = num } fmt.Println(playerArray) return playerArray }
実行結果
11本のマッチ棒を一番最初に取得したプレイヤーの勝ちです
プレイヤーは何人ですか?
3
3 人で対戦します
[1 3 3]
プレイヤー 1 1
プレイヤー 2 3
プレイヤー 3 3
実現したいこと
プレイヤーのゲームを行う順位を決めたいです。
rand.Intnでランダムに数字を出すと同じ数字が出てしまい順位がかぶってしまいます。
プレイヤーが対戦する順位を決めたい場合、どのようなコードにしたらいいか教えていただきたいです。
タイトルと質問の内容がミスマッチなのでタイトルを合わせるとよいかもしれません。
回答1件
あなたの回答
tips
プレビュー