Magicode logo
Magicode
0
3 min read

第11話 V言語で超簡単なゲームを作る3

カサレリア。katzenです。

前回、V言語のループ処理で処理を繰り返すことが出来るようになりました。これでゲームループが作れます。

では、引き続き第7話 V言語で超簡単なゲームを作るをすすめていきましょう。

  1. 「じゃんけん...(1.ぐー,2.ちょき,3.ぱー)」と表示して
  2. 数字1〜3を入力してもらうことにします。
  3. それ以外が入力された場合、「数字の1か2か3を入力してね。」と表示して2.へ
  4. ランダムでNPCの手(1,2,3)を決めて
  5. 「あなた:(手) (手):NPC」 と表示して
  6. 1は2に勝ち、2は3に勝ち、3は1に勝ち、同じ数字ならあいこ
  7. 「あなたの勝ち」 or 「あなたの負け」 or 「あいこで...(1.ぐー,2.ちょき,3.ぱー)」と表示して
  8. あいこなら2.へ戻る
  9. 終了

これの2まで終わっています。

// day7.v
import os

// 1. 「じゃんけん...(1.ぐー,2.ちょき,3.ぱー)」と表示して
println("じゃんけん...(1.ぐー,2.ちょき,3.ぱー)")

for {
  // 2. 数字1〜3を入力してもらうことにします。
  line := os.get_line()
  you := line.trim_space()

  // 3. それ以外が入力された場合、「数字の1か2か3を入力してね。」と表示して2.へ
  if "1" != you && "2" != you && "3" != you {
    println("数字の1か2か3を入力してね。")
    cotinue
  }
}

ここまで出来ました。次は、

  1. ランダムでNPCの手(1,2,3)を決めて

ですね。ランダム処理です。

だいたいrandとかrandomとかですね。ありました。公式

使い方は、randモジュールを読み込んで、シードを設定して取得という流れですね。

今回1〜3が取得できればいいので気にしません。

import rand

cpu := 1 + rand.intn(3)? // ?はエラーを無視します

この処理を組み込みます。

// day7.v
import os
import rand

// 1. 「じゃんけん...(1.ぐー,2.ちょき,3.ぱー)」と表示して
println("じゃんけん...(1.ぐー,2.ちょき,3.ぱー)")

for {
  // 2. 数字1〜3を入力してもらうことにします。
  line := os.get_line()
  you := line.trim_space()

  // 3. それ以外が入力された場合、「数字の1か2か3を入力してね。」と表示して2.へ
  if "1" != you && "2" != you && "3" != you {
    println("数字の1か2か3を入力してね。")
    cotinue
  }
  player := you.int() // 数値に直しておく

  // 4. ランダムでNPCの手(1,2,3)を決めて
  cpu := 1 + rand.intn(3)? // ?はエラーを無視します
  // 0〜2が返るので+1して1〜3にします。
}

ここまで出来ました。

次は

  1. 「あなた:(手) (手):NPC」 と表示して

です。

手はルックアップテーブル(LUT)を使うことにしましょう。

配列の登場です。

ついにループ処理を手に入れ、私達の旅の終わりが見えてきました。

次回「V言語の配列」見てください!

Discussion

コメントにはログインが必要です。