Hur använda klasser för att strukturera flervalshistoria?
Här är lite pseudokod för ett väldigt enkelt frågespel som kanske kan ge dig lite inspiration:
// Klass för ett svarsalternativ:
class Choice {
string label; // Texten för svarsalternativet.
int nextQuestion; // Indexet på nästa fråga om detta alternativ väljs.
}
// Klass för en fråga:
class Question {
string message; // Texten för frågan.
Choice choices[]; // En lista med svarsalternativ.
void print() {
// Skriver ut frågan och svarsalternativen.
}
int getAnswerIndex() {
// Läser in användarens svar och returnerar indexet för nästa fråga.
// (d.v.s. choices[användarens val].nextQuestion).
}
}
main() {
Question questions[] = {
/*0*/ Question("Gillar du fisk?", {Choice("Ja", 1), Choice("Nej", 2)}),
/*1*/ Question("Kul, det gör jag också!", {Choice("Slut", -1)}),
/*2*/ Question("Varför gillar du inte fisk?", {Choice("Fiskar är läskiga", 3), Choice("Fisk? Jag tyckte du sa smisk.", 0)}),
/*3*/ Question("Ok, det var ju synd.", {Choice("Slut", -1)})
};
// Börja på fråga 0.
int current_index = 0;
// Kör så länge som indexet är större än 0.
while(current_index >= 0) {
// Skriv ut den nuvarande frågan.
questions[current_index].print();
// Gå till nästa fråga baserat på vad användaren valde för alternativ.
current_index = questions[current_index].getAnswerIndex();
}
}
- Igår Nästa generations Intel-processorer får nya modellnummer 63
- 1 / 5 Del 1: Windows-kommandon du måste kunna 21
- 1 / 5 Switch 2 ryktas få magnetiska Joy-Cons: Så kan det fungera 21
- 1 / 5 Testpilot: Phanteks XT Pro Ultra – Prisvärt och modernt chassi 2
- 1 / 5 AMD:s planerade toppmodell i RDNA 4-familjen var en bjässe 39
- Vad gör ni oftast med gamla fungerande datorkomponenter?0
- 3D skrivare - Diskussionstråden1752
- Nu kan du logga in på Microsoft-konton med nycklar10
- Laglig elsparkcykel för båten?7
- Proshop hävdar förpackningen har ingen värde99
- [LEK] Gissa spelet15554
- Så snabbt hittar RTX 4090 lösenordet26
- Ryskt spelbolag sponsrar Dreamhack-turneringar68
- Dator andrahandsvärde6
- Styra RGB efter tid på dygnet2
- Säljes Stationär dator - AMD 5950x
- Säljes M80Q Gen 3 Desktop Auktion
- Säljes Gamingskäm 27" 170Hz 1ms Nano IPS 1440p (AOC AG273QXP)
- Bytes XFX 6900xt Merc 319
- Säljes Benq Zowie XL2546K 240Hz
- Säljes Pixel 8 pro svart 128gb
- Säljes Sapphire RX7900XT Pulse OC 20GB
- Säljes Benq Zowie XL2546K 25" 240Hz
- Säljes PowerColor RX 6800 XT Red Dragon - Kvitto/Garanti
- Säljes META Quest 3 128 GB ( Nyskick )
- Nu kan du logga in på Microsoft-konton med nycklar10
- Så snabbt hittar RTX 4090 lösenordet26
- Sjukvården i Kronoberg får kritik för AI-journaler46
- Windows 10 fortsätter dra till sig nya användare66
- Fanboy-quiz: Vad kan du om Nintendo?98
- Netflix tvingar Basic-kunder att byta till dyrare abonnemang31
- Rustar i oroliga tider: ”Jag har insett vikten av mitt jobb”17
- Nästa generations Intel-processorer får nya modellnummer63
- VPN-anslutningar slutar fungera efter Windows-uppdatering24
- Discord uttalar sig efter att 14 000 servrar skördats på meddelanden21