前回、V言語の標準入力として、入力を受け付けてプログラムにデータを渡すことが出来ました。
これで、入力と出力が出来るようになったので、ここまでのまとめとして、超簡単なゲームを作ります。
それは「じゃんけんゲーム」です。
簡単すぎますか?
もし簡単すぎたらランキング機能やコンボ機能。通信対戦などお好きなようにカスタマイズしてみてください。
フローはこんな感じにしましょう。
さっそく組んでみましょう。
// day7.v
import os
// 1. 「じゃんけん...(1.ぐー,2.ちょき,3.ぱー)」と表示して
println("じゃんけん...(1.ぐー,2.ちょき,3.ぱー)")
// 2. 数字1〜3を入力してもらうことにします。
line := os.get_line()
ここまでは問題ないですね。
さて、入力に[1,2,3]以外が入力されたと判定するにはどうしたらいいでしょうか。
a. 数値に変換して比較する。
b. 文字として比較する。
この2パターンかと思います。
aの場合、
you := line.int()
でしょうか。数値に変換できない文字を入れた場合はどうなるのでしょう。
リファレンス を見てみましょう。え?書いてない。後日ソースを見るとして、これはいけない。とりあえず動作を見る限り、変換できないものは0になるようです。
これでは0が入力されたときの判定ができません。今回の要件で0はないので、単純にエラーとできますが、設計時に気をつける必要がありそうです。
もしくは無理やり、数値変換したものを再度文字列にして比較するみたいなことをして、一緒なら入力データ。違うならエラーという分岐が必要そうです。
どなたか解決策を知っている方いらっしゃいましたらコメントください(=人= )
bの場合、単純ですね。 そのまま入力データを比較すればいいのです。
さて、比較の方法については調べていませんでした。きっとif
とかswitch
みたいなものがあると思います。
超簡単なゲーム制作がついに始まりました。しかし入力データの比較が壁となって迫ってきます。
次回「V言語の比較演算子」見てください!