jag har nu också försökt att göra en text fil med massa ord som jag sedan ska anropa för att slippa skriva in massa ord och sedan slumpa dom. Men jag har inte lyckats, och min kompis gav mig en kod men den funkar inte.:::
while(getline(hamta,ordet) && i < random)
{
if (i = random)
{
getline(hamta,ordet);
}
i++;
Det där hamta ser lite mysko ut tycker jag, förklara gärna vad ni fattar det som.
Postad 23:40 - 1:a Februari 2008
|
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
void meny();
void delay(int secs);
void starta_spel();
void gissad_bokstav(string visa_ordet, string ordet, string felgissningutskrift, int liv, char gissadbokstav);
void felgissningutskrift(char gissadbokstav);
void gubbe(int liv);
int main()
{
cout << "Hey! Välkommen till hangman! =) n";
meny();
starta_spel();
system("pause");
}
void starta_spel()
{
char gissadbokstav;
string ordet;
string visa_ordet = "";
string felgissningutskrift = "";
int liv = 0;
cin.ignore(1000, ''n'');
cout << "Skriv in hemliga ordet: n";
getline(cin, ordet);
cin.ignore(1000, ''n'');
system("cls");
visa_ordet.append(ordet.length(), ''*'');
cout << visa_ordet << endl;
while (liv < 11)
{
gissad_bokstav(visa_ordet, ordet, felgissningutskrift, liv, gissadbokstav);
}
}
void gissad_bokstav(string visa_ordet, string ordet, string felgissningutskrift, int liv, char gissadbokstav)
{
cin.ignore(1000, ''n'');
cout << "Gissa på en bokstav: n";
cin >> gissadbokstav;
cin.ignore(1000, ''n'');
if ((signed)ordet.find(gissadbokstav, 0) > -1)
{
for (int i = 0; i < ordet.length(); i ++)
{
if (ordet.at(i) == gissadbokstav)
{
visa_ordet.at(i) = gissadbokstav;
}
}
}
else
{
liv ++;
//funktionen till gubben//
//allt som ska göras om man skriver fel bokstav
felgissningutskrift = felgissningutskrift + gissadbokstav;
}
for (int i = 0; i <= liv; i++)
{
void gubbe(int liv);
}
cout << endl << visa_ordet << endl;
cout << "Du har gissat på: " << felgissningutskrift << endl;
}
void gubbe(int liv)
{
switch(liv)
{
case 0:
system("cls");
cout << "Komigen bra jobbat gubben, fortsätt så här!";
case 1:
system("cls");
cout << "n n n n n n n n n / \ n / \ n ";
case 2:
system("cls");
cout << "n n n n n n n n ____ ___n / \ n / \ n ";
case 3:
system("cls");
cout << "n n n n n n n n ____|___n / \ n / \ n ";
case 4:
system("cls");
cout << "n n | n | n | n | n |n |n ____|___n / \ n / \ n ";
case 5:
system("cls");
cout << "n _______n | n | n | n | n |n |n ____|___n / \ n / \ n ";
case 6:
system("cls");
cout << "n _______n | / n |/ n | n | n |n |n ____|___n / \ n / \ n ";
case 7:
system("cls");
cout << "n _______n | / |n |/ n | n | n |n |n ____|___n / \ n / \ n ";
case 8:
system("cls");
cout << "n _______n | / |n |/ O < Bara 3 liv kvar! n | n | n |n |n ____|___n / \ n / \ n ";
case 9:
system("cls");
cout << "n _______n | / |n |/ O < Låt mig inte dö!:( n | -|-n | n |n |n ____|___n / \ n / \ n ";
case 10:
system("cls");
cout << "n _______n | / |n |/ O < Jag kommer aldrig mer lite på dig!n | -|-n | An |n |n ____|___n / \ n / \ n ";
}
}
void delay(int secs)
{
clock_t delay = secsclock_t start = clock();
while (clock() < (start + delay))
{
}
}
void meny()
{
string meny ="n|---------------|n|-- MENY --|n|---------------|n|-- 1.SPELA --|n|-- 2.AVSLUTA --|n|---------------|n";
for (int i = 0; i < meny.length(); i++)
{
cout << meny.at(i);
delay(5);
}
char svar;
cout << "nVad vill du göra? (1/2) n";
cin >> svar;
cin.ignore(1000, ''n'');
if (svar == ''1'')
{
cout << "Du Valde att starta mitt spel!:D n";
}
else
{
exit(1);
}
}
Hej, jag undra om ni kunde hjälpa mig med att få det att funka.. eller det funkar, men inte med livet. Om ni inte fattar vad jag menar så får ni gärna testa spelet. Vore jätte snällt om ni kunde hjälpa mig att förstå vad felet är.
Postad 10:22 - 31:a Januari 2008
|