<stdio.h>
<string.h>
<windows.h>
<string>
<iostream>
<stdlib.h>
<time.h>
char x = 66;
char y = 66;
char x2 = 19;
char z = 1;
char q = 1;
char y2 = 19;
char menu = 1;
char menu2 = 1;
char shop = 1;
int money = 100;
char item;
int MENU;
int MENU2;
char SHOP;
int yakusou = 0;
int kimera = 0;
int HP = 15;
int ATK = 5;
int DEF = 5;
int EXP = 0;
int LV = 1;
int enemyHP = 3;
int enemyATK = 7;
int enemyDEF = 4;
int battle;
int battle2;
int battle3;
int nigeru;
int s = 0;
int i = 5;
int s2 = 0;
using namespace std;
int main() {
//フィールドマップ
char str[1000];
string map;
map = "MwwwwwwwwwwwwT\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\n";
map[x] = 'A';
strcpy(str, map.c_str());
printf("%s\n", str);
//町マップ
char str2[1000];
string map2;
map2 = "EEEEEEE\nEllSllE\nElllllE\nEEEoEEE\n";
char up = 0;
char left = 0;
char right = 0;
char down = 0;
while (1) {
//フィールド用処理
while (z == 1) {
//フィールドメニュー
if (GetAsyncKeyState(VK_ESCAPE) & 0x8000)
{
Sleep(300);
system("cls");
printf("メニュー\n\n");
printf("1 持ち物\n2 ステータス\n3 とじる\n\nどれを開きますか? >");
Sleep(300);
scanf("%d", &MENU);
//持ち物
if (MENU == 1) {
system("cls");
if (yakusou == 0 && kimera == 0) { printf("持ち物はありません"); }
if (yakusou != 0) { printf("1 薬草x%d\n", yakusou); }
if (kimera != 0) { printf("2 キメラのつばさx%d\n", kimera); }
if (yakusou != 0 || kimera != 0) {
printf("3 なにもつかわない\n\n");
printf("なにをつかいますか? >");
Sleep(300);
scanf("%d", &i);
if (i == 1 && yakusou != 0) {
HP = HP + 10;
yakusou = yakusou - 1;
while (getchar() != '\n');
printf("HPが かいふくした\n");
if (LV == 1 && HP > 15) { HP = 15; }
if (LV == 2 && HP > 17) { HP = 17; }
if (LV == 3 && HP > 20) { HP = 20; }
i = 0;
}
if (i == 2 && kimera != 0) { while (getchar() != '\n'); printf("いまはつかえない"); i = 0; }
if (i == 3) {
while (getchar() != '\n'); printf(" ");
i = 0;
}
}MENU = 0;
}
//ステータス
if (MENU == 2) {
system("cls");
printf("HP %d\n", HP);
printf("ATK %d\n", ATK);
printf("DEF %d\n", DEF);
printf("EXP %d\n", EXP);
printf("LV %d\n\n", LV);
printf("%dG", money);
MENU = 0;
}
//とじる
if (MENU == 3) {
system("cls");
printf("DELETEを押してください");
MENU = 0;
}
menu++;
}
if (menu == 2) {
if (GetAsyncKeyState(VK_DELETE) & 0x8000)
{
Sleep(300);
system("cls");
strcpy(str, map.c_str());
printf("%s\n", str);
menu = menu - 1;
}
}
//フィールド移動
if (GetAsyncKeyState(VK_UP) & 0x8000)
{
//戦闘
srand((unsigned)time(NULL));
battle = rand() % 9 + 1;
if (battle == 1) {
s++;
s2++;
system("cls");
printf("敵が現れた\n\n\n");
printf(" i⌒i\n");
printf(" | |\n");
printf(" ,,r’‘ヽ\n");
printf(" r‐” ヽ、\n");
printf(" / \\n");
printf(" / ( ・ )( ・ ) ヽ\n");
printf(" | ,-、 ,-、 |\n");
printf(" ヽ ヽ、  ̄ ̄ ノ /\n");
printf(" `-、 ` ̄ ̄´ /\n");
printf("  ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
printf("\n1 戦う\n2 逃げる\n\nどちらにしますか? >");
Sleep(300);
scanf("%d", &battle2);
if (battle2 == 1) {
//バトル処理
do {
system("cls");
printf(" i⌒i\n");
printf(" | |\n");
printf(" ,,r’‘ヽ\n");
printf(" r‐” ヽ、\n");
printf(" / \\n");
printf(" / ( ・ )( ・ ) ヽ\n");
printf(" | ,-、 ,-、 |\n");
printf(" ヽ ヽ、  ̄ ̄ ノ /\n");
printf(" `-、 ` ̄ ̄´ /\n");
printf("  ̄ ̄ ̄ ̄ ̄ ̄ ̄\n");
printf("自分 HP%d\n", HP);
printf("1 こうげき\n2 アイテム\n3 にげる\n\n");
printf("どうしますか? >");
Sleep(300);
scanf("%d", &battle3);
if (battle3 == 1) {
enemyHP = enemyHP - (ATK - enemyDEF);
system("cls");
while (getchar() != '\n');
printf("%dのダメージをあたえた\n", ATK - enemyDEF);
if (enemyHP < 1) {
s2 = s2 - 1;
}battle3 = 0;
}
if (battle3 == 2) {
system("cls");
while (getchar() != '\n');
if (yakusou == 0 && kimera == 0) { printf("持ち物はありません"); }
if (yakusou != 0) { printf("1 薬草x%d\n", yakusou); }
if (kimera != 0) { printf("2 キメラのつばさx%d\n", kimera); }
if (yakusou != 0 || kimera != 0) {
printf("3 なにもつかわない\n\n");
printf("なにをつかいますか? >");
Sleep(300);
scanf("%d", &i);
if (i == 1 && yakusou != 0) {
HP = HP + 10;
yakusou = yakusou - 1;
while (getchar() != '\n');
printf("HPが かいふくした\n");
if (LV == 1 && HP > 15) { HP = 15; }
if (LV == 2 && HP > 17) { HP = 17; }
if (LV == 3 && HP > 20) { HP = 20; }
i = 0;
}
if (i == 2 && kimera != 0) { while (getchar() != '\n'); printf("いまはつかえない"); i = 0; }
if (i == 3) {
while (getchar() != '\n'); printf(" "); i = 0;
}
}
battle3 = 0;
}
if (battle3 == 3) {
srand((unsigned)time(NULL));
nigeru = rand() % 2 + 1;
if (nigeru != 1) { s = s - 1; }
battle3 = 0;
}
//敵の攻撃
if (s2 == 1) {
HP = HP - (enemyATK - DEF+3) ;
Sleep(1000);
while (getchar() != '\n');
printf("%dのダメージを受けた", enemyATK - DEF+3);
while (getchar() != '\n');
if (HP < 1) {
while (getchar() != '\n');
printf("ゲームオーバー");
while (getchar() != '\n'); abort();
}
}
if (s2 == 0) {
Sleep(1000);
while (getchar() != '\n');
printf("勝利\n");
printf("2のけいけんちをえた");
while (getchar() != '\n');
EXP = EXP + 2;
if (LV == 1 && EXP > 2) {
LV++; ATK++; DEF++; HP = HP + 2;
while (getchar() != '\n');
printf("レベルアップ!\nこうげき が 1 あがった\n");
printf("ぼうぎょ が 1 あがった\n");
printf("たいりょく が 2 あがった\n");
}
if (LV == 2 && EXP > 5) {
LV++; ATK = ATK + 2; DEF = DEF + 3; HP = HP + 3;
while (getchar() != '\n');
printf("レベルアップ!\nこうげき が 2 あがった\n");
printf("ぼうぎょ が 3 あがった\n");
printf("たいりょく が 3 あがった\n");
}
s = s - 1;
}
} while (s == 1);
enemyHP = 3;
//フィールドに戻る
system("cls");
strcpy(str, map.c_str());
printf("%s\n", str);
battle2 = 0;
}
if (battle2 == 2) {
srand((unsigned)time(NULL));
nigeru = rand() % 2 + 1;
if (nigeru != 1) {
//フィールドに戻る
system("cls");
strcpy(str, map.c_str());
printf("%s\n", str);
}
if (nigeru == 1) {
system("cls");
while (getchar() != '\n'); printf("逃げられなかった");
//バトル処理
}
battle2 = 0;
}
}
//戦闘終了
y = y + 15;
system("cls");
x = x - 15;
map[x] = 'A';
strcpy(str, map.c_str());
printf("%s\n", str);
system("cls");
y = x + 15;
map[y] = 'w';
strcpy(str, map.c_str());
printf("%s\n", str);
Sleep(200);
}
if (GetAsyncKeyState(VK_LEFT) & 0x8000)
{
y = y + 1;
system("cls");
x = x - 1;
map[x] = 'A';
strcpy(str, map.c_str());
printf("%s\n", str);
system("cls");
y = x + 1;
map[y] = 'w';
strcpy(str, map.c_str());
printf("%s\n", str);
Sleep(200);
}
if (GetAsyncKeyState(VK_DOWN) & 0x8000)
{
y = y - 15;
system("cls");
x = x + 15;
map[x] = 'A';
strcpy(str, map.c_str());
printf("%s\n", str);
system("cls");
y = x - 15;
map[y] = 'w';
strcpy(str, map.c_str());
printf("%s\n", str);
Sleep(200);
}
if (GetAsyncKeyState(VK_RIGHT) & 0x8000)
{
y = y - 1;
system("cls");
x = x + 1;
map[x] = 'A';
strcpy(str, map.c_str());
printf("%s\n", str);
system("cls");
y = x - 1;
map[y] = 'w';
strcpy(str, map.c_str());
printf("%s\n", str);
Sleep(200);
}
if (x == 0 || x == 15 || x == 30 || x == 45 || x == 60 || x == 75 || x == 90 || x == 105 || x == 120)
{
system("cls");
x = x + 1;
map[x] = 'A';
map[x - 1] = 'M';
strcpy(str, map.c_str());
printf("%s\n", str);
printf("山へは入れない");
Sleep(1000);
system("cls");
printf("%s\n", str);
}
if (x == 13)
{
z++;
x = x + 15;
map[13] = 'T';
}
}
//町用処理
while (z == 2) {
//町メニュー
if (GetAsyncKeyState(VK_ESCAPE) & 0x8000)
{
Sleep(300);
system("cls");
printf("メニュー\n\n");
printf("1 持ち物\n2 ステータス\n3 とじる\n\nどれを開きますか? >");
Sleep(300);
scanf("%d", &MENU2);
//持ち物
if (MENU2 == 1) {
system("cls");
if (yakusou == 0 && kimera == 0) { printf("持ち物はありません"); }
if (yakusou != 0) { printf("1 薬草x%d\n", yakusou); }
if (kimera != 0) { printf("2 キメラのつばさx%d\n", kimera); }
if (yakusou != 0 || kimera != 0) {
printf("3 なにもつかわない\n\n");
printf("なにをつかいますか? >");
Sleep(300);
scanf("%d", &i);
if (i == 1 && yakusou != 0) {
HP = HP + 10;
yakusou = yakusou - 1;
while (getchar() != '\n');
printf("HPが かいふくした\n");
if (LV == 1 && HP > 15) { HP = 15; }
if (LV == 2 && HP > 17) { HP = 17; }
if (LV == 3 && HP > 20) { HP = 20; }
i = 0;
}
if (i == 2 && kimera != 0) { while (getchar() != '\n'); printf("いまはつかえない"); i = 0; }
if (i == 3) {
while (getchar() != '\n'); printf(" "); i = 0;
}
}
MENU2 = 0;
}
//ステータス
if (MENU2 == 2) {
system("cls");
printf("HP %d\n", HP);
printf("ATK %d\n", ATK);
printf("DEF %d\n", DEF);
printf("EXP %d\n", EXP);
printf("LV %d\n\n", LV);
printf("%dG", money);
MENU2 = 0;
}
//とじる
if (MENU2 == 3) {
Sleep(300);
system("cls");
printf("DELETEを押してください");
MENU2 = 0;
}
menu2 = menu2 + 1;
}
if (menu2 > 1) {
if (GetAsyncKeyState(VK_DELETE) & 0x8000)
{
Sleep(300);
system("cls");
strcpy(str2, map2.c_str());
printf("%s\n", str2);
menu = menu - 1;
}
}
if (q == 1) {
system("cls");
map2[x2] = 'A';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
q = q + 1;
}
//町での移動
if (x2 != 19 && x2 != 9 && x2 != 10 && x2 != 12 && x2 != 13) {
if (GetAsyncKeyState(VK_UP) & 0x8000)
{
y2 = y2 + 8;
system("cls");
x2 = x2 - 8;
map2[x2] = 'A';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
system("cls");
y2 = x2 + 8;
map2[y2] = 'l';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
Sleep(200);
};
}
if (x2 != 9 && x2 != 17 && x2 != 12) {
if (GetAsyncKeyState(VK_LEFT) & 0x8000)
{
y2 = y2 + 1;
system("cls");
x2 = x2 - 1;
map2[x2] = 'A';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
system("cls");
y2 = x2 + 1;
map2[y2] = 'l';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
Sleep(200);
};
}
if (x2 != 17 && x2 != 18 && x2 != 20 && x2 != 21) {
if (GetAsyncKeyState(VK_DOWN) & 0x8000)
{
y2 = y2 - 7;
system("cls");
x2 = x2 + 8;
map2[x2] = 'A';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
system("cls");
y2 = x2 - 8;
map2[y2] = 'l';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
Sleep(200);
};
}
if (x2 != 10 && x2 != 13 && x2 != 21) {
if (GetAsyncKeyState(VK_RIGHT) & 0x8000)
{
y2 = y2 - 1;
system("cls");
x2 = x2 + 1;
map2[x2] = 'A';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
system("cls");
y2 = x2 - 1;
map2[y2] = 'l';
strcpy(str2, map2.c_str());
printf("%s\n", str2);
Sleep(200);
};
}
if (x2 == 27) {
z = z - 1;
q = q - 1;
system("cls");
map[x] = 'A';
strcpy(str, map.c_str());
printf("%s\n", str);
x2 = x2 - 8;
strcpy(str2, map2.c_str());
map2[27] = 'o';
}
//買い物
if (x2 == 19 && GetAsyncKeyState(VK_RETURN) & 0x8000 && shop == 1)
{
Sleep(500);
system("cls");
printf("道具屋\n\n1 薬草 5G\n2 キメラのつばさ 15G\n3 用はない\n\n何を買いますか? >");
Sleep(300);
scanf("%d", &SHOP);
if (SHOP == 1 && money > 5) {
yakusou++;
money = money - 5;
system("cls");
while (getchar() != '\n');
printf("薬草を買いました\n残りの所持金は%dGです", money);
while (getchar() != '\n');
Sleep(900);
system("cls");
strcpy(str2, map2.c_str());
printf("%s\n", str2);
shop = shop - 1;
SHOP = 0;
}
if (SHOP == 2 && money > 15) {
kimera++;
money = money - 15;
system("cls");
while (getchar() != '\n');
printf("キメラの翼を買いました\n残りの所持金は%dGです", money);
while (getchar() != '\n');
Sleep(900);
system("cls");
strcpy(str2, map2.c_str());
printf("%s\n", str2);
shop = shop - 1;
SHOP = 0;
}
shop = shop + 1;
}
if (shop == 2) {
if (GetAsyncKeyState(VK_DELETE) & 0x8000)
{
Sleep(300);
system("cls");
strcpy(str2, map2.c_str());
printf("%s\n", str2);
shop = shop - 1;
}
}
}
}
}
@wikiへようこそ
- ウィキはみんなで気軽にホームページ編集できるツールです。
- このページは自由に編集することができます。
- メールで送られてきたパスワードを用いてログインすることで、各種変更(サイト名、トップページ、メンバー管理、サイドページ、デザイン、ページ管理、等)することができます
まずはこちらをご覧ください。
分からないことは?
等をご活用ください
その他にもいろいろな機能満載!!
他のWIKIが気になる方はこちら
バグ・不具合を見つけたら? 要望がある場合は?
最終更新:2017年11月28日 07:36