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

Jak zrobić przełączanie gracza po turze ?

Ostatnio zmodyfikowano 2010-02-16 17:23
Autor Wiadomość
Pirotechnik
Temat założony przez niniejszego użytkownika
Jak zrobić przełączanie gracza po turze ?
» 2010-02-16 15:43:04
Witam mam problem zwiazany z tym programem
C/C++
#include <iostream>
#include <conio.h>
#include <cstring>

int main()
{
    using namespace std;
   
    int gracz = 0;
   
    int proba;
    proba = 0;
    const short rozmiar = 50;
    char tabgracz[ 2 ][ rozmiar ];
   
    char slowo[ rozmiar ];
    char zslowo[ rozmiar ];
    char kategoria[ rozmiar ];
   
    int wynik[ 2 ];
    wynik[ 0 ] = 0;
    wynik[ 1 ] = 0;
   
    int rundy;
   
    //----------------------
    cout << "        Gra w haselka\n        Programista: Grzegorz Wegrzyn";
    getch();
    system( "cls" );
   
    cout << "Podaj liczbe rund do rozegrania: ";
    cin >> rundy;
    cin.get();
    system( "cls" );
   
    cout << "Podaj nazwe gracza 1: ";
    cin.get( tabgracz[ gracz ], rozmiar ).get();
    ++gracz;
    cout << "Podaj nazwe gracza 2: ";
    cin.get( tabgracz[ gracz ], rozmiar ).get();
    cin.get();
    system( "cls" );
   
    do
    {
        cout << "Pozostalo rund: " << rundy;
        getch();
        system( "cls" );
       
        //-----rozgrywka
        cout << "              Gracz " << tabgracz[ gracz ] << endl;
        getch();
        system( "cls" );
        cout << "Podaj kategorie a potem slowo: \nKategoria: ";
        cin.get( kategoria, rozmiar ).get();
        cout << "Haslo: ";
        cin.get( slowo, rozmiar );
        cin.get();
        system( "cls" );
        //-------------
       
        cout << "              Gracz " << tabgracz[ gracz ];
        getch();
        system( "cls" );
        //-----------------
        cout << "Kategoria: " << kategoria << endl;
        do
        {
            cin.get( zslowo, rozmiar ).get();
            ++proba;
            cout << "Proba: " << proba << endl;
        }
        while( strcmp( zslowo, slowo ) );
       
        system( "cls" );
        cout << "Kategoria: " << kategoria << "\nHaslo: " << slowo << endl;
        cout << "\nBrawo!! Udalo ci sie za " << proba << " razem!!";
        getch();
       
        //-------Wyniki
        cout <<(( proba < 10 )
        ? ++wynik[ gracz ]
            : --wynik[ gracz ] );
        system( "cls" );
       
        cout << "Wyniki po rundzie:  " << tabgracz[ 0 ] << " : " << wynik[ 0 ] << endl;
        cout << "                    " << tabgracz[ 1 ] << " : " << wynik[ 1 ] << endl;
        getch();
        system( "cls" );
       
        --rundy;
        proba = 0;
    } while( rundy > 0 );
   
    if( wynik[ 0 ] < wynik[ 1 ] )
    {
        cout << "Zwyciezca " << tabgracz[ 1 ] << "!!";
    };
    if( wynik[ 0 ] > wynik[ 1 ] )
    {
        cout << "Zwyciezca " << tabgracz[ 0 ] << "!!";
    };
    getch();
    return( 0 );
}
Jak widzicie jest on na ukonczeniu jednak nie wiem jak zrobic aby
co runde przelaczal mi sie gracz na drugiego, glowie sie juz tydzien i nie moge wpasc na zaden dobry pomysl (oczywiscie wszystkie probowalem) prosze wiec o pomoc!!

#pixelmaster: zmieniłem tytuł
P-13930
Pirotechnik
Temat założony przez niniejszego użytkownika
» 2010-02-16 16:23:04
Odpisze ktos??
P-13931
malan
» 2010-02-16 16:40:46
C/C++
do
{
    do
    {
        // ...
    } while( rundy > 0 );
   
    gracz++;
} while( gracz < 2 );
Przy takim rozwiązaniu parę rzeczy byś musiał poprawić.
P-13932
Sticky
» 2010-02-16 16:41:09
mógłbyś naprzykład zrobić zmienną 'gracz', i 'if'.
Co każdą rundę do zmiennej gracz równej 1, dodawał byś 1,a kiedy gracz > 2 zrobił byś gracz = 1;
W pętli wiadomo warunek if gracz=1 i else if gracz=2
P-13933
Pirotechnik
Temat założony przez niniejszego użytkownika
» 2010-02-16 17:00:30
Wielkie dzieki sprobuje oba przyklady, jak wyjdzie to napisze. A tak z innej beczki 'if' to chyba nie petla xD
P-13934
Pirotechnik
Temat założony przez niniejszego użytkownika
KONIEC!!
» 2010-02-16 17:12:27
C/C++
#include <iostream>
#include <conio.h>
#include <cstring>

int main()
{
    using namespace std;
   
    int gracz = 0;
   
    int proba;
    proba = 0;
    const short rozmiar = 50;
    char tabgracz[ 2 ][ rozmiar ];
   
    char slowo[ rozmiar ];
    char zslowo[ rozmiar ];
    char kategoria[ rozmiar ];
   
    int wynik[ 2 ];
    wynik[ 0 ] = 0;
    wynik[ 1 ] = 0;
   
    int rundy;
   
    //----------------------
    cout << "        Gra w haselka\n        Programista: Grzegorz Wegrzyn";
    getch();
    system( "cls" );
   
    cout << "Podaj liczbe rund do rozegrania: ";
    cin >> rundy;
    cin.get();
    system( "cls" );
   
    cout << "Podaj nazwe gracza 1: ";
    cin.get( tabgracz[ gracz ], rozmiar ).get();
    ++gracz;
    cout << "Podaj nazwe gracza 2: ";
    cin.get( tabgracz[ gracz ], rozmiar ).get();
    cin.get();
    --gracz;
    system( "cls" );
   
    do
    {
        cout << "Pozostalo rund: " << rundy;
        getch();
        system( "cls" );
       
        //-----rozgrywka
        cout << "              Gracz " << tabgracz[ gracz ] << endl;
        getch();
        system( "cls" );
        cout << "Podaj kategorie a potem slowo: \nKategoria: ";
        cin.get( kategoria, rozmiar ).get();
        cout << "Haslo: ";
        cin.get( slowo, rozmiar );
        cin.get();
        system( "cls" );
        //-------------
        ++gracz;
        if( gracz > 1 )
        {
            gracz = 0;
        } else;
       
        cout << "              Gracz " << tabgracz[ gracz ];
        getch();
        system( "cls" );
        //-----------------
        cout << "Kategoria: " << kategoria << endl;
        do
        {
            cin.get( zslowo, rozmiar ).get();
            ++proba;
            cout << "Proba: " << proba << endl;
        }
        while( strcmp( zslowo, slowo ) );
       
        system( "cls" );
        cout << "Kategoria: " << kategoria << "\nHaslo: " << slowo << endl;
        cout << "\nBrawo!! Udalo ci sie za " << proba << " razem!!";
        getch();
       
        //-------Wyniki
        cout <<(( proba < 10 )
        ? ++wynik[ gracz ]
            : --wynik[ gracz ] );
        system( "cls" );
       
        cout << "Wyniki po rundzie:  " << tabgracz[ 0 ] << " : " << wynik[ 0 ] << endl;
        cout << "                    " << tabgracz[ 1 ] << " : " << wynik[ 1 ] << endl;
        getch();
        system( "cls" );
       
        if( gracz > 1 )
        {
            gracz = 0;
        } else;
       
        --rundy;
        proba = 0;
    } while( rundy > 0 );
   
    if( wynik[ 0 ] < wynik[ 1 ] )
    {
        cout << "Zwyciezca " << tabgracz[ 1 ] << "!!";
    };
    if( wynik[ 0 ] > wynik[ 1 ] )
    {
        cout << "Zwyciezca " << tabgracz[ 0 ] << "!!";
    };
    if( wynik[ 0 ] = wynik[ 1 ] )
    {
        cout << "Remis!! Obaj gracze otrzymali po: " << wynik[ 0 ] << " pkt.";
    };
    getch();
    return( 0 );
}
P-13936
Sticky
» 2010-02-16 17:19:04
no mniejsza z tym ;p wiadomo o co chodzi.
czyli się udało?;>
P-13937
Sticky
» 2010-02-16 17:23:38
zrobiłeś wyświetlanie która to próba w pętli while tak, że jeśli gracz nie wpisując nic wciśnie enter program zatnie się na tej pętli i nie wyjdzie z niej już, będzie dodawał do próby 1 i ciągle wyświetlał to.
P-13938
« 1 »
  Strona 1 z 1