diff --git a/MYnwp b/MYnwp new file mode 100644 index 0000000..c4eacea --- /dev/null +++ b/MYnwp @@ -0,0 +1,240 @@ +import java.io.*; + +class Kachimake +{ + //インスタンス変数置き場 + int kikai; //機械:機械側のじゃんけんの「手」を格納する + int ningen; //人間:遊び手のじゃんけんの「手」を格納する + int kekka; //結果:ゲームの結果を格納する + + //じゃんけんで出す手を決める処理 + public int nanidasuno(){ + + //ランダム変数を使って0~2の値を変数kikaiに代入する + kikai=(int)(Math.random()*3); + + //変数kikaiをそれぞれ、グー/チョキ/パーに変換し、表示する + if(kikai==0) + System.out.println("グー"); + + else if(kikai==1) + System.out.println("チョキ"); + + else + System.out.println("パー"); + + + //数字とじゃんけんの「手」の対応表 + System.out.println("0:グー 1:チョキ 2:パー"); + + //機械側が出した手を返す + return kikai; + + } + + //じゃんけんに勝たなきゃいけないときの判断処理 + public int katsu(int master,int challenger){ + + //引数を各変数に代入 + kikai=master; + ningen=challenger; + + //あいこの場合 + if(kikai==ningen){ + System.out.println("あいこです。\n"); + kekka=0; + } + //負けた場合 + else if(kikai==0&&ningen==1||kikai==1&&ningen==2||kikai==2&&ningen==0){ + System.out.println("負けです。\n"); + kekka=0; + } + //勝った場合 + else if(kikai==0&&ningen==2||kikai==1&&ningen==0||kikai==2&&ningen==1){ + System.out.println("勝ちました。\n"); + kekka=1; + } + + //指示通りにできたかを返す + return kekka; + } + + //じゃんけんに負けなきゃいけないときの判断処理 + public int make(int master,int challenger){ + + //引数を各変数に代入 + kikai=master; + ningen=challenger; + + //あいこの場合 + if(kikai==ningen){ + System.out.println("あいこです。\n"); + kekka=0; + } + //負けた場合 + else if(kikai==0&&ningen==1||kikai==1&&ningen==2||kikai==2&&ningen==0){ + System.out.println("負けです。\n"); + kekka=1; + } + //勝った場合 + else if(kikai==0&&ningen==2||kikai==1&&ningen==0||kikai==2&&ningen==1){ + System.out.println("勝ちました。\n"); + kekka=0; + } + + //指示通りにできたかを返す + return kekka; + } +} + + + +class JankenDojo +{ + public static void main(String[] args)throws IOException + { + + //変数置き場 + int shihan; //師範:機械側のじゃんけんの「手」を格納する + int chousensha; //挑戦者:遊び手のじゃんけんの「手」を格納する + int docchi; //どっち:じゃんけんに勝つか負けるかを格納する + int shouhai; //勝敗:ゲームの結果を格納する + + //遊び手の入力内容を一時保存する + BufferedReader br=new BufferedReader(new InputStreamReader(System.in)); + String str; + + //class Kachimakeを起動 + Kachimake km=new Kachimake(); + + //ゲームイントロ + System.out.println("ここは\n\n『じ\n ゃ\n ん\n 拳\n 道\n 場』\n"); + System.out.println("勝ちも負けもマスターしたじゃん拳マスターに君はなれるか!?"); + + //インターバル + try{ + Thread.sleep(3000); + } + catch(InterruptedException e){} + + //ゲームスタート + //1面【じゃんけんに勝つ】 + System.out.println(); //視認性向上を目的とした1行空け + System.out.println("まずは勝ちを極めるべし"); + System.out.println("じゃんけんに勝つのだ。"); + + //じゃんけん5回勝負(じゃんけんに勝つ) + for(int i=1;i<=5;i++){ + + //機械側のじゃんけんの「手」をnanidasunoメソッドに決めてもらう + shihan=km.nanidasuno(); + + //遊び手の入力した値を変数chousenshaに入力 + str=br.readLine(); + chousensha=Integer.parseInt(str); + + //じゃんけんの勝敗をkatsuメソッドに判定してもらい、結果を変数shouhaiに格納する + shouhai=km.katsu(shihan,chousensha); + + //変数houhai=0の場合(失敗した場合)のゲームオーバーの表示 + if(shouhai==0){ + System.out.println("まだまだだな。"); + System.exit(0); + } + + } + + //5試合連取した場合のコメント + System.out.println("なかなかやるな。勝ちは体得しているようだ。"); + + //インターバル + try{ + Thread.sleep(3000); + } + catch(InterruptedException e){} + + //2面【じゃんけんに負ける】 + System.out.println(); //視認性向上を目的とした1行空け + System.out.println("次は負けを極めてもらおう。"); + + //じゃんけん5回勝負(じゃんけんに負ける) + for(int i=1;i<=5;i++){ + + //機械側のじゃんけんの「手」をnanidasunoメソッドに決めてもらう + shihan=km.nanidasuno(); + + //遊び手の入力した値を変数chousenshaに入力 + str=br.readLine(); + chousensha=Integer.parseInt(str); + + //じゃんけんの勝敗をmakeメソッドに判定してもらい、結果を変数shouhaiに入れる + shouhai=km.make(shihan,chousensha); + + //変数houhai=0の場合(失敗した場合)のゲームオーバーの表示 + if(shouhai==0){ + System.out.println("負けは負けではない。"); + System.out.println("すべてを制御できてこそのじゃん拳マスターだ。"); + System.exit(0); + } + + } + + //5試合連取した場合のコメント + System.out.println("負けまで体得しているだと!?"); + System.out.println("まさか、本当にじゃん拳マスターに……"); + + //インターバル + try{ + Thread.sleep(3000); + } + catch(InterruptedException e){} + + //3面【じゃんけんに勝ったり負けたりする】 + System.out.println(); //視認性向上を目的とした1行空け + System.out.println("勝ちも負けもマスターしたじゃん拳マスターに君はなれるか!?"); + + //じゃんけん5回勝負(じゃんけんに勝ったり負けたりする) + for(int i=1;i<=5;i++){ + + //ランダム変数を使って0~1の値を変数kikaiに代入する + docchi=(int)(Math.random()*2); + + //それぞれ、勝ち/負けに変換し、それぞれを表示する + if(docchi==0) + System.out.println("\nじゃんけんに勝ってください"); + + else + System.out.println("\nじゃんけんに負けてください"); + + + //機械側のじゃんけんの「手」をnanidasunoメソッドに決めてもらう + shihan=km.nanidasuno(); + + //遊び手の入力した値を変数chousenshaに入力 + str=br.readLine(); + chousensha=Integer.parseInt(str); + + //じゃんけんの勝敗をkatsu/makeメソッドに判定してもらい、 + //結果を変数shouhaiに入れる + if(docchi==0) + shouhai=km.katsu(shihan,chousensha); + + else + shouhai=km.make(shihan,chousensha); + + + //変数houhai=0の場合(失敗した場合)のゲームオーバーの表示 + if(shouhai==0){ + System.out.println("頑張ったが、まだ未熟。"); + System.out.println("すべてを制御できてこそのじゃん拳マスターだ。"); + System.exit(0); + } + } + + //エンディング + System.out.println("君こそがじゃん拳マスターだ。"); + System.out.println(" お\n め\n で\n と\n う"); + System.out.println("~~fin~~"); + + } +}