Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Gra z losowaniem

Ostatnio zmodyfikowano 2015-05-03 23:57
Autor Wiadomość
BartC
Temat założony przez niniejszego użytkownika
Gra z losowaniem
» 2015-05-03 19:41:35
Twoim zadaniem domowym jest napisanie prostej gry, która ma działać następująco:
1. Program losuje liczbę z przedziału od 1 do 1000.
2. Użytkownik zgaduje liczbę, która została wylosowana.
3. Jeżeli podana liczba jest za duża (za mała) gra wypisuje stosowny komunikat i powraca do kroku 2.
4. Jeżeli gracz trafi liczbę wylosowaną to progam kończy działanie, wypisując na ekran wylosowaną liczbę oraz liczbę 'strzałów', które oddał gracz.

Kod:
C/C++
...# include < iostream >
#include <cstdlib>
#include <ctime>
int main()
{
    srand( time( NULL ) );
    int liczba;
    int mojaliczba;
    std::cout << "Witaj w tej mini gierce! " << std::endl;
    std::cout << "Twoim zdaniem będzie trafic liczbe od 0 do 100 " << std::endl;
    do
    {
        std::cout << "Losuje liczbe " << std::endl;
        liczba =(( std::rand() % 100 ) + 0 );
        std::cin >> mojaliczba;
        if( liczba == mojaliczba );
       
        {
            std::cout << "Brawo! Zgadles liczbe! " << std::endl;
            std::cout << "Liczba ta to: " << liczba << std::endl;
        }
        if( liczba != mojaliczba );
       
        {
            std::cout << "Niestety nie zgadles liczby " << std::endl;
            std::cout << "Liczba ta to: " << liczba << std::endl;
        }
       
    } while( liczba == mojaliczba );
   
    std::cout << "Koniec" << std::endl;
    return 0;
}
...

Program wypisuje wszystko od razu. Niezależnie od tego czy trafi się liczbę czy nie pisze 2 wersje od razu.
P-131721
pekfos
» 2015-05-03 20:04:03
Usuń średniki po ifach.
P-131722
JMII89
» 2015-05-03 20:26:36
while( liczba == mojaliczba );
To nigdy nie będzie prawdziwe bo liczba ma w sobie śmieci bo nie ma żadnej wartości przy deklaracji i mojaliczba to samo.
P-131724
pekfos
» 2015-05-03 20:51:16
while( liczba == mojaliczba );
To nigdy nie będzie prawdziwe bo liczba ma w sobie śmieci bo nie ma żadnej wartości przy deklaracji i mojaliczba to samo.
Co? Przed sprawdzeniem warunku już będą tam wartości.
P-131725
JMII89
» 2015-05-03 20:56:40
A no tak przecież to do while sry.
P-131726
BartC
Temat założony przez niniejszego użytkownika
» 2015-05-03 23:46:39
Dzięki, jak zrobić aby pod koniec wypisało liczbę strzałów?
P-131731
carlosmay
» 2015-05-03 23:57:31
while( liczba == mojaliczba )
ten warunek mowi, że petla ma działać gdy liczba jest równa mojaliczba,
a ma działać gdy liczba jest różna od mojaliczba
while( liczba != mojaliczba )

Żeby pokazało liczbę strzałów dodaj w treści pętli jakiś licznik np.
++licznik;
 wcześniej go zadeklaruj.

C/C++
#include <iostream >
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
    srand( time( NULL ) );
    int liczba;
    int licznik = 0;
    int mojaliczba;
    cout << "Witaj w tej mini gierce! " << endl;
    cout << "Twoim zdaniem będzie trafic liczbe od 0 do 100 " << endl;
    liczba =(( rand() % 100 ) + 0 );
    do
    {
        cout << "Losuje liczbe " << endl;
        cin.clear();
        cin.good();
        cin >> mojaliczba;
        ++licznik;
        if( liczba == mojaliczba )
        {
            cout << "Brawo! Zgadles liczbe! " << endl;
            cout << "Liczba ta to: " << liczba << endl;
        }
        if( liczba != mojaliczba )
        {
            cout << "Niestety nie zgadles liczby " << endl;
        }
       
    } while( liczba != mojaliczba );
   
    cout << "Zgadles za: " << licznik << "razem" << endl;
    cout << "Koniec" << endl;
    return 0;
}

A cha jeszcze zakombinuj jak chcesz, żeby program podpowiadał czy podałeś liczbę większą bądź miniejszą od wylosowanej,
zabawa z ifami.
P-131732
« 1 »
  Strona 1 z 1