アットウィキロゴ

CPP完成

<stdio.h>
<string.h>
<windows.h>
<string>
<iostream>
<stdlib.h>
<time.h>




char x = 66;
char y = 66;
char x2=19;
char x3 = 11;
char z = 1;
char q=1;
char w = 1;
char y2 = 19;
char y3 = 11;
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;
int MENU3;
int menu3 = 1;
int bossHP = 10;
int bossATK = 17;
int bossDEF = 6;
int last = 0;











using namespace std;


int main() {


       //フィールドマップ


       char str[1000];


       string map;


       map = "MwwwwwwwwwwwwT\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMwwwwwwwwwwwww\nMCwwwwwwwwwwww\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 str3[1000];


string map3;


map3=
"EEEoEEE\nElllllE\nEllBllE\nEEEEEEE\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+3 - DEF);
                                                                               Sleep(1000);


                                                                               while (getchar() != '\n');
                                                                               printf("%dのダメージを受けた", enemyATK+3 - DEF);
                                                                               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';
                                       }

								if (x ==121 )
									{
										z = z + 2;
										x = x - 15;
										map[121] = 'C';
									}



                               }


                               //町用処理
                               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&&MENU2==0)
                                       {
                                               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");
                                                       printf("薬草を買いました\n残りの所持金は%dGです", money);
                                                       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");
                                                       printf("キメラの翼を買いました\n残りの所持金は%dGです", money);
                                                       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;




                                               }
                                       }


















                               }
			//城用処理
				while (z == 3){
				



					//城メニュー
					if (GetAsyncKeyState(VK_ESCAPE) & 0x8000)
						{
						last++;
						Sleep(300);
						system("cls");
						printf("メニュー\n\n");
						printf("1 持ち物\n2 ステータス\n3 とじる\n\nどれを開きますか? >");
						Sleep(300);
						scanf("%d", &MENU3);
						//持ち物
						if (MENU3 == 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;
								}
							}
							MENU3 = 0;
						}
						//ステータス
						if (MENU3 == 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);
							MENU3 = 0;
						}
						//とじる


						if (MENU3 == 3) {
							Sleep(300);
							system("cls");
							printf("DELETEを押してください");
							MENU3 = 0;
						}


						menu3 = menu3 + 1;

						last = last - 1;
					}


					if (menu3 > 1) {


						if (GetAsyncKeyState(VK_DELETE) & 0x8000)
						{
							Sleep(300);
							system("cls");


							strcpy(str3, map3.c_str());
							printf("%s\n", str3);
							menu = menu - 1;




						}
					}






					if (w == 1) {


						system("cls");
						map3[x3] = 'A';
						strcpy(str3, map3.c_str());




						printf("%s\n", str3);
						w = w + 1;
					}


					//城での移動


					if (x3 != 9 && x3 != 10 && x3 != 12 && x3 != 13 ) {


						if (GetAsyncKeyState(VK_UP) & 0x8000)
						{






							y3 = y3 + 8;


							system("cls");
							x3 = x3 - 8;
							map3[x3] = 'A';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							system("cls");
							y3 = x3 + 8;
							map3[y3] = 'l';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							Sleep(200);


						};
					}




					if (x3 != 20 && x3 != 9 && x3 != 17) {


						if (GetAsyncKeyState(VK_LEFT) & 0x8000)


						{


							y3 = y3 + 1;


							system("cls");
							x3 = x3 - 1;
							map3[x3] = 'A';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							system("cls");
							y3 = x3 + 1;
							map3[y3] = 'l';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							Sleep(200);
						};
					}




					if (x3 != 11 && x3 != 17 && x3 != 18 && x3 != 20&&x3!=21) {


						if (GetAsyncKeyState(VK_DOWN) & 0x8000)
						{






							y3 = y3 - 7;


							system("cls");
							x3 = x3 + 8;
							map3[x3] = 'A';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							system("cls");
							y3 = x3 - 8;
							map3[y3] = 'l';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							Sleep(200);


						};
					}




					if (x3 != 13 && x3 != 18 && x3 != 21) {


						if (GetAsyncKeyState(VK_RIGHT) & 0x8000)


						{


							y3 = y3 - 1;


							system("cls");
							x3 = x3 + 1;
							map3[x3] = 'A';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							system("cls");
							y3 = x3 - 1;
							map3[y3] = 'l';
							strcpy(str3, map3.c_str());
							printf("%s\n", str3);


							Sleep(200);
						};
					}
				
					//城からフィールドに戻る
					if (x3 == 3) {
						z = z - 2;
						w = w - 1;


						system("cls");
						map[x] = 'A';
						strcpy(str, map.c_str());
						printf("%s\n", str);
						x3 = x3 + 8;
						strcpy(str3, map3.c_str());
						map3[3] = 'o';
					}

					//ボス戦
					if(x3==11&& GetAsyncKeyState(VK_RETURN) & 0x8000&&last==0){

						while (getchar() != '\n');
						Sleep(300);
						system("cls");
						printf("これが最後の戦いだ");
						
						//ボスAA表示
						


						while (getchar() != '\n');


						do {
							system("cls");
							//ボスAA表示


							printf("自分 HP%d\n", HP);
							printf("1 こうげき\n2 アイテム\n3 にげる\n\n");
							printf("どうしますか? >");


							Sleep(300);
							scanf("%d", &battle3);


							if (battle3 == 1) {
								bossHP = bossHP - (ATK - bossDEF);
								system("cls");
								while (getchar() != '\n');
								printf("%dのダメージをあたえた\n", ATK - bossDEF);
								if (bossHP < 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) {
								while (getchar() != '\n');
								printf("この戦いからは逃げられない");
								while (getchar() != '\n');
							}
							//敵の攻撃


							if (s2 == 1) {
								HP = HP - (bossATK  - DEF);
								Sleep(1000);


								while (getchar() != '\n');
								printf("%dのダメージを受けた", bossATK  - DEF);
								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("ゲームクリア");
								while (getchar() != '\n');
								abort();








								s = s - 1;
							}




						} while (s == 1);
					
					
					
					}
				
				
				
				
				
				
				}






                       }
               }
最終更新:2017年11月28日 10:27