Java プログラミング

【Java】数当てゲームを作ってみる【初心者】

2019年2月15日

こんばんは!

今回はJavaで数当てゲームを作ってみたいと思います。

数当てゲームのルール

今回製作するのは「CodeBreaker」や「Hit&Blow」、「NumerOn」のような3つの数字を当てるだけの単純なゲームです。

ルールは以下のように設定します。

・数字は3つ(2つや4つにも簡単に変更できるようにプログラムしておく)。

・数字は0~9の範囲で重複はないものとする。

・ユーザーが入力した数字と桁が答えと一致していたら「eat」、数字のみ一致していたら「bite」としてカウントする。

・3eatとなればゲーム終了となる。

 

今回はNumerOn(ヌメロン)を参考にし、eat,biteという表記にしました。

「CodeBreaker」や「Hit&Blow」ではHit,Blowという表記なのでそちらがいいという方は適宜変更してください。

コード

今回作成したコードは以下の通りです。

コードの説明をしていきます。

まず、printDirection()メソッドはゲームのルールを説明を出力するためのメソッドです。
メインメソッド内でも最初に呼び出しを行うことでゲーム開始時にゲームのルール説明をすることができます。

次に、makeRightAnswer()メソッドはランダムに3つの数字の配列を作成するメソッドです。Mathクラスのrandomを使って乱数を生成しています。これが答えの3つの数字となります。
3つの数字を得るので戻り値はint型の配列になっています。

次に、readUserAnswer()メソッドはユーザーの入力した3つの数字を読み取り、int型の配列として保存するメソッドです。
try catch構文で、数字以外のものが入力されたときはエラー文を出し、入力のやり直しを求めるようになっています。

次に、checkAnswer(int[] right_answer,int[] user_answer)メソッドはmakeRightAnswer()メソッドで生成された答えの数字の並びと、readUserAnswer()メソッドで読み取ったユーザーが入力した数字の並びを比較して、数字と桁が答えと一致していたら「eat」、数字のみ一致していたら「bite」としてカウントし、その結果を出力するメソッドです。全ての数字が合致していたらゲームを終了し、1つでも数字や桁が間違っている場合はゲームが継続します。

これらのメソッドをメインメソッドで順に呼び出してゲームを進行しています。

また、最初に定義した

の部分を4に変更すれば4つの数字を当てるゲームに、2に変更すれば2つの数字を当てるゲームに変更できるように工夫しました。

実行結果

実行結果を載せておきます。

まずは3つの数当てゲーム

6回目でクリアできました。

 

続いて2つの数字当てゲーム(answer_sizeを2に変更する)

こちらも6回目でクリアしました。

 

まとめ

今回はJavaでの物を作る者初めての作品(?)、数字当てゲームを作成してみました。

Javaの文法は勉強したけど、何も作ったことがないという人におすすめだと思います。

今後は2人での対戦やアイテムなどが使えるように拡張していこうと思います。

最後までお読みいただきありがとうございました。

ではまた!

-Java, プログラミング

Copyright© 物を作る者 , 2024 All Rights Reserved.