fork(1) download
  1. //DISSIDIA UPEO FINAL FANTASY 3
  2. //DISSIDIA UPEO FINAL FANTASY 3とは?
  3. //DISSIDIA UPEO FINAL FANTASY 2の続編であり、
  4. //DISSIDIA UPEO FINAL FANTASY 2の後の新名たちを描いた物語であり、
  5. //中学で起きた実話を元にして作られています。
  6. //新名サイドの視点の為、実際の事実と異なる場合もあります。
  7. /*
  8. 時間軸:
  9. DISSIDIA UPEO FINAL FANTASY(無印) -- 2009/3 ~ 2009/7
  10. DISSIDIA UPEO FINAL FANTASY 2 -- 2009/3 ~ 2010/1
  11. DISSIDIA UPEO FINAL FANTASY 3 -- 2010/2 ~ 2010/6
  12.  */
  13. //ストーリー・敵の名前などを晒すといろいろとまずいので勘弁してください><
  14. //作成:新名 哲成
  15.  
  16. //標準ライブラリ
  17. #include <stdio.h>
  18. #include <stdlib.h>
  19. #include <string>
  20.  
  21. //関数のプロトタイプ宣言
  22. void Conversation(char[]);
  23. void Battle(int,int);
  24. void Conversation(char[]);
  25. void Lines(int,char[]);
  26.  
  27. char Line1[64];
  28. char Line2[64];
  29.  
  30. typedef struct Member{
  31. int Lv;
  32. char Name[64];
  33. char Job[32];
  34. int HP;
  35. int MP;
  36. int AP;
  37. int GP;
  38. int SpAP;
  39. int SpGP;
  40. int Magic;
  41. };
  42.  
  43. Member Members[100]={
  44. 1,"新名~満足~" ,"中学1年生" , 100, 100, 10, 10, 10, 10,10,
  45. 1,"新名~精神破滅~" ,"中学2年生" , 50, 50, 5, 5, 5, 5, 5,
  46. };
  47.  
  48. /***********************************************************
  49.   Function name : 文字列整形関数
  50.   Syntax : void Conversation(char Words[64])
  51.   Arguments : char Words[64]
  52.   Return : なし
  53.   Version : 1.20
  54.   Date : 2012/2/2
  55.   Author : 新名
  56.   Comment : 64文字未満の文字列の整形表示
  57. ************************************************************/
  58.  
  59. void Conversation(char Words[64]){
  60. /*TranscriptionWords = TrWords*/
  61. char TrWords[64];
  62. int i=0;
  63.  
  64. strcpy(TrWords,Words);
  65.  
  66. do{
  67. ++i;
  68. if(TrWords[i]=='\0'){
  69. for(;i<=62;++i){
  70. TrWords[i]=' ';
  71. }
  72. TrWords[63]='\0';
  73. }
  74. }while(TrWords[i]!='\0');
  75.  
  76. printf("[[%s]]▽",TrWords);
  77. getchar();
  78. }
  79.  
  80. void Battle(int PlayerNum,int EnemyNum){
  81. int i;
  82. int NameSize = strlen(Members[PlayerNum].Name);
  83.  
  84. printf("%sが勝負を仕掛けてきた!!\n",Members[EnemyNum].Name);
  85.  
  86. Lines(NameSize,Line1);
  87. Lines(NameSize,Line2);
  88.  
  89. while(1){
  90. getchar();
  91. system("cls");
  92. printf("-----%sのステータス------ -----%sのステータス-----\n",Members[PlayerNum].Name,Members[EnemyNum].Name);
  93. printf("|レベル :%25d| |レベル :%25d|\n",Members[PlayerNum].Lv,Members[EnemyNum].Lv);
  94. printf("|Job :%25s| |Job :%25s|\n",Members[PlayerNum].Job,Members[EnemyNum].Job);
  95. printf("|HP :%25d| |HP :%25d|\n",Members[PlayerNum].HP,Members[EnemyNum].HP);
  96. printf("|MP :%25d| |MP :%25d|\n",Members[PlayerNum].MP,Members[EnemyNum].HP);
  97. printf("|AP :%25d| |AP :%25d|\n",Members[PlayerNum].AP,Members[EnemyNum].AP);
  98. printf("|GP :%25d| |GP :%25d|\n",Members[PlayerNum].GP,Members[EnemyNum].GP);
  99. printf("|SpAP :%25d| |SpAP :%25d|\n",Members[PlayerNum].SpAP,Members[EnemyNum].SpAP);
  100. printf("|SpGP :%25d| |SpGP :%25d|\n",Members[PlayerNum].SpGP,Members[EnemyNum].SpGP);
  101. printf("-----%s----------------- -----%s--------------------\n",Line1,Line2);
  102. }
  103. }
  104.  
  105. void Lines(int NameSize,char Line[64]){
  106. int i;
  107.  
  108. for(i=0;i<=NameSize;++i)
  109. Line[i]='-';
  110. Line[i+1]='\0';
  111. }
  112.  
  113. /***********************************************************
  114.   Function name : メイン関数
  115.   Syntax : int main(void)
  116.   Arguments : なし
  117.   Return : 0
  118.   Version : 1.00
  119.   Date :
  120.   Author : 新名
  121. ************************************************************/
  122. int main(void)
  123. {
  124. while(1){
  125. int Selection=0;
  126. int i;
  127. int SizeCount;
  128.  
  129. printf("モードを選んでください。\n");
  130. printf("1:ストーリーモード、2:バトルモード\n");
  131. scanf("%d",&Selection);
  132.  
  133. if(Selection==1){
  134.  
  135. }else if(Selection==2){
  136. int PlayerNum=-1;
  137. int EnemyNum=-1;
  138.  
  139. printf("キャラクタを選択してください。\n");
  140.  
  141. for(SizeCount=0;Members[SizeCount].Lv!=0;++SizeCount);
  142.  
  143. for(i=0;i<SizeCount;++i){
  144. printf("%d:%s\n",i,Members[i].Name);
  145. }
  146.  
  147.  
  148. while(PlayerNum==-1){
  149. printf(">");
  150. scanf("%d",&PlayerNum);
  151. }
  152. system("cls");
  153.  
  154. printf("敵キャラクタを選択してください。\n");
  155.  
  156. for(i=0;i<SizeCount;++i){
  157. if(i != PlayerNum)
  158. printf("%d:%s\n",i,Members[i].Name);
  159. }
  160.  
  161. while(EnemyNum==-1){
  162. printf(">");
  163. scanf("%d",&EnemyNum);
  164. }
  165.  
  166. system("cls");
  167.  
  168. Battle(PlayerNum,EnemyNum);
  169. }
  170. }
  171. return 0;
  172. }
  173.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:41: warning: ‘typedef’ was ignored in this declaration
prog.cpp:46: warning: missing braces around initializer for ‘Member’
prog.cpp:46: warning: missing braces around initializer for ‘Member’
prog.cpp: In function ‘void Conversation(char*)’:
prog.cpp:64: error: ‘strcpy’ was not declared in this scope
prog.cpp: In function ‘void Battle(int, int)’:
prog.cpp:82: error: ‘strlen’ was not declared in this scope
prog.cpp:81: warning: unused variable ‘i’
prog.cpp:91: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result
prog.cpp: In function ‘int main()’:
prog.cpp:131: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
prog.cpp:150: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
prog.cpp:152: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result
prog.cpp:163: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result
prog.cpp:166: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result
stdout
Standard output is empty