<<前 [TOP] 次>>
Visual Studioで新規プロジェクトを作り、次のcppファイルを作成して下さい。
【KansuuTest5.cpp】
#include <iostream> #include <stdlib.h> int main() { int teki_kyori, teki_course, laser_course, round, sokudo=0; char rader='R'; int seed, houkou; std::cout << "自然数で適当な数を入力してください。--> " << std::endl; for (std::cin >> seed ; !std::cin ; std::cin >> seed){ std::cin.clear(); std::cin.ignore(); std::cout << "入力が間違ってます。" << std::endl << "自然数で適当な数を入力してください。--> "; } srand(seed); for(round=1; round<6; round++) { std::cout << "第 " << round << "ラウンド" << std::endl << std::endl; teki_course = rand()%6; sokudo ++; for(teki_kyori=10; ; teki_kyori-=sokudo) { if (teki_kyori<=0) { std::cout << "あなたの負けです" << std::endl; exit(0); } houkou = rand()%3-1; if ( teki_course == 0 ) { teki_course = rand()%2; } else if ( teki_course == 5 ) { teki_course = rand()%2+4; } else { teki_course += houkou; } std::cout << "敵との距離は" << teki_kyori << "です。" << std::endl; std::cout << "あなたはレーザーを撃ちますか?" << std::endl; std::cout << "それともレーダーを使いますか?" << std::endl; std::cout << "レーザー(F) or レーダー(R)" << std::endl; for (std::cin >> rader ; !std::cin ; std::cin >> rader){ std::cin.clear(); std::cin.ignore(); std::cout << "入力が間違ってます。" << std::endl << "レーザー(F) or レーダー(R)"; } if ( rader == 'R' || rader == 'r') { std::cout << "敵のコースは" << teki_course << "です。" << std::endl; } else { std::cout << "撃つ方向を決めてください。" << std::endl; std::cout << "0~5のどれかを入力してください" << std::endl; for (std::cin >> laser_course ; !std::cin ; std::cin >> laser_course){ std::cin.clear(); std::cin.ignore(); std::cout << "入力が間違ってます。" << std::endl << "0~5のどれかを入力してください"; } if (teki_course == laser_course) { std::cout << "あなたの勝ちです!" << std::endl; break; } else { std::cout << "外れました" << std::endl; } } } } }
今までに説明したことを使って作った簡単なゲームです。
敵の機体はあなたの所から10 離れたところから1つづつ進んできてあなたのいるところ、すなわち0 の所まで来たらあなたの負けです。
あなたの武器はレーザーガンで、相手が1つづつ進むごとに1回だけ打てます。
敵は6コース(方角)のどれかにいますから、適当な方角を選んでレーザーを撃ってください。
また敵の位置をレーダーで索敵することも出来ますが、レーダーとレーザーは同時に使えません。
敵は1つ進むごとにコースを変えることが出来ますが、必ず隣り合うコースにしか移動しません。
従って3のコースにいたら、次は2、3または4のコースに必ずいます。(コースを変えないこともあります)。
端のコース(0または5のコース)にいる場合は0にいたら次は0または1にいます。
敵の破壊に成功したらそのメッセージを出します。
外れたら敵との距離を表示してレーザーの方向入力を待つようにし、距離が0になったらプレーヤーの負けを表示します。
ゲームは5回戦まであり、敵のスピードはだんだんと速くなっていきます。
乱数の種(seed)はキーボードから適当な数字を入力してもらうようにします。
↓↓クリックして頂けると励みになります。