Gå til innhold

Lager et Tekken turneringsprogram i c++


Anbefalte innlegg

Jeg startet enkelt så dette programmet er laget for bare 4 spillere.

Dere trenger egentlig ikke å lese all koden, det er bare en liten bit jeg har problemer med.

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;

void startround(int id);
void result(int score1, int score2, int player1, int player2);

string players[4];

struct player
{
      string name;
      int wins;
      int losses;
};

player p1, p2, p3, p4;

void startround(int id)
{
     

     players[0]=p1.name;
     players[1]=p2.name;  
     players[2]=p3.name;
     players[3]=p4.name;

     int number1;
     int number2;
     int number3;
     int number4;
     
     // Lager random tall
                 number1 = rand() % 4 + 1;
                 number2 = rand() % 4 + 1;
                 number3 = rand() % 4 + 1;
                 number4 = rand() % 4 + 1;
                 
     int score1;
     int score2;
     
     int player1;
     int player2;
     int player3;
     int player4;
     
     
     
     // Finner ut hvilken runde det er
     
     switch (id) 
     {
            case 1:
                 cout<<" Runde 1 \n";
                 
                 
                 cout<<""<< players[number1-1] <<" vs "<< players[number2-1] <<"\n"; 
                 cin>> score1;
                 cin>> score2;
                 
                 result(score1, score2, number1-1, number2-1);
                        
                 cout<<""<< players[number3-1] <<" vs "<< players[number4-1] <<"\n"; 
                 cin>> score1;
                 cin>> score2;

                 result(score1, score2, number1-1, number2-1);          
                 break;
            case 2:
                 cout<<" Runde 2 \n";
                 break;
            case 3:
                 cout<<" Runde 3 \n";
                 break;
            default:
            cout<<" Hva skjedde ?? \n";
            }

}

void result(int score1, int score2, int player1, int player2)
{
         
    if(score1>score2)
     {
     p1.wins++;
     }
     else
     {
     p2.wins++;
     }
     
}

int main()
{


  cout << "Tast inn alle fira namna..." << endl;
  cin >> p1.name;
  cin >> p2.name;
  cin >> p3.name;
  cin >> p4.name;

startround(1);
startround(2);
startround(3);

cout<<"Resultat: \n\n";

cout<<""<< players[0] << ": "<< p1.wins*3<<"\n";
cout<<""<< players[1] << ": "<< p2.wins*3<<"\n";
cout<<""<< players[2] << ": "<< p3.wins*3<<"\n";
cout<<""<< players[3] << ": "<< p4.wins*3<<"\n";


}

 

Hvis dere ser her:

 

void result(int score1, int score2, int player1, int player2)
{
         
    if(score1>score2)
     {
     p1.wins++;
     }
     else
     {
     p2.wins++;
     }
     
}

Så skal jeg jo oppdatere spillerne sine wins og losses, men problemet er på denne linjen:

p1.wins++;

Det skal jo egentlig ikke stå p1, men det skal stå verdien av player1(pluss en "p" foran, altså p1, p2, p3 eller p4). Håper dere skjønner hva jeg mener, hvis ikke si ifra.

Endret av willbend
Lenke til kommentar
Videoannonse
Annonse

Hvis du hadde hatt en array med player objekter kunne du jo lett hentet ut hvilket objekt du trengte fra den... Og heller kalle opp navnene fra objektene når du trenger dem...

 

Ellers kan du gjøre noe slikt... Litt mye kode, men skulle ikke være særlig tregt..

void result(int score1, int score2, int player1, int player2)
{
        
   if(score1>score2)
    {
       switch(player1){
       case 0: p1.wins++; break;
       case 1: p2.wins++; break;
       case 2: p3.wins++; break;
       case 3: p4.wins++; break;
       }
    }
    else
    {        
       switch(player2){
       case 0: p1.wins++; break;
       case 1: p2.wins++; break;
       case 2: p3.wins++; break;
       case 3: p4.wins++; break;
       }
    }
    
}

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...