Du kan få en färdig lösning från ChatGPT men du kommer inte lära dig något.
Jag klistrade in det du skrev och följande spottades ut:
Kod:
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
#include <cstdlib>
using namespace std;
// Definiera färgerna som en enum
enum Suit { SPADES, HEARTS, DIAMONDS, CLUBS };
const string suitNames[] = { "Spader", "Hjärter", "Ruter", "Klöver" };
const string rankNames[] = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "Knekt", "Dam", "Kung", "Ess" };
// Struktur för att representera ett kort
struct Card {
int rank; // Valör
Suit suit; // Färg
};
// Funktion för att blanda kortleken
void shuffleDeck(vector<Card>& deck) {
srand(time(0)); // Initiera slumpgeneratorn
random_shuffle(deck.begin(), deck.end()); // Blanda kortleken
}
// Funktion för att dra ett kort från kortleken
Card drawCard(vector<Card>& deck) {
Card card = deck.back(); // Ta det sista kortet i kortleken
deck.pop_back(); // Ta bort det sista kortet från kortleken
return card; // Returnera det dragna kortet
}
// Funktion för att jämföra två kort
int compareCards(const Card& card1, const Card& card2) {
if (card1.rank > card2.rank) return 1; // Om första kortet har högre valör
if (card1.rank < card2.rank) return -1; // Om andra kortet har högre valör
if (card1.suit > card2.suit) return 1; // Om första kortet har högre färg
if (card1.suit < card2.suit) return -1; // Om andra kortet har högre färg
return 0; // Om korten är lika
}
// Funktion för att skriva ut ett kort
void printCard(const Card& card) {
cout << rankNames[card.rank] << " av " << suitNames[card.suit] << endl;
}
int main() {
vector<Card> deck; // Skapa en kortlek
for (int i = 0; i < 13; ++i) {
for (int j = 0; j < 4; ++j) {
deck.push_back({i, static_cast<Suit>(j)}); // Lägg till kort i kortleken
}
}
shuffleDeck(deck); // Blanda kortleken
int player1Wins = 0, player2Wins = 0; // Håll koll på poängen
for (int round = 1; round <= 3; ++round) {
cout << "Runda " << round << endl;
Card player1Card = drawCard(deck); // Spelare 1 drar ett kort
Card player2Card = drawCard(deck); // Spelare 2 drar ett kort
cout << "Spelare 1 drar: ";
printCard(player1Card); // Skriv ut spelare 1:s kort
cout << "Spelare 2 drar: ";
printCard(player2Card); // Skriv ut spelare 2:s kort
int result = compareCards(player1Card, player2Card); // Jämför korten
if (result > 0) {
cout << "Spelare 1 vinner denna runda!" << endl;
player1Wins++; // Öka poängen för spelare 1
} else if (result < 0) {
cout << "Spelare 2 vinner denna runda!" << endl;
player2Wins++; // Öka poängen för spelare 2
} else {
cout << "Denna runda är oavgjord!" << endl;
}
cout << "Ställning: Spelare 1 - " << player1Wins << ", Spelare 2 - " << player2Wins << endl << endl;
}
cout << "Slutlig ställning: Spelare 1 - " << player1Wins << ", Spelare 2 - " << player2Wins << endl;
if (player1Wins > player2Wins) {
cout << "Spelare 1 är den totala vinnaren!" << endl;
} else if (player2Wins > player1Wins) {
cout << "Spelare 2 är den totala vinnaren!" << endl;
} else {
cout << "Spelet är oavgjort!" << endl;
}
return 0;
}
Jag föreslår att du istället sätter dig ner och lägger lite tid på det tills på Söndag och om du kör fast så kan du kolla efter tips i lösningen ovan.
Lämna INTE in något du inte förstår - det kommer skrika "AI-FUSK" om det.
Edit: Bad ChatGPT att kommentera på svenska - det kanske hjälper lite - men som sagt - lämna inte in utan att du själv förstår och skriv gärna allt själv från början och titta efter tips.