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

int main(void)
{
 unsigned int jikoku;

 jikoku =(unsigned int) time(NULL);

 srand(jikoku);

 
 //pはプレイヤー maはモンスター
 int pHP,msHP,pMP,msMP,MAXHP,MAXMP,A,pd,msd,pmp;
 pHP,msHP,pMP,msMP,MAXHP,MAXMP,A,pd,msd,pmp= rand()%50;
 pHP=0,msHP=0,pMP=0,msMP=0,MAXHP=0,MAXMP=0,A=0,pd=0,msd=0,pmp=0;

 //プレイヤーHP処理

 pHP =100;
 pMP =100;
 msHP =100;
 

 //モンスターHP処理
   

   msHP = 100;      // 乱数を得て、整数型の変数 pHP に代入する
 

 printf("ここはレムリース地方のとある町である\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls"); 
 printf("時代はムード星歴1800年代\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls"); 
 printf("蒸気機関車などがこのローデシア王国にやっと導入されかけてる時代である\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls"); 
 printf("ここはキャンプスチーラム、村人は昔からの風習に従い暮らしている\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls");
 printf("彼女の名前はロズンダ・メスリ\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls");
 printf("今日は彼女の成人式だ、クリスタルから光が消え闇が漂うこの時代、彼女の冒険は成人式から始まる\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls");
 printf("今はまだ己の運命を知らぬものだが\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls");
 printf("森の奥へロズンダは進んでいた\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls");
 printf("こっちでいいのかな ロズンダはそう独り言をつぶやきながらすすんだ\n");
 printf("[Enter]で次へ進む");
  rewind(stdin);
  getchar();
  system("cls");
 printf("そこにシャロス・ラバンが現れこういった 成人式の始まりだこいつを倒せるかな\n");

  printf("ボムが現れた!!\n");
  printf("[Enter]で次へ進む\n");

  rewind(stdin);
  getchar();
  
  
 MAXHP=pHP; 

 printf("貴方のHPは%d\/%d\n",pHP,MAXHP);

 
 MAXMP=pMP;

 printf("貴方のMPは%d\/%d\n",pMP,MAXMP);

  rewind(stdin);
  getchar();
  

  //画面クリア
  system("cls"); 
 
  //戦闘開始
 while(1)
 {
 //画面クリア
  system("cls");

  //選択肢入力
  printf("①通常攻撃②防御③魔法④逃げる\n");
  printf("選択したい番号を数字で1文字入力しその後[Enter]を押してください");
  scanf("%d" , &A);

  //画面クリア
  system("cls");

  switch(A)
  {

  case 1:

  printf("case1\n" );
  printf("%d" ,A);

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);
  printf("\n");
  
  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();

  system("cls"); 


    {   

   pd = rand()%50;      // 乱数を得て、整数型の変数 pHP に代入する
 }
  msHP -=pd;
  printf("プレイヤーの攻撃");
  printf("モンスターに%dのダメージ!!\n",pd);
  printf("\n");

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
  

    { 

   msd = rand()%30;      // 乱数を得て、整数型の変数 pHP に代入する
 
 }
  pHP -= msd;
  printf("モンスターの攻撃!!\n");
  printf("プレイヤーに%dダメージ!!\n",msd);

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
  
 

  printf("(Ctrl+C で終了します。戦闘を続ける場合はEnterを押してください");
  
  if (msHP<= 0)printf("win\n");
  if (msHP <= 0)return 0 ;
  if (pHP <= 0)printf("game over\n");
  if (pHP <= 0)return 0 ;
  break;

  case 2:
  
  printf("case2\n");
  printf("%d" ,A);

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("\n");

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
 
    { 

  msd = rand()%30;      // 乱数を得て、整数型の変数 pHP に代入する
 
 }
  pHP -= msd/2;
  printf("モンスターの攻撃!!\n");
  printf("プレイヤーに%dダメージ!!\n",msd);
  printf("\n");

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
  

  printf("(Ctrl+C で終了します。戦闘を続ける場合は[Enter]を押してください");
  
  if (msHP<= 0)printf("win \n");
  if (msHP <= 0)return 0 ;
  if (pHP <= 0)printf("game over \n");
  if (pHP <= 0)return 0 ;
  break;

  case 3:

  printf("case3\n");

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
  
  if(pMP <= 0)
  { printf("MPが足りません");

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
  
  break;
  }
  else{

   //プレイヤーMP処理
  
    { 
   pmp = rand()%30;      // 乱数を得て、整数型の変数 pHP に代入する
 
 }
  pMP -= pmp;

  //プレイヤー攻撃処理

    {   

   pd = rand()%50;      // 乱数を得て、整数型の変数 pHP に代入する
 
 }
  msHP -= pd;

  printf("プレイヤーは魔法を唱えた");
  printf("モンスターに%dダメージ!!\n",pd);

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
  

  //プレイヤーダメージ処理

    { 
   msd = rand()%30;      // 乱数を得て、整数型の変数 pHP に代入する
 
 }
  pHP -= msd;
  printf("モンスターの攻撃\n");
  printf("プレイヤーは%dダメージくらった\n",msd);

  printf("プレイヤーのHP:%d\/%d\n" ,pHP,MAXHP);
  printf("プレイヤーのMP:%d\/%d\n", pMP,MAXMP);
  printf("モンスターのHP:%d\/%d\n", msHP,MAXHP);

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 
  
  //MPランダム減少処理
  
  if (msHP<= 0){printf("win\n");
  return 0 ;
  }
  if (pHP <= 0){printf("\ngame over\n");
  return 0 ;
  }
  }
  

  break;

  case 4:
  printf("重要な戦いだ逃げれはしない\n");

  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 


  break;

  default : printf("選択しを正しく入力してください\n");
  
  printf("[Enter]でを押してください\n");
  rewind(stdin);
  getchar();
  system("cls"); 


  break;
 }
 }
 }
 //copyright (C) 2014 Crystal Allianve All Rights Reserved