Uppgifter | |
Användarnamn | |
Besök | - |
Hemsida | Ingen |
Plats (stad) | |
Senaste besök | 01:00 - 1:a Januari 1970 |
Poster i forumet | |
Varningar | |
Grupp | |
Medlem sedan | 01:00 - 1:a Januari 1970 |
Artiklar och filer | |
Den här användaren har inga artiklar eller filer |
Den här användaren har inte skapat någon personlig presentation. |
Problem med spelet i nybörjarguiden. |
Hej. Har hamnat i lite problem med koden i nybörjarguiden o hittar inte felen, så om någon skulle kunna vara snäll o hjälpa mig så skulle det vara super. Iaf här är koden: // Bibliotek #include <iostream> #include <ctime> // Vilka funktioner som ska användas using std::cout; using std::cin; using std::string; using std::system; using std::srand; using std::rand; // För random funktionen // Deklarera funktioner så de blir utkommliga från hela programmet string NyttSpel(); int Level1(string &sName, int &iHp, int &iDmg_min, int &iDmg_max); int Level1(string &sName, int &iHp, int &iDmg_min, int &iDmg_max) { srand(time(0)); bool bGoLevel1= true; // Den här ska vara true så länga man är i level 1 string sCmd; // För att läsa in kommandorn från menyer mm int iCurrentHp = iHp; // Spelarens nuvarande liv, man dör lite när man slåss mot fiender men man ska få tillbaka liven efter fighten // Fiendevariabler int iEType; // Fiendens typ int iEHp; // Fiendens liv int iEDmg_min; // Fiendens minimum skada int iEDmg_max; // Fiendens maximum skada string sEName; // Fiendens namn while (bGoLevel1) // Kör den här kodsnutten så länge bGoLevel1 är true { system("cls"); // Rensa skärmen cout << "Välkommen till bana 1!\nMeny:\n-----\n[H]itta fiende att slåss med\n[A]vsluta spelet\nVal:\n"; cin >> sCmd; if (sCmd == "h" || sCmd == "H") { iEType = rand() / (RAND_MAX / 3 + 1) + 1; // Slumpa ett tal från 1 till 3. Det ska finnas 3 olika typer av fiender på första banan. if (iEType == 1) { sEName = "Giftfluga"; iEHp = 4; iEDmg_min = 2; iEDmg_max = 3; } else if (iEType == 2) { sEName = "Huggorm"; iEHp = 5; iEDmg_min = 2; iEDmg_max = 5; } else if (iEType == 3) { sEName = "Råtta"; iEHp = 3; iEDmg_min = 1; iEDmg_max = 2; } while (true) // Kör tills "break;" körs { cout << "\nSlåss mot fiende:\n------------------\nDu möter en " << sEName << "!\n" << "Fiendens liv: " << iEHp << "\n" << "Dina liv: " << iCurrentHp << "\n" << "Meny:\n-----\nSlå i [m]agen\nSlå i [f]oten\nSlå i [h]uvudet\nVal:\n"; cin >> sCmd; if (sCmd == "m" || sCmd == "M") { if (iEType == 3) // Om det är en råtta så får den extra liv, den är alltså svår att döda genom att slå i magen iEHp+=2 else if (iEType == 2) // Om det är en huggorm så får den minus ett liv, den är alltså extra lätt att döda genom att slå i magen iEHp-=2; } else if (sCmd == "f" || sCmd == "F") { if (iEType == 1) // Om det är en giftflyga så får den extra liv, den är alltså svår att döda genom att slå på foten iEHp+=1; else if (iEType == 3) // Om det är en råtta så får den minus ett liv, den är alltså extra lätt att döda genom att slå på foten iEHp-=1; } else if (sCmd == "h" || sCmd == "H") { if (iEType == 2) // Om det är en huggorm så får den extra liv, den är alltså svår att döda genom att slå på huvudet iEHp+=1; else if (iEType == 1) // Om det är en giftflyga så får den minus ett liv, den är alltså extra lätt att döda genom att slå på huvudet iEHp-=1; } iEHp -= rand() / (RAND_MAX / iDmg_max + 1) + iDmg_min; if (iEHp <= 0) // Om fienden dog { cout << "Du dödade monstret, bra gjort!\n"; break; // Hoppa ur while-loopen } else { iCurrentHp -= rand() / (RAND_MAX / iEDmg_max + 1) + iEDmg_min; if (iCurrentHp <= 0) // Om man dör { bGoLevel1 = false; // Slut på level 1, du dog iCurrentHp = iHp; // ...terstället liven break; } } } // Slut på slåss mot fiende-loop } else if (sCmd == "a" || sCmd == "A") { return 3; // Det här returneras om man inte vill spela mer i level 1 } } // Slut på level1-loop return 2; // Det här returneras om man dog av en fiende } string NyttSpel() { string sTmpName; // Variabel för att temporärt lagra spelarens namn. Variabeln finns bara i den här funktionen system("cls"); // Rensa skärmen cout << "Välkommen till Skogen-med-de-elaka-monstrena-spelet!\nSkriv in ditt namn så vi kan börja: "; cin >> sTmpName; return sTmpName; } int main() { // Deklarera variabler string sCmd; // Används för att avläsa användarens val i menyer mm string sName; // För att lagra namet på spelaren bool bGo= true; // En variabel som är true så länge muvudmeny-loopen ska köras int iTmp; // Variabel för temorära saker // Spelarens karaktärs variabler int iHp = 10; // Spelarens hälsoresurser int iDmg_min = 2; // Spelarens minimiskada int iDmg_max = 5; // Spelarens maximiskada while (bGo) // Kör loopen så länge bGo är true { // Huvudmenyn cout << "#################################################\n" << "# #\n" << "# Skogen med de elaka monstrena spelet v1.0 #\n" << "# #\n" << "#################################################\n" << "Huvud meny:\n-----------\n[N]ytt spel\n[A]vsluta\nVal:"; cin >> sCmd; if (sCmd == "n" || sCmd == "N") { sName = NyttSpel(); // Skicka med namnvariabeln iTmp = Level1(sName, iHp, iDmg_min, iDmg_max); if (iTmp == 3) bGo = false; if (iTmp == 2) cout << "Du dog!"; } else if (sCmd == "a" || sCmd == "A") { break; // Bryt ut från huvudmeny-loopen } } // Slut på while-loopen return 0; } -------------------------------- e:\minado~1\progra~1\spel.cpp:13: syntax error before `('' e:\minado~1\progra~1\spel.cpp:14: `string'' was not declared in this scope e:\minado~1\progra~1\spel.cpp:14: `sName'' was not declared in this scope e:\minado~1\progra~1\spel.cpp:14: parse error before `&'' e:\minado~1\progra~1\spel.cpp:16: `string'' was not declared in this scope e:\minado~1\progra~1\spel.cpp:16: `sName'' was not declared in this scope e:\minado~1\progra~1\spel.cpp:16: parse error before `&'' e:\minado~1\progra~1\spel.cpp: In function `int Level1(...)'': e:\minado~1\progra~1\spel.cpp:18: implicit declaration of function `int srand(...)'' e:\minado~1\progra~1\spel.cpp:22: `string'' undeclared (first use this function) e:\minado~1\progra~1\spel.cpp:22: (Each undeclared identifier is reported only once e:\minado~1\progra~1\spel.cpp:22: for each function it appears in.) e:\minado~1\progra~1\spel.cpp:22: parse error before `;'' e:\minado~1\progra~1\spel.cpp:23: `iHp'' undeclared (first use this function) e:\minado~1\progra~1\spel.cpp:30: parse error before `;'' e:\minado~1\progra~1\spel.cpp:34: implicit declaration of function `int system(...)'' e:\minado~1\progra~1\spel.cpp:38: `sCmd'' undeclared (first use this function) e:\minado~1\progra~1\spel.cpp:42: implicit declaration of function `int rand(...)'' e:\minado~1\progra~1\spel.cpp:42: `RAND_MAX'' undeclared (first use this function) e:\minado~1\progra~1\spel.cpp:45: `sEName'' undeclared (first use this function) e:\minado~1\progra~1\spel.cpp:79: parse error before `else'' e:\minado~1\progra~1\spel.cpp:97: `iDmg_max'' undeclared (first use this function) e:\minado~1\progra~1\spel.cpp:97: `iDmg_min'' undeclared (first use this function) e:\minado~1\progra~1\spel.cpp:125: confused by earlier errors, bailing out -------------------- Postad 14:34 - 24:e Oktober 2007 |
Datum
2024-05-06 23:44
Vecka: 19
Besökare
Inloggade: 0
Gäster: 605
Medlemmar
Medlemmar: 53576
Forum
Senaste inlägget: HAHA MÄNNISKAN LEVER ÄN (13:45 - 18:e Januari 2019, av Hetzz)
Wiki
Senaste ändringen:
3D (rev: 1, tid: 09:40 - 13:e November 2015)
Chatt
#blinkenlights @ Libera.Chat
Gratis shellkonton för IRC, webbsidor mm.