Forum: Hjälp med spelt i nybörjarguiden

Forum huvudsida -> Programmering -> Hjälp med spelt i nybörjarguiden

Sidor: 1

Till botten

Hetappi 19:22 - 18:e Mars 2009 | Post #1
Medlem
Inlägg: 2


Skicka PM
Hej jag har lite problem med spelet i nybörjarguiden.
Problemet är att man inte hinner se om man överlevde eller ej. Programmet hoppar direkt tillbaka till där man ska "Hitta ett monster att slås med" Har testat att sätta in cin.get(); på vissa ställen men jag har ingen erfarenhet av längre kod.

Jag vet att det finns liknande trådar och en FAQ som tar upp problemet men som sagt fattar jag inte och skulle bli väldigt tacksam om någon kan skicka ett ex. så jag kan se med mina egna ögon.

min kod
  1. #include<iostream>
  2. #include<ctime>
  3. #include<string>
  4.  
  5. using std::cout;
  6. using std::cin;
  7. using std::string;
  8. using std::system;
  9. using std::srand;
  10. using std::rand;
  11.  
  12. string NyttSpel();
  13. int Level1(string &sName, int &iHp, int &iDmg_min, int &iDmg_max);
  14.  
  15. int Level1(string &sName, int &iHp, int &iDmg_min, int &iDmg_max)
  16. {
  17. bool bGoLevel1= true;
  18.  
  19. string sCmd;
  20. int iCurrentHp = iHp;
  21.  
  22. int iEType;
  23. int iEHp;
  24. int iEDmg_min;
  25. int iEDmg_max;
  26. string sEName;
  27.  
  28. while (bGoLevel1)
  29. {
  30. srand(time(0));
  31.  
  32. system("cls");
  33.  
  34. cout << "Bana 1nMeny:n-----n[H]itta fiende att slåss medn[A]vsluta speletnVal:n";
  35.  
  36. cin >> sCmd;
  37.  
  38. if (sCmd == "h" || sCmd == "H")
  39. {
  40. iEType = rand() / (RAND_MAX / 3+1) + 1;
  41. if (iEType == 1)
  42. {
  43. sEName = "Giftfluga";
  44. iEHp = 4;
  45. iEDmg_min = 2;
  46. iEDmg_max = 3;
  47. }
  48. else if (iEType == 2)
  49. {
  50. sEName = "huggorm";
  51. iEHp = 5;
  52. iEDmg_min = 1;
  53. iEDmg_max =2;
  54. }
  55. else if (iEType == 3)
  56. {
  57. sEName = "Råtta";
  58. iEHp = 3;
  59. iEDmg_min = 1;
  60. iEDmg_max = 2;
  61. }
  62.  
  63. while (true)
  64. {
  65. cout
  66. << "nSlåss mot fiende:n------------------nDu möter en " << sEName << "!n"
  67. << "Fiendens liv: " << iEHp << "n"
  68. << "Dina liv: " << iCurrentHp << "n"
  69. << "Meny:n-----nSlå i [m]agennSlå i [f]otennSlå i [h]uvudetnVal:n";
  70.  
  71. cin >> sCmd;
  72.  
  73. if (sCmd == "m" ||sCmd == "M")
  74. {
  75. if (iEType == 3)
  76. iEHp+=2;
  77. else if (iEType == 2)
  78. iEHp-=2;
  79. }
  80. else if (sCmd == "f" || sCmd == "F")
  81. {
  82. if (iEType == 1)
  83. iEHp+=1;
  84. else if (iEType == 3)
  85. iHp-=1;
  86. }
  87. else if (sCmd == "h" || sCmd == "H")
  88. {
  89. if (iEType == 2)
  90. iEHp+=1;
  91. else if (iEType == 1)
  92. iEHp-=1;
  93. }
  94.  
  95. iEHp -= rand() / (RAND_MAX / iDmg_max + 1) + iDmg_min;
  96.  
  97. if (iEHp <=0)
  98. {
  99. cout << "Du dödade monstret, bra gjort!n";
  100. iCurrentHp = iHp;
  101. break;
  102. }
  103. else
  104. {
  105. iCurrentHp -= rand() / (RAND_MAX / iEDmg_max + 1) + iEDmg_min;
  106.  
  107. if (iCurrentHp <=0)
  108. {
  109. bGoLevel1 = false;
  110. break;
  111. }
  112. }
  113. }
  114. }
  115. else if (sCmd =="a" || sCmd == "A")
  116. {
  117. return 3;
  118. }
  119. }
  120.  
  121. return 2;
  122. }
  123.  
  124. string NyttSpel()
  125. {
  126. string sTmpName;
  127. system("cls");
  128.  
  129. cout << "Välkomen till spelet-som-jag-rippade-från-blinkenlights!!nSkriv in ditt namn så kan du börja: ";
  130.  
  131. cin >> sTmpName;
  132.  
  133. return sTmpName;
  134. }
  135. int main()
  136. {
  137. string sCmd;
  138. string sName;
  139. bool bGo= true;
  140. int iTmp;
  141.  
  142. int iHp = 10;
  143. int iDmg_min = 2;
  144. int iDmg_max = 5;
  145.  
  146. while (bGo)
  147. {
  148. cout
  149. <<"###################################################n"
  150. <<"# #n"
  151. <<"# Spelet som jag rippade från blinkenlights v1.0 #n"
  152. <<"# #n"
  153. <<"###################################################n"
  154. <<"Huvud meny:n-----------n[N]ytt speln[A]vslutanVal:";
  155.  
  156. cin >> sCmd;
  157.  
  158. if (sCmd == "n" || sCmd == "N")
  159. {
  160. sName = NyttSpel();
  161. iTmp = Level1(sName, iHp, iDmg_min, iDmg_max);
  162.  
  163. if (iTmp == 3)
  164. bGo = false;
  165. if (iTmp == 2)
  166. cout << "Du dog!";
  167.  
  168.  
  169. }
  170. else if (sCmd == "a" || sCmd == "A")
  171. {
  172. break;
  173. }
  174. }
  175.  
  176. return 0;
  177. }


Tack i förhand.





Sidor: 1

Forum huvudsida -> Programmering -> Hjälp med spelt i nybörjarguiden
Atom feed

Du får inte posta i den här tråden | Till toppen