簡易的な戦闘プログラム

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
Kenta

簡易的な戦闘プログラム

#1

投稿記事 by Kenta » 3年前

簡易的な戦闘プログラムをc言語を用いて以下のように実装したいです。

>./a.exe
モンスターが現れた
モンスターの体力:100
プレイヤーの体力:100
実行するコマンドを入力してください(1:攻撃,2:逃げる):1
プレイヤーの攻撃:10のダメージ
モンスターの攻撃:20のダメージ
モンスターの体力:90
プレイヤーの体力:80
実行するコマンドを入力してください(1:攻撃,2:逃げる):2
モンスターから逃げました
新たなモンスターと戦闘しますか(1:はい,2:いいえ):2
プログラム終了


・モンスターの体力は50~100の乱数で、プレイヤーの体力は100に設定。
・攻撃は10~30の乱数。
・攻撃か逃げるかは1と2で選択できるする。
・勝ち負けが表示できる。
・戦闘に勝利した時、逃げたときは新たなモンスターと戦闘するか聞く。

プログラムの終了条件は以下です。
・プレイヤーの体力が0
・新たなモンスターと戦闘しないとき

よろしくお願いします。

参照魚
記事: 109
登録日時: 6年前

Re: 簡易的な戦闘プログラム

#2

投稿記事 by 参照魚 » 3年前

コマンドウインドウ上の逐次実行での作りになります。DXLib上のゲームループに置き換えるにはかなり工夫が必要になります。

コード:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){

	int	hitpoint_monster;
	int	hitpoint_player;

	int	damage_monster;
	int	damage_player;

	int	command;

	srand( time( NULL ) );

	while ( 1 ) {
		printf( "モンスターが現れた\n" );

		hitpoint_monster = rand()%50 + 50;			// モンスターの体力は50-100の乱数
		hitpoint_player  = 100;						// プレイヤーの体力は100に設定。

		printf( "モンスターの体力:%d\n", hitpoint_monster );
		printf( "プレイヤーの体力:%d\n", hitpoint_player );

		while ( 1 ) {
			// 攻撃か逃げるかは1と2で選択できる
			printf( "実行するコマンドを入力してください(1:攻撃,2:逃げる):" );
			scanf( "%d", &command );

			if ( command == 2 ) {
				printf( "モンスターから逃げました\n" );
				break;
			}

			// 攻撃は10-30の乱数
			damage_monster = rand()%20+10;
			damage_player  = rand()%20+10;

			printf( "プレイヤーの攻撃:%dのダメージ\n", damage_player );
			printf( "モンスターの攻撃:%dのダメージ\n", damage_monster );

			hitpoint_monster -= damage_monster;
			hitpoint_player  -= damage_player;

			printf( "モンスターの体力:%d\n", hitpoint_monster );
			printf( "プレイヤーの体力:%d\n", hitpoint_player );

			// 勝ち負けが表示できる。
			if ( hitpoint_player  <= 0 ||
				 hitpoint_monster <= 0 ) {
				break;
			}
		}

		// プログラムの終了条件:プレイヤーの体力が0
		if ( hitpoint_player <= 0 ) {
			break;
		}

		// 戦闘に勝利した時、逃げたときは新たなモンスターと戦闘するか聞く。
		printf( "新たなモンスターと戦闘しますか(1:はい,2:いいえ):" );
		scanf( "%d", &command );

		// プログラムの終了条件:新たなモンスターと戦闘しないとき
		if ( command == 2 ) {
			break;
		}
	}

	return 0;
}

アバター
みけCAT
記事: 6734
登録日時: 13年前
住所: 千葉県
連絡を取る:

Re: 簡易的な戦闘プログラム

#3

投稿記事 by みけCAT » 3年前

Kenta さんが書きました:
3年前
簡易的な戦闘プログラムをc言語を用いて以下のように実装したいです。
実装すればいいでしょう。

なお、この掲示板は質問用です。
日記が書きたいのであれば、掲示板ではなく日記に投稿することをおすすめします。
(日記は、ユーザー登録してログインしていただけると使えます)
Kenta さんが書きました:
3年前
よろしくお願いします。
何をお願いするのですか?
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

返信

“C言語何でも質問掲示板” へ戻る