Användarprofil

Uppgifter
Användarnamn
Email
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

Avatar


Presentation av

Den här användaren har inte skapat någon personlig presentation.

Senaste inläggen i forumet

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

Skicka meddelande
Läs s blog