Ccmmutty logo
Commutty IT
3 min read

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

https://cdn.magicode.io/media/notebox/2e4b5117-3348-413e-9f4b-c5c23de53294.jpeg
カサレリア。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

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