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. |
En fråga om del 18 i nybörjar guiden! |
Ojsan , tack så mycket! Hade visst gjort det felet på flera ställen. Men nu undrar jag bara hur jag fixar till så att man måste trycka på enter efter att man har vunnit över ett monster. Eftersom man inte hinner se "Grattis du spöade monstret". Postad 18:29 - 18:e Februari 2007 |
En fråga om del 18 i nybörjar guiden! |
Hej! Jag använder Dev C++ och har kommit till den sista delen av C++ nybörjarguiden. Allt har fungerat ända tills nu. Så, detta är mina felmeddelanden när jag ska kompilera: C:\Documents and Settings\Yeah Good Luck\Mina dokument\Mina C++ Program\Spelet.cpp In function `int Level1(std::string&, int&, int&, int&)': 27 C:\Documents and Settings\Yeah Good Luck\Mina dokument\Mina C++ Program\Spelet.cpp `iHp' undeclared (first use this function) (Each undeclared identifier is reported only once for each function it appears in.) C:\Documents and Settings\Yeah Good Luck\Mina dokument\Mina C++ Program\Spelet.cpp In function `int main()': 173 C:\Documents and Settings\Yeah Good Luck\Mina dokument\Mina C++ Program\Spelet.cpp `iHp' undeclared (first use this function) Och här är min källkod: //Bibliotek #include <iostream> #include <ctime> #include <string> // Vilka funktioner som ska användas using std::cout; using std::cin; using std::string; using std::system; using std::srand; using std::rand; //Deklarera funktioner så att de kan användas i 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änge man är i level 1 string sCmd; //För att läsa in kommandon från menyer m.m int iCurrentHp =iHp; //Spelarens nuvarande liv, man dör lite när man slåss mot monster men man ska få tillbaka liven efter fighten //Fiende Variabler 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 programsnutten så länge bool bGoLevel1 är TRUE { system("cls"); //Rensa skärmen cout << "Välkommen till bana 1!\nMeny:\n-----\n[H]itta en fiende att slåss mot\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 till "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 svår att döda med magslag ^^ iEHp+=1; else if (iEType == 2) //Om det är en huggorm så förlorar den extra liv iEHp-=2; } else if (sCmd == "f" || sCmd == "F") { if (iEType == 1) //Om det är en giftfluga så får den extra liv, den är svår att döda med fotslag ^^ iEHp+=1; else if (iEType == 3) //Om det är en råtta så förlorar den extra liv iEHp-=2; } else if (sCmd == "h" || sCmd == "H") { if (iEType == 2) //Om det är en huggorm så får den extra liv, den är svår att döda med magslag ^^ iEHp+=1; else if (iEType == 1) //Om det är en giftfluga så förlorar den extra liv iEHp-=2; } 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äller 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 längre på level 1 } }//Slut på level1 loop return 2; //Det här returneras om man dör } string NyttSpel() { string sTmpName; //Variabel för att temporärt spara spelarens namn, den finns bara i denna funktionen. system("cls"); //rensa skärmen cout << "Välkommen till mitt första spel!\nSkriv in ditt namn så att vi kan börja: "; cin >> sTmpName; return sTmpName; } int main() { //Deklarera variabler string sCmd; //Används för att läsa av spelarens val i menyer string sName; //För att lagra namnet på spelaren bool bGo= true; //En variabel som är true så länge muvudmeny-loopen ska köras+ int iTmp; //Variabel för temporära saker //Spelarens karaktärs variabler int iHP = 10; // Spelarens HP int iDmg_min = 2; //Spelarens Minsta skada int iDmg_max = 5; //Spelarens maximum skada 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 namnvariablen iTmp = Level1(sName, iHp, iDmg_min, iDmg_max); if (iTmp == 3) bGo = false; if (iTmp == 2) cout << "DU DOG, GAME OVER!"; } else if (sCmd == "a" || sCmd == "A") { break; //Bryt ut från huvudmeny loopen } }//Slut på while loopen cin.get(); cin.get(); return 0; } Så varför uppkommer dessa fel? Tacksam för svar! //Zpace Postad 18:09 - 18:e Februari 2007 |
Datum
2024-04-27 18:46
Vecka: 17
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.