Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Ideen & Projekte » Erstes C++ Konsolenspiel

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
27.03.2005, 23:12 Uhr
Defmaster



Ich bin zwar noch net so vertraut mit C++ bin aber am lernen
Das ist das erste "Spiel" was ich alleine hinbekommen habe, nur nach der rand(); funktion musst ich suchen.
Ich denke mal den code kann man auf jeden Falls hier und dort Verbessern.
Vielleicht könntet ihr mir Tips geben was ich besser machen könnte.

Es ist ein Spiel wo man eine Zahl zwischen 0 - 20 (je nach schwierigkeistgrad auch 0 -50 und 0-100) erraten muss. Dafür hat man 5 Versuche. Es wird ausgegeben ob die gesuchte Zahl höher als die eingegebene ist oder niedriger.

Also hier der Quellcode:


C++:
#include <cstdlib>
#include <iostream>

using namespace std;

int pruef(int eingabe, int zahl, int leben)
{
     if (eingabe != zahl)
        {
                 if (leben >=2)
                 {
                    cout << "Falsche Zahl" << endl;
                    leben--;
                    if (zahl > eingabe)
                       cout << "Zahl ist h\224her" << endl << endl;
                    if (zahl < eingabe)
                       cout << "Zahl ist kleiner" << endl << endl;  
                    return leben;  
                 }
                 else
                  cout << "Verloren" << endl;
                  cout << "Gesucht war: " << zahl << endl;
        }
     else if (eingabe == zahl)  
     {
     cout << "Richtige Zahl" << endl;
     cout << "GEWONNEN" << endl << endl;
     }
     return 0;
}  

int main()
{
    int maximal_zahl,leben,wahl,zahl,eingabe;
    do
    {
    cout << "Schwierigkeistgrad:" << endl;
    cout << "1. Von 0 - 20" << endl;
    cout << "2. Von 0 - 50" << endl;
    cout << "3. Von 0 - 100" << endl;
    cout << "0. Beenden " << endl;
    cin >> wahl;
    
    if ( wahl == 1)
    {
         leben=5;
         maximal_zahl = 20;
         srand( (unsigned)time( NULL ) );
         zahl = rand() % maximal_zahl;
         do
         {
              if (leben >= 1)
              {
               cout << "Leben: " << leben << endl;
               cout << "Eingabe:  ";
               cin >> eingabe;
               leben=pruef(eingabe,zahl,leben);
              }
              else if (leben == 2)
              {
               cout << "Verloren" << endl;
               cout << "Gesucht war: " << zahl << endl << endl;
              }
         }while( leben >= 1);
         }
        
    else if ( wahl == 2)
    {
         leben=5;
         maximal_zahl = 50;
         srand( (unsigned)time( NULL ) );
         zahl = rand() % maximal_zahl;
         do
         {
              if (leben >= 1)
              {
               cout << "Leben: " << leben << endl;
               cout << "Eingabe:  ";
               cin >> eingabe;
               leben=pruef(eingabe,zahl,leben);
              }
              else if (leben == 2)
              {
               cout << "Verloren" << endl;
               cout << "Gesucht war: " << zahl << endl << endl;
              }
         }while( leben >= 1);
         }
        
    else if ( wahl == 3)
    {
         leben=5;
         maximal_zahl = 100;
         srand( (unsigned)time( NULL ) );
         zahl = rand() % maximal_zahl;
         do
         {
              if (leben >= 1)
              {
               cout << "Leben: " << leben << endl;
               cout << "Eingabe:  ";
               cin >> eingabe;
               leben=pruef(eingabe,zahl,leben);
              }
              else if (leben == 2)
              {
               cout << "Verloren" << endl;
               cout << "Gesucht war: " << zahl << endl << endl;
              }
         }while( leben >= 1);

    }
    else
      cout << "Falsche eingabe" <<endl << endl;
}while(wahl);

}





Von euch erhoffe ich mir noch wertvolle tips.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
27.03.2005, 23:43 Uhr
RedEagle



noch ein Zahlen-raten

ich weiß zwar nicht wie viel du schon kannst, aber ne Highscore-liste währe interessant, oder Farben, schöneres Menü, Mehr spielmodi, usw...

zudem würde ich eine spiel-funktion schreiben.
z.B.

C++:
int ZahlenRaten(int ZahlenBreich)
{

//... Die spiel-schleife ...

return anzahl_der_versuche;
}



Lad dir mal mein Zahlen-Raten 4.3 runter, da kannste dir nen paar ideen holen (wennde code habe willst, sich mir ne e-mail) ->-> www.redeagle-software.de.vu >>unter downloads<<
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
28.03.2005, 11:05 Uhr
Defmaster



Bei dir is ja so das man keine leben hat sondrn gezählt wird wie oft man braucht, hm ne möglichkeit wäre diese beiden kombinationen zu mixen.
Der Sourcecode interessiert mich schon vor allem wie du das mit den ini's und skins gemacht hast. Falls du ihn mir schicken willst email: f662tina@aol.com
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
28.03.2005, 18:45 Uhr
RedEagle



ok, hab ich die geschick..

ps.: ich mit dem Prog angefangen, als ich noch nicht so viel ahnung hatte, wie jetzt.
Darum sind kaum Kommentrare drin, und alles sieht nen bischen zusammengefuckelt aus
--
MFG RedEagle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
29.03.2005, 08:57 Uhr
typecast
aka loddab
(Operator)


to Ideen & Projekte
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.04.2005, 17:45 Uhr
~user2580
Gast


ich bin auch nur anfänger und hab es so geslöst

C++:
#include <iostream>
#include <cstdlib>
#include <ctime>


int main()
{
int zufall,leben,zahl;
bool ende;
int neues = 1;
while (neues == 1)
{  
ende = false;
leben = 5;
std::cout << "Waehlen Sie einen Schwierigkeitsgrad aus" << std::endl <<
"1 bis 20 " << std::endl <<
"1 bis 50 " << std::endl <<
"1 bis 200" << std::endl;


std::cin >> zahl;
srand(time(0));
int zufall = rand() % zahl + 1;
while (ende == false)
{

std::cout << "Geben Sie eine Zahl ein" << std::endl;
std::cin >> zahl;
if (zufall == zahl)
{
leben = 6;        
}

if (zahl > zufall)
{
leben--;
std::cout << "Die Zahl ist kleiner Sie haben noch: " << leben << " versuche" << std::endl;  
}
if (zahl < zufall)
{
leben--;
std::cout << "Die Zahl ist groeser Sie haben noch: " << leben << " versuche" << std::endl;
}
if (leben == 6)
{
std::cout << "Sie haben gewonnen" << std::endl <<
"Moechten Sie es noch mal versuchen" << std::endl <<
"1 fueur ja" << std::endl <<
"0 fuer nein" << std::endl;
std::cin >> neues;
ende = true;
}
if (leben <= 0)
{
std::cout << "Sie haben verloren die gesuchte Zahl war: " << zufall << std::endl <<
"Moechten Sie es noch mal versuchen" << std::endl <<
"1 fueur ja" << std::endl <<
"0 fuer nein" << std::endl;
std::cin >> neues;
ende = true;
}
}
}
}




Bearbeitung von Pablo:

Benutze die CPP Tags selber


Dieser Post wurde am 05.04.2005 um 17:49 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ Ideen & Projekte ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: