Gewinner Ausgabe beim Spiel



  • Hallo,

    ich würde gerne mit deinem Programm 4 ewinnt etwas spielen, als mit dem code.

    Aber dafür fehlt mir die vollbild.h 😞

    Hast du diese noch?



  • ja lade ich heute nachmittag hoch oder so.

    hatj emand ne idee wie ich das machen kann mit dem ausgeben des gewinnerS?



  • Harald44 schrieb:

    hatj emand ne idee wie ich das machen kann mit dem ausgeben des gewinnerS?

    Die Antworten, sowie Suchbegriffe wurden dir schon ausreichend gegeben.



  • ja ich weiss bin kein profi dadrin. kann keiner helfen?



  • printf(" Spieler %d hat gewonnen!\n", player);
    
    -->
    // Die Variable player ist also 1 oder 2
    // und in spieler1 und spieler2 sind die Namen gespeichert
    -->
    wenn (player istgleich 1) dann
    {
     schreibe spieler1 hat gewonnen (natürlich den Inhalt der variable ausgeben)
    }
    ansonsten
    {
     schreibe spieler2 hat gewonnen
    }
    

    Eigentlich zu viel hilfe ^^

    Keros



  • habe das nun so:

    player = (player == PLAYER1);
    if
    {
    cout << spieler1<<"hat gewonnen!";
    }
    else if
    {
    cout << spieler2<<"hat gewonnen!";
    }
    

    der meckert das ein fehler ist in der klammer nach dem IF



  • [quote="Harald44"]namen werden von den beiden spielern immer eingegeben:

    cout << " Spieler 1:";
        cout << " ";
        cin  >> spieler1;
        cout << ""<< endl;
        cout << " Spieler 2:";
        cout << " ";
        cin  >> spieler2;
    

    [quote]

    wenn du das machst, sollte nach dem IF kein Fehler sien, ich denke jetzt das er die variable spieler1 nicht hat...



  • Sorry aber grundlagen wie eine if aufgebaut ist musst du dir selber ansehen das wird dir hier keiner vorkauen.

    Vor allem weil man das gleich nach Hello World in jeder Sprache beigebracht bekommt. Das hat nix mit Profi und so zu tun sondern sind einfach nur Grundlagen. Ohne diese sollte dich den Prof mit, sagen wir mal wiederholen bewerten 😉

    Du brauchst dir ja nur mal den geladenen Code ansehen und darin wirst du viele if Anweisungen sehen und wie sie aufgebaut sind.

    Keros



  • ähm, ja... die Bedingung fehlt bei if 😉



  • Ich hebe auch mal 4Gewinnt programmiert, sehr unschön, aber es funktioniert.:D

    viergewinnt.h

    class viergewinnt
    {  int p[7][5];
       int s;
       int chance;
       public:
            viergewinnt();
            void setP1(int wahl);
            void setP2(int wahl);
            void matrix();
            char getm(int x, int y);
            void ruecksetzten();
            bool nextP(); 
            int win();
            void setFW(int farbe);
            int zugPC();    
    };
    

    viergewinnt.cpp

    #include <iostream>
    #include "viergewinnt.h"
    #include <windows.h> 
    #include <math.h>
    using namespace std;
    
    viergewinnt::viergewinnt()
    {  s=0;
       for(int i=0; i<7; i++)
          for(int i2=0; i2<5; i2++)
          p[i][i2]=0;
    }
    void viergewinnt::ruecksetzten()
    {  s=0;
       for(int i=0; i<7; i++)
          for(int i2=0; i2<5; i2++)
          p[i][i2]=0;
    }
    bool viergewinnt::nextP()
    {
        if(s==0)return true;
        else return false; 
    }
    void viergewinnt::setP1(int wahl)
    {  if(wahl >=1 && wahl <=7)
       { 
         switch(wahl)
        {
            case 1:if     (p[0][0]==0){p[0][0]=1;s=1;}
                   else if(p[0][1]==0){p[0][1]=1;s=1;}
                   else if(p[0][2]==0){p[0][2]=1;s=1;}
                   else if(p[0][3]==0){p[0][3]=1;s=1;}
                   else if(p[0][4]==0){p[0][4]=1;s=1;}break;
            case 2:if     (p[1][0]==0){p[1][0]=1;s=1;}
                   else if(p[1][1]==0){p[1][1]=1;s=1;}
                   else if(p[1][2]==0){p[1][2]=1;s=1;}
                   else if(p[1][3]==0){p[1][3]=1;s=1;}
                   else if(p[1][4]==0){p[1][4]=1;s=1;}break;
            case 3:if     (p[2][0]==0){p[2][0]=1;s=1;}
                   else if(p[2][1]==0){p[2][1]=1;s=1;}
                   else if(p[2][2]==0){p[2][2]=1;s=1;}
                   else if(p[2][3]==0){p[2][3]=1;s=1;}
                   else if(p[2][4]==0){p[2][4]=1;s=1;}break;
            case 4:if     (p[3][0]==0){p[3][0]=1;s=1;}
                   else if(p[3][1]==0){p[3][1]=1;s=1;}
                   else if(p[3][2]==0){p[3][2]=1;s=1;}
                   else if(p[3][3]==0){p[3][3]=1;s=1;}
                   else if(p[3][4]==0){p[3][4]=1;s=1;}break;
            case 5:if     (p[4][0]==0){p[4][0]=1;s=1;}
                   else if(p[4][1]==0){p[4][1]=1;s=1;}
                   else if(p[4][2]==0){p[4][2]=1;s=1;}
                   else if(p[4][3]==0){p[4][3]=1;s=1;}
                   else if(p[4][4]==0){p[4][4]=1;s=1;}break;
            case 6:if     (p[5][0]==0){p[5][0]=1;s=1;}
                   else if(p[5][1]==0){p[5][1]=1;s=1;}
                   else if(p[5][2]==0){p[5][2]=1;s=1;}
                   else if(p[5][3]==0){p[5][3]=1;s=1;}
                   else if(p[5][4]==0){p[5][4]=1;s=1;}break;
            case 7:if     (p[6][0]==0){p[6][0]=1;s=1;}
                   else if(p[6][1]==0){p[6][1]=1;s=1;}
                   else if(p[6][2]==0){p[6][2]=1;s=1;}
                   else if(p[6][3]==0){p[6][3]=1;s=1;}
                   else if(p[6][4]==0){p[6][4]=1;s=1;}break;
        }
        }     
    }
    
    void viergewinnt::setP2(int wahl)
    {  
       if(wahl >=1 && wahl <=7)
       { 
       switch(wahl)
        {
            case 1:if     (p[0][0]==0){p[0][0]=2;s=0;}
                   else if(p[0][1]==0){p[0][1]=2;s=0;}
                   else if(p[0][2]==0){p[0][2]=2;s=0;}
                   else if(p[0][3]==0){p[0][3]=2;s=0;}
                   else if(p[0][4]==0){p[0][4]=2;s=0;}break;
            case 2:if     (p[1][0]==0){p[1][0]=2;s=0;}
                   else if(p[1][1]==0){p[1][1]=2;s=0;}
                   else if(p[1][2]==0){p[1][2]=2;s=0;}
                   else if(p[1][3]==0){p[1][3]=2;s=0;}
                   else if(p[1][4]==0){p[1][4]=2;s=0;}break;
            case 3:if     (p[2][0]==0){p[2][0]=2;s=0;}
                   else if(p[2][1]==0){p[2][1]=2;s=0;}
                   else if(p[2][2]==0){p[2][2]=2;s=0;}
                   else if(p[2][3]==0){p[2][3]=2;s=0;}
                   else if(p[2][4]==0){p[2][4]=2;s=0;}break;
            case 4:if     (p[3][0]==0){p[3][0]=2;s=0;}
                   else if(p[3][1]==0){p[3][1]=2;s=0;}
                   else if(p[3][2]==0){p[3][2]=2;s=0;}
                   else if(p[3][3]==0){p[3][3]=2;s=0;}
                   else if(p[3][4]==0){p[3][4]=2;s=0;}break;
            case 5:if     (p[4][0]==0){p[4][0]=2;s=0;}
                   else if(p[4][1]==0){p[4][1]=2;s=0;}
                   else if(p[4][2]==0){p[4][2]=2;s=0;}
                   else if(p[4][3]==0){p[4][3]=2;s=0;}
                   else if(p[4][4]==0){p[4][4]=2;s=0;}break;
            case 6:if     (p[5][0]==0){p[5][0]=2;s=0;}
                   else if(p[5][1]==0){p[5][1]=2;s=0;}
                   else if(p[5][2]==0){p[5][2]=2;s=0;}
                   else if(p[5][3]==0){p[5][3]=2;s=0;}
                   else if(p[5][4]==0){p[5][4]=2;s=0;}break;
            case 7:if     (p[6][0]==0){p[6][0]=2;s=0;}
                   else if(p[6][1]==0){p[6][1]=2;s=0;}
                   else if(p[6][2]==0){p[6][2]=2;s=0;}
                   else if(p[6][3]==0){p[6][3]=2;s=0;}
                   else if(p[6][4]==0){p[6][4]=2;s=0;}break;
        }
        }      
    }
    
    char viergewinnt::getm(int x, int y)
    {   if(p[x][y] == 2){setFW(10);return 'O';}
        if(p[x][y] == 1){setFW(12);return 'X';}
        if(p[x][y] == 0)return ' ';
    }
    
    void viergewinnt::setFW(int farbe)
    {
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), farbe);     
    }
    
    void viergewinnt::matrix()
    {  setFW(15);
       cout<<endl<<"    1   2   3   4   5   6   7 "<<endl;
       for(int i=4; i>=0; i--)
       { 
          cout<<"  +---+---+---+---+---+---+---+"<<endl;
           cout<<"  | ";setFW(15);
           cout<<getm(0,i);
           setFW(15);cout<<" | ";
           cout<<getm(1,i);
           setFW(15);cout<<" | ";
           cout<<getm(2,i);
           setFW(15);cout<<" | ";
           cout<<getm(3,i);
           setFW(15);cout<<" | ";
           cout<<getm(4,i);
           setFW(15);cout<<" | ";
           cout<<getm(5,i);
           setFW(15);cout<<" | ";
           cout<<getm(6,i);
           setFW(15);cout<<" | "<<endl;
    
    }
    
    cout<<"  +---+---+---+---+---+---+---+"<<endl;
    }
    
    int viergewinnt::win()
    {  for(int i=1; i<3; i++)
      {if(p[0][0] == i && p[0][1] == i && p[0][2] == i && p[0][3] == i)return 1;
       if(p[0][1] == i && p[0][2] == i && p[0][3] == i && p[0][4] == i)return 1;
       if(p[1][0] == i && p[1][1] == i && p[1][2] == i && p[1][3] == i)return 1;
       if(p[1][1] == i && p[1][2] == i && p[1][3] == i && p[1][4] == i)return 1;
       if(p[2][0] == i && p[2][1] == i && p[2][2] == i && p[2][3] == i)return 1;
       if(p[2][1] == i && p[2][2] == i && p[2][3] == i && p[2][4] == i)return 1;
       if(p[3][0] == i && p[3][1] == i && p[3][2] == i && p[3][3] == i)return 1;
       if(p[3][1] == i && p[3][2] == i && p[3][3] == i && p[3][4] == i)return 1;
       if(p[4][0] == i && p[4][1] == i && p[4][2] == i && p[4][3] == i)return 1;
       if(p[4][1] == i && p[4][2] == i && p[4][3] == i && p[4][4] == i)return 1;
       if(p[5][0] == i && p[5][1] == i && p[5][2] == i && p[5][3] == i)return 1;
       if(p[5][1] == i && p[5][2] == i && p[5][3] == i && p[5][4] == i)return 1;
       if(p[6][0] == i && p[6][1] == i && p[6][2] == i && p[6][3] == i)return 1;
       if(p[6][1] == i && p[6][2] == i && p[6][3] == i && p[6][4] == i)return 1;
    
       if(p[0][0] == i && p[1][0] == i && p[2][0] == i && p[3][0] == i)return 1;
       if(p[1][0] == i && p[2][0] == i && p[3][0] == i && p[4][0] == i)return 1;
       if(p[2][0] == i && p[3][0] == i && p[4][0] == i && p[5][0] == i)return 1;
       if(p[3][0] == i && p[4][0] == i && p[5][0] == i && p[6][0] == i)return 1;
    
       if(p[0][1] == i && p[1][1] == i && p[2][1] == i && p[3][1] == i)return 1;
       if(p[1][1] == i && p[2][1] == i && p[3][1] == i && p[4][1] == i)return 1;
       if(p[2][1] == i && p[3][1] == i && p[4][1] == i && p[5][1] == i)return 1;
       if(p[3][1] == i && p[4][1] == i && p[5][1] == i && p[6][1] == i)return 1;
    
       if(p[0][2] == i && p[1][2] == i && p[2][2] == i && p[3][2] == i)return 1;
       if(p[1][2] == i && p[2][2] == i && p[3][2] == i && p[4][2] == i)return 1;
       if(p[2][2] == i && p[3][2] == i && p[4][2] == i && p[5][2] == i)return 1;
       if(p[3][2] == i && p[4][2] == i && p[5][2] == i && p[6][2] == i)return 1;
    
       if(p[0][3] == i && p[1][3] == i && p[2][3] == i && p[3][3] == i)return 1;
       if(p[1][3] == i && p[2][3] == i && p[3][3] == i && p[4][3] == i)return 1;
       if(p[2][3] == i && p[3][3] == i && p[4][3] == i && p[5][3] == i)return 1;
       if(p[3][3] == i && p[4][3] == i && p[5][3] == i && p[6][3] == i)return 1;
    
       if(p[0][4] == i && p[1][4] == i && p[2][4] == i && p[3][4] == i)return 1;
       if(p[1][4] == i && p[2][4] == i && p[3][4] == i && p[4][4] == i)return 1;
       if(p[2][4] == i && p[3][4] == i && p[4][4] == i && p[5][4] == i)return 1;
       if(p[3][4] == i && p[4][4] == i && p[5][4] == i && p[6][4] == i)return 1;
    
       if(p[0][0] == i && p[1][1] == i && p[2][2] == i && p[3][3] == i)return 1;
       if(p[0][1] == i && p[1][2] == i && p[2][3] == i && p[3][4] == i)return 1;
       if(p[1][1] == i && p[2][2] == i && p[3][3] == i && p[4][4] == i)return 1;
       if(p[1][0] == i && p[2][1] == i && p[3][2] == i && p[4][3] == i)return 1;
       if(p[2][1] == i && p[3][2] == i && p[4][3] == i && p[5][4] == i)return 1;
       if(p[2][0] == i && p[3][1] == i && p[4][2] == i && p[5][3] == i)return 1;
       if(p[3][1] == i && p[4][2] == i && p[5][3] == i && p[6][4] == i)return 1;
       if(p[3][0] == i && p[4][1] == i && p[5][2] == i && p[6][3] == i)return 1;
    
       if(p[6][1] == i && p[5][2] == i && p[4][3] == i && p[3][4] == i)return 1;
       if(p[6][0] == i && p[5][1] == i && p[4][2] == i && p[3][3] == i)return 1;
       if(p[5][1] == i && p[4][2] == i && p[3][3] == i && p[2][4] == i)return 1;
       if(p[5][0] == i && p[4][1] == i && p[3][2] == i && p[2][3] == i)return 1;
       if(p[4][1] == i && p[3][2] == i && p[2][3] == i && p[1][4] == i)return 1;
       if(p[4][0] == i && p[3][1] == i && p[2][2] == i && p[1][3] == i)return 1;
       if(p[3][1] == i && p[2][2] == i && p[1][3] == i && p[0][4] == i)return 1;
       if(p[3][0] == i && p[2][1] == i && p[1][2] == i && p[0][3] == i)return 1;
       }
    
    }
    
    int viergewinnt::zugPC()
    {  srand (time(NULL));
        return rand()%7;
    }
    

    main.cpp

    #include <iostream>
    
    using namespace std;
    
    #include "viergewinnt.h"
    int main(int argc, char *argv[])
    {   viergewinnt spiel;
        int wahl, wahlpc;
        spiel.matrix();
        cout<<"    Player vs Player?   - 1"<<endl<<"    Player vs Computer? - 2  ";
        cin>>wahlpc;
        switch(wahlpc)
        {
            case 1: while (spiel.win() != 1)
                    {  
                        if(spiel.nextP()) { spiel.setFW(12); cout<<endl<<"       Spieler 1 (1-7): ";}
                        else {spiel.setFW(10);cout<<endl<<"       Spieler 2 (1-7): ";}
                        cin>>wahl;
                        system("cls");
                        if(spiel.nextP())spiel.setP1(wahl);
                        else spiel.setP2(wahl);
                        spiel.matrix();
    
                    }
    
                    if(spiel.win() == 1)if(spiel.nextP())  {spiel.setFW(10); cout<<endl<<endl<<"        Spieler 2";spiel.setFW(9);cout<<" WIN!";}
                    else { spiel.setFW(12);cout<<endl<<endl<<"        Spieler 1";spiel.setFW(9);cout<<" WIN!";}
                    break;
            case 2: while (spiel.win() != 1)
                    {  
                        if(spiel.nextP()) { spiel.setFW(12); cout<<endl<<"       Spieler 1 (1-7): ";}
                        else {spiel.setFW(10);cout<<endl<<"       Comp 2 (1-7): ";}
                        if(spiel.nextP())cin>>wahl;
                        system("cls");
                        if(spiel.nextP())spiel.setP1(wahl);
                        else spiel.setP2(spiel.zugPC());
                        spiel.matrix();
    
                    }
    
                    if(spiel.win() == 1)if(spiel.nextP())  {spiel.setFW(10); cout<<endl<<endl<<"        Computer";spiel.setFW(9);cout<<" WIN!";}
                    else { spiel.setFW(12);cout<<endl<<endl<<"        Spieler 1";spiel.setFW(9);cout<<" WIN!";}
                    break;
    
        }
    
        spiel.ruecksetzten();
    
        system("PAUSE>NUL");
        return EXIT_SUCCESS;
    }
    

    nicht schimpfen... 😃



  • habe das nun so:

    if
    player = (player == PLAYER1)
    {
    cout << spieler1<<"hat gewonnen!";
    }
    else if
    {
    cout << spieler2<<"hat gewonnen!";
    }
    

    jetzt meckert er bei

    player = (player == PLAYER1)



  • Lies doch bitte mal das hier.
    http://tutorial.schornboeck.net/if.htm



  • ist doch genau so wie ich das auch aufgebaut habe



  • harald444 bitte bitte schau dir doch endlich an wie die IF Anweisung in c++ Funktioniert!

    Hier ist sogar nochn Tut
    http://tutorial.schornboeck.net/if.htm

    Alta ich hab heute echt meinen guten Tag

    Keros



  • habe ich doch und meine if anweisung ist doch vom aufbau her die gleiche



  • 1 tip, dann verzieh ich mich hier wieder - wenn ich das scho lese - ich habs doch so... na gut - funktionieren tuts nich und es sieht auch ein wenig anders aus, aber ich habs doch genau so gemacht!!1111einself

    if (player == PLAYER1)
    {
    ...
    }
    

    hf



  • hä habe das nun so

    geht immer noch nicht

    if (player == PLAYER1)
    {
    cout << spieler1<<"hat gewonnen!";
    }
    else if
    {
    cout << spieler2<<"hat gewonnen!";
    }
    


  • ok geil hab es nun so gelöst es funzt.

    if (player == PLAYER1)
    {
    color(player1);
    cout <<" ";
    cout << spieler1<<" hat gewonnen!";
    color(text);
    }
    else
    {
    color(player2);
    cout <<" ";
    cout << spieler2<<" hat gewonnen!";
    color(text);
    }
    


  • Den Himmel sei dank!!!



  • Dem


Anmelden zum Antworten