ソースプログラム(Java Ver.)
/* Program :report4.java Student-ID :045733H Author :HIDENORI Tamayose Date :2004,11, Comments :数あてゲーム */ public class report4{ public static void main(String args[]) { int an = ((int)Math.floor(Math.random()*50) +1); int co; int fir = -1; System.out.println("数あてゲーム(10回限定)"); System.out.println("0~50で数字を選んでください。"); for( co = 1 ; co <= 10 ; co++ ){ fir = -1; while( fir < 0 || fir > 50 ) fir = readNumber(); if( fir == an ){ System.out.print("\n☆あなたは" + co); System.out.println("回目で正解☆"); System.out.println("ちなみに答えは" + an); break; } if( fir < an ) System.out.println("答えより小さいです"); else System.out.println("答えより大きいです"); } if( fir != an ){ System.out.println("\n正解は" + an); System.out.println("制限の10回を過ぎてしまいました。\nGame Over...."); } } public static int readNumber() { byte b[] = new byte[50]; try{ System.out.print("=>"); System.in.read(b); return Integer.parseInt(new String(b).trim()); }catch(Exception e){ return -1; } } } |
実行結果
正解の場合 | 不正解の場合 |
数あてゲーム(10回限定) 0~50で数字を選んでください。 =>22 答えより小さいです =>44 答えより大きいです =>37 ☆あなたは8回目で正解☆ ちなみに答えは37 |
数あてゲーム(10回限定) 0~50で数字を選んでください。 =>8 答えより小さいです 正解は9 制限の10回を過ぎてしまいました。 Game Over.... |
ソースプログラム(C Ver.)
/* Program :report#4.c Student-ID :045733H Author :HIDENORI Tamayose Date :2004,11, Comments :数あてゲーム */ #Include |
考察
1、((int)Math.floor(Math.random()*50) +1);if(条件){ ブロック1 }else{ ブロック2 } |
for(初期値a;繰り返し条件;処理){ ブロック } |
while(条件){ ブロック } |
do{ ブロック }while(条件) |
switch(条件){ case a: ブロック1 case b: ブロック2 case c: ブロック3 : break; } |
宣言方法(領域割りあて) |
型 配列名[]; 型 []配列名; 配列名 = new 型[サイズ]; |
感想
今回はテスト、C言語やらなにやらでかなり苦戦しました。C言語なんて久しぶりだからコンパイルの仕方すら忘れてました (情けない…)でもなんとか完成しました。参考文献・HP
・独習Java第2版 『ジョゼフ・オニール著』