NaokaKawabata / consoleGame

0 stars 0 forks source link

consoleGame #1

Closed NaokaKawabata closed 4 years ago

NaokaKawabata commented 4 years ago

4/22提出予定のコンソールゲームに関する提出物を入れる

NaokaKawabata commented 4 years ago

【考え1つ目】 要件定義(日本語で表したいコードを書く) 以下の通りに書けば、eclipse上のコンソールで問題が表示され、回答を行う事が出来ると考える。

gameプロジェクト{ import java.io.BufferedReader; (バッファを読み込む) import java.io.inputStreamReader; (バイトを読み込むためのクラスからの橋渡し。文字セットを指定する事が出来る)

consoleGameクラス{
    表示内容「日本の首都はどこ?」;
    表示内容「1:日本」;
    表示内容「2:東京」;
    表示内容「3:大阪」;
    表示内容「答えを番号で入力し、エンターキーを押してください」;
    コンソールから入力するBufferReaderオブジェクトを作る。
    変数宣言(int answer=0)
    変数宣言(String message=“不正解”)
    try{
        [[例外発生がある可能性の処理]]
        コンソールから入力して数値に変換する
    } catch(Exception exception){
        [[例外が発生したときの処理]]
        数値を入力していない場合。
        answerに代入する(answer = 0;)
        messageに代入し表示「”答えを番号で入力してください”」;
    }
    もし入力番号が2だった場合
    if(answer = 2){
        messageに代入し表示「”正解”」;
    }
    表示内容「message」;
}

}

NaokaKawabata commented 4 years ago

【考え2つ目】 要件定義(日本語で表したいコードを書く) if文のみで書いて、eclipse上のコンソールで問題が表示され、回答を行う事が出来るのか? ※if文の中のif else とelseの区別の仕方に時間がかかり、文も長くなりそうな予感がしている。

gameプロジェクト{ import java.io.BufferedReader; (バッファを読み込む) import java.io.inputStreamReader; (バイトを読み込むためのクラスからの橋渡し。文字セットを指定する事が出来る)

consoleGameクラス{
    表示内容「日本の首都はどこ?」;
    表示内容「1:日本」;
    表示内容「2:東京」;
    表示内容「3:大阪」;
    表示内容「答えを番号で入力し、エンターキーを押してください」;
    コンソールから入力するBufferReaderオブジェクトを作る。
    変数宣言(int answer=0)
    変数宣言(String message=“”)
    もし入力が2番だった場合
    if(answer = 2){
        messageに代入し表示「”正解”」;
        表示内容「message」;
    }
    もし入力が2番以外だった場合
    if else(!answer = 2){
        messageに代入し表示「”不正解”」;
        表示内容「message」;
    }
    もし入力が数値以外の場合
    else{
        answerに代入する(answer = 0;)
        messageに代入し表示「”答えを番号で入力してください”」;
        表示内容「message」;
    }
}

}

NaokaKawabata commented 4 years ago

【考え1つ目JAVAコード】 途中までしか書けませんでした。 明日、try catchの中身を書いて実装してみます。

package games;

import java.io.BufferedReader; import java.io.InputStreamReader;

public class consoleGame {
    public static void main(String[] args) {
            System.out.println("日本の首都はどこですか?");
            System.out.println("1:日本");
            System.out.println("2:東京");
            System.out.println("3:大阪");
            System.out.print("答えを番号で入力し,エンターキーを押してください。=>");

            InputStreamReader inputStreamReader = new InputStreamReader(System.in);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);

            int answer = 0;
            String message = "不正解";

            try {
            }catch{
            }

            if(answer == 2){
                message = "正解";
            }
            System.out.println(message);
        }
}

}

NaokaKawabata commented 4 years ago

「考え方②」 上手く動きませんでした。 if文の書き方が分からず、時間をかける事は良くないとアドバイスを頂いたこともあるので、今回は断念しました。

package games;

import java.io.BufferedReader; import java.io.InputStreamReader;

public class consoleGame { public static void main(String[] args) { System.out.println("日本の首都はどこですか?"); System.out.println("1:日本"); System.out.println("2:東京"); System.out.println("3:大阪"); System.out.print("答えを番号で入力し,エンターキーを押してください。=>"); InputStreamReader inputStreamReader = new InputStreamReader(System.in); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); int answer = 0; String message = "”;

//入力した文字が数字か文字列か? //文字だったら if(answer == 0){ message = “答えを番号で入力してください。”; //数字だったら //答えだったら if(answer == 2){ message = “正解”; //答え以外の数字だったら }else if(answer != 2){ message = “不正解”; } System out printIn(message); }

}

}

NaokaKawabata commented 4 years ago

「考え方①」 この考え方だと、コンソール上に問題が出てきて、数字を入力すると正解か不正解かを判別してくれる事を確認しました。

package games;

import java.io.BufferedReader; import java.io.InputStreamReader;

public class consoleGame { public static void main(String[] args) { System.out.println("日本の首都はどこですか?"); System.out.println("1:日本"); System.out.println("2:東京"); System.out.println("3:大阪"); System.out.print("答えを番号で入力し,エンターキーを押してください。=>"); InputStreamReader inputStreamReader = new InputStreamReader(System.in); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); int answer = 0; String message = "不正解"; try { String buf = bufferedReader.readLine(); answer = Integer.parseInt(buf); } catch (Exception exception) { answer = 0; message = "答えを番号で入力してください。"; } if (answer == 2) { message = "正解"; } System.out.println(message); } }

NaokaKawabata commented 4 years ago

要件定義書を作り直して見ました。 何を入れて良いのかわからず、サイトを見ながらコンソールゲームを作るにあたり必要であろうモノを入れました。 以下、参考にした3サイトになります。 http://kmd.essens.co.jp/wp-content/uploads/recipe/requirement/srs/rcp-srs-01.pdf https://www.sangyo-rock.com/tech/index.php?%CD%D7%B7%EF%C4%EA%B5%C1%BD%F1%A4%CE%B0%EC%C8%CC%C5%AA%A4%CA%B9%E0%CC%DC https://qiita.com/syantien/items/9a8a7cbaeca2be3ef0d7

詳細設計書と要件定義の違い https://www.widesoft.co.jp/technology/3536

※所持しているPCにwordやexcelが入っていないので、代わりのソフトで作成しております。ズレなど互換性が無かったら、すみません。

コンソールゲーム要件定義書.docx

NaokaKawabata commented 4 years ago

要件定義書を作り直しました。 参考にしたサイトの通りに書きました。

http://kmd.essens.co.jp/wp-content/uploads/recipe/requirement/srs/rcp-srs-01.pdf

コンソールゲーム要件定義書.docx