Forum: C++ Spelet version roligare

Forum huvudsida -> Programmering -> C++ Spelet version roligare

Sidor: 1

Till botten

SaNz 16:13 - 14:e September 2007 | Post #1
Medlem
Inlägg: 77


Skicka PM
Tjenatjena!

Gör som sagt C++ spelet i Nybörjarguiden lite roligare med levels och olika banor.
Men jag har stött på ett problem, jag kan inte komma till bana två när man ska komma dit, alltså efter att man har blivit level 2! Försökte med goto, men visade sig att man måste ha destinationen över själva goto satsen...
Så snälla hjälp, om ni behöver kod säg till!

-------------------------
Det är helheten som räknas... Så skit inte i hälften!



FunkyChicken 20:24 - 14:e September 2007 | Post #2
Nyhetsredaktör
Inlägg: 800


Skicka PM
till




jockepockee 22:17 - 14:e September 2007 | Post #3
Medlem
Inlägg: 192


Skicka PM
lol?

-------------------------





Python 11:25 - 15:e September 2007 | Post #4
Medlem
Inlägg: 157


Skicka PM
Visa koden då blir det lättare för alla att svara

-------------------------
-------------------------



jockepockee 18:35 - 15:e September 2007 | Post #5
Medlem
Inlägg: 192


Skicka PM
ja det vore ju en fördel...

-------------------------



Senast redigerad 18:35 - 15:e September 2007


SaNz 19:55 - 15:e September 2007 | Post #6
Medlem
Inlägg: 77


Skicka PM
Det bliv riktigt buggat! Fick iaf med det som jag ville ha med!
Det jag var rädd för är att koden blir för lång
och jag har nu löst problemet! MEN en sak fungerar inte riktigt som jag vill nu... Om man har dödat ett monster förut möter den igen, så har det monstret så mkt hp som: -blabla alltså minus det man skadade på den fienden när man dödade den! ,,r ganska störandeSmiley
Och nu kommer också koden, men gnäll inte på att den är typ precis exakt som Indys plix... (Jag VET att det är jobbigt för er att int variablerna ligger på samma rad...
  1. int bla, bla, bla
)
  1. #include <iostream>
  2. #include <ctime>
  3. #include <windows.h>
  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.  
  14. int Level1(string &sName, int &iHp, int &iDmg_min, int &iDmg_max);
  15.  
  16. int Level1(string &sName, int &iHp, int &iDmg_min, int &iDmg_max)
  17. {
  18. srand(time(0));
  19. bool bGoLevel1= true;
  20.  
  21. string sCmd;
  22. int iCurrentHp = iHp;
  23.  
  24. int Bana = 1;
  25. int Lvl = 1;
  26. int GetXp;
  27. int MaxXp = 200;
  28. int XP = 0;
  29. int EType;
  30. int iEHp;
  31. int iEDmg_min;
  32. int iEDmg_max;
  33. string sEName;
  34.  
  35. while (bGoLevel1)
  36. {
  37. system("cls");
  38.  
  39. cout << "Välkommen till bana 1!nMeny:n-----n[H]itta fiende att slåss medn[A]vsluta speletnVal:n";
  40.  
  41. cin >> sCmd;
  42.  
  43. if (sCmd == "a" || sCmd == "A")
  44. {
  45. return 3;
  46. }
  47.  
  48. if (sCmd == "h" || sCmd == "H")
  49. {
  50. if (Bana = 1)
  51. {
  52. EType = rand() / (RAND_MAX / 3 + 1) + 1;
  53. if (EType == 1)
  54. {
  55. sEName = "Kamelbulle";
  56. iEHp = 2358;
  57. iEDmg_min = 300;
  58. iEDmg_max = 460;
  59. GetXp = 200;
  60. }
  61. else if (EType == 2)
  62. {
  63. sEName = "JockeG";
  64. iEHp = 2500;
  65. iEDmg_min = 400;
  66. iEDmg_max = 488;
  67. GetXp = 200;
  68. }
  69. else if (EType == 3)
  70. {
  71. sEName = "Purseman";
  72. iEHp = 2;
  73. iEDmg_min = 1;
  74. iEDmg_max = 1;
  75. GetXp = 200;
  76. }
  77. }
  78.  
  79. while (true)
  80. {
  81. cout
  82. << "nSlåss mot fiende:n------------------nDu möter en " << sEName << "!n"
  83. << "Fiendens liv: " << iEHp << "n"
  84. << "Dina liv: " << iCurrentHp << "n"
  85. << "Meny:n-----nSlå i [M]agennSla i [F]otennSla i [H]uvudetnVal:n";
  86.  
  87. cin >> sCmd;
  88. if (sCmd == "m" || sCmd == "M")
  89. {
  90. if (EType == 3)
  91. iEHp+=2;
  92. else if (EType == 2)
  93. iEHp-=2;
  94. }
  95. else if (sCmd == "f" || sCmd == "F")
  96. {
  97. if (EType == 1)
  98. iEHp+=1;
  99. else if (EType == 3)
  100. iEHp-=1;
  101. }
  102. else if (sCmd == "h" || sCmd == "H")
  103. {
  104. if (EType == 2)
  105. iEHp+=1;
  106. else if (EType == 1)
  107. iEHp-=1;
  108. }
  109. system("cls");
  110.  
  111.  
  112. iEHp -= rand() / (RAND_MAX / iDmg_max + 1) + iDmg_min;
  113. if (iEHp <= 0)
  114. {
  115. cout << " Du dodade monstret, bra gjort!n";
  116. if (XP < MaxXp)
  117. {
  118. XP = XP + GetXp;
  119. cout << "Du ager, mkt xp kvar till ding haha!n";
  120. cout << "Du har: " << XP << "/" << MaxXp;
  121. }
  122. Sleep(2000);
  123. system("cls");
  124.  
  125. if (XP >= MaxXp)
  126. {
  127. iHp = iHp + 100;
  128. XP = XP - MaxXp;
  129. Lvl = Lvl + 1;
  130. MaxXp = MaxXp + 100;
  131. cout << "DU DINGA LEVEL " << Lvl << ", Grattis!n";
  132. cout << "Du fick också 100 mer HP! Gz Mon!n";
  133. cout << "Du har nu: " << iHp << " hp!n";
  134.  
  135. Sleep(3000);
  136. system("cls");
  137. if (Bana = 1)
  138. {
  139. cout << "Välkommen till bana 2!n"
  140. << "Bana 2 är mitt ute i Staden! Passa dig!n";
  141. Bana = Bana + 1;
  142. }
  143. }
  144.  
  145. cout << "Vill du fortsatta?n[J] [N] ";
  146. cin >> sCmd;
  147.  
  148. if (sCmd == "J" || sCmd == "j")
  149. {
  150. system("cls");
  151. }
  152. if (Bana = 2)
  153. {
  154. cout << "Välkommen till bana 2!nMeny:n-----n[H]itta fiende"
  155. << "att slåss medn[A]vsluta speletnVal:n";
  156. }
  157. cin >> sCmd;
  158. if (sCmd == "a" || sCmd == "A")
  159. {
  160.  
  161.  
  162. else if (sCmd == "N" || sCmd == "n")
  163. {
  164. return 3;
  165. }
  166.  
  167. cin.get();
  168. cin.ignore(1, ''n'');
  169. }
  170. else
  171. {
  172. iCurrentHp -= rand() / (RAND_MAX / iEDmg_max + 1) + iEDmg_min;
  173.  
  174. if (iCurrentHp <= 0)
  175. {
  176. bGoLevel1 = false;
  177. iCurrentHp = iHp;
  178. break;
  179. }
  180. }
  181. }
  182. }
  183. }
  184. }
  185.  
  186.  
  187.  
  188.  
  189.  
  190. string NyttSpel()
  191. {
  192. string sTmpName;
  193. system("cls");
  194. cout << "Valkommen till Kottbulle ute i vida varlden spelet!nSkriv in ditt namn sa vi kan borja: ";
  195. cin >> sTmpName;
  196. return sTmpName;
  197. }
  198.  
  199. int main()
  200. {
  201. string sCmd;
  202. string sName;
  203. bool bGo = true;
  204. int iTmp;
  205.  
  206. int iHp = 5000;
  207. int iDmg_min = 1000;
  208. int iDmg_max = 1500;
  209.  
  210. while (bGo)
  211. {
  212. cout
  213. << "#################################################n"
  214. << "# #n"
  215. << "# Kottbulle i vida varlden spelet! #n"
  216. << "# #n"
  217. << "#################################################n"
    -------------------------
    Det är helheten som räknas... Så skit inte i hälften!

    Senast redigerad 19:59 - 15:e September 2007


jockepockee 19:59 - 15:e September 2007 | Post #7
Medlem
Inlägg: 192


Skicka PM
ser inte vad det står ! ! !

-------------------------





SaNz 20:01 - 15:e September 2007 | Post #8
Medlem
Inlägg: 77


Skicka PM
Såja, det blir total buggat om du vill ändra en text med källkod i!
Blir en post i bugg forumdelen då.

-------------------------
Det är helheten som räknas... Så skit inte i hälften!



lord_slampa 12:01 - 17:e September 2007 | Post #9
Medlem
Inlägg: 46


Skicka PM
Aplåderar till namnet "Kottbulle i cida carlden spelet!" underbart (L)

-------------------------
DirectX + Win32 Api For the win!



SaNz 15:50 - 17:e September 2007 | Post #10
Medlem
Inlägg: 77


Skicka PM
Haha det var meningenSmiley

EDIT:
Någon som har ett svar? Hur ska jag göra så att variablerna inte sparas efter en strid?
Finns det någon sats som typ resetar värdet i en variabel?

-------------------------
Det är helheten som räknas... Så skit inte i hälften!

Senast redigerad 15:51 - 17:e September 2007


Independence 16:03 - 17:e September 2007 | Post #11
Administratör
Inlägg: 1800


Skicka PM
Väldigt förvirrande källkod du har där..Smiley
Förstår jag rätt om den fösta halvan av koden inte ens används? Funktionen level1 alltså, den anropas inte ens?
Lade märke till ett par " if (Bana = 1)" när jag scrollade igenom också. Du vill nog ha == som är jämförelseoperatorn där, istället för enkelt = (tilldelning).

-------------------------

Vi är riddarna som säger fiskbulle!





ozamosi 16:16 - 17:e September 2007 | Post #12
Administratör
Inlägg: 1129


Skicka PM
Nu är du ju bara elak! ?,,

"Här har du förvirrande, trasig källkod" "Jag får det inte att fungera... :/" "Ja, du får ju göra källkoden vettig innan jag kan hjälpa dig - jag förstår inte vad du skriver!"

-------------------------
Ljusblå



Independence 16:40 - 17:e September 2007 | Post #13
Administratör
Inlägg: 1800


Skicka PM
Fast sådär trasig var faktiskt inte källkoden innan han börjadeSmiley

-------------------------

Vi är riddarna som säger fiskbulle!





SaNz 16:59 - 17:e September 2007 | Post #14
Medlem
Inlägg: 77


Skicka PM
Haha! Men den fungerar iafSmiley Men det borde ni kunna hjälpa mig med, att där ni ser att monstret dör, att på något sätt återställa iEHP variabeln?

PS.Alla \ före n är borta btw...DS

-------------------------
Det är helheten som räknas... Så skit inte i hälften!



FunkyChicken 17:12 - 17:e September 2007 | Post #15
Nyhetsredaktör
Inlägg: 800


Skicka PM
Man kan inte "återställa" variabler, du får helt enkelt tilldela den det värde den ska ha varje gång du ska använda den på nytt, svårare är det väl inte?
Men allvarligt talat, den där koden är groteskt ful. Skriv om från början, strukturera på ett bra sätt och kommentera koden så blir det MYCKET enklare.




Sidor: 1

Forum huvudsida -> Programmering -> C++ Spelet version roligare
Atom feed

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