- Information
- AI Chat
Var det här dokumentet användbart?
Roulette C++
Kurs: Grundläggande programmering med C++ G1N (IT120G)
19 Dokument
Studenter delade 19 dokument i den här kursen
Universitet: Högskolan i Skövde
Var det här dokumentet användbart?
Inlämningsuppgift #
Roulette
Grundläggande programmering med C++
Axel Juneblad
1
Introduktion............................................................................................................................3
Problembeskrivning...............................................................................................................3
Antaganden och krav.............................................................................................................4
Lösningsdesign......................................................................................................................5
Diskussion..............................................................................................................................8
Källkod....................................................................................................................................9
2
Introduktion
Denna uppgift går ut på att skapa ett roulette spel i C++. Roulette spelet fungerar på
följande sätt. Användaren tilldelas en startsumma på 1000 kr. Därefter väljer
användaren en insats på antingen 100, 300 eller 500 kronor, för att sedan satsa på
en färg eller siffra. Lyckas användaren förutse rätt erhålls en vinst på, tio gånger
insatsen vid rätt val av siffra eller två gånger insatsen vid rätt val av färg. Efter varje
slumpad färg eller siffra presenteras användarens vinst eller förlust, samt den totala
summa pengar användaren har. Vid en färdigspelad omgång har användaren
möjlighet att avsluta spelet eller fortsätta spela, förutsatt att det finns pengar kvar.
Det fanns flera olika lösningsförslag till hur programmet skulle se ut. Det som
underlättade mest var att utgå ifrån flödesdiagrammet och sedan dela upp varje del
för sig och stegvis översätta det till kod.
Problembeskrivning
Programmering av insats
Det värde som användaren väljer att satsa var det första problemet som uppstod.
Dessa värden fick bara vara 100, 300 och 500 kr. Alltså är det ej tillåtet för
användaren att satsa på en lägre eller högre summa. Därefter uppstod problemet om
användarens totala summa pengar. Om den totala summan är för liten för att ha råd
att satsa kan användaren ej spela vidare.
Programmering av spelval
I denna del av programmet uppstod problemet om vilket val av spel användaren
väljer. Då det finns två olika val av spel, färg eller siffra, behövde programmet
struktureras på ett sätt som gör att endast ett av dessa val startas. Svårigheten här
var just hur dessa spelval skulle startas för att sedan vidare kunna starta koden för
vilken färg eller siffra användaren valt.
Programmering av spelval färg
Ifall användaren väljer att spela med färg måste programmet kunna starta koden för
vilken färg användaren väljer att spela med, röd eller svart. Här uppstod det ett
problem då dessa färger behövde vara kopplade till en jämn och ojämn siffra för att
få fram ett resultat utav vinst eller förlust. Därefter måste även pengarna på kontot
ökas eller minskas beroende på resultatet och presenteras för användaren.
Programmering av spelval siffra
Det främsta problemet som uppstod ifall användaren väljer att spela med siffra var
att denna siffra måste jämföras med den siffra som slumpas fram. Mindre
3
problematiskt var hur koden för vilken siffra användaren matar in skulle se ut. Till sist
behövdes även ett resultat som, likt spelvalet färg, ökas eller minskas och därefter
presenteras för användaren.
Programmering av slump
Denna slumpgenerering är en kod som står skriven i uppgiftsbeskrivningen.
Problemet som uppstod med denna kod var att förstå hur den skulle sättas in och
användas. Likt de tidigare problemen behövde den siffra som slumpas fram också
jämföras med vad användaren valt.
Programmering av fortsättning och avslutning av spel
Att få programmet att börja om igen var ett återkommande problem, men också av
stor vikt för att få det hela att fungera. Användaren ska också ha ett val att kunna
avsluta spelet när den vill. Att avsluta programmet var också ett problem då det
implementerades i flera delar av programmet.
Antaganden och krav
Vad som händer ifall användaren anger en input som inte har ett tilldelat värde när
pengar satsas, är det första antagandet som gjordes. Då det inte står något i
uppgiftsbeskrivningen om att detta är ett krav, blir insatsen i detta fall 100 kr och
programmet fortsätter.
Att användaren ska kunna avsluta spelet är ett tydligt krav. Däremot är det mindre
tydligt ifall detta alternativ skulle förekomma vid flera tillfällen i spelet eller endast
efter en spelad omgång. Här görs ett antagande om att spelaren kan avsluta spelet
efter varje spelad omgång, men också ifall den angivna insatsen är högre än den
totala summa pengar på kontot.
Ett annat antagande är ifall användaren inte har råd med någon av insatserna, ska
det då finnas ett påfyllnings alternativ eller ska programmet avslutas? Detta program
har inget påfyllnings alternativ, utan ifall användaren får slut på pengar avslutas
programmet. Här görs också ett antagande kring vad som händer om användaren
har pengar kvar men försöker satsa på en insats de inte har råd med, då varnas
användaren med ett val om spelet ska fortsätta eller avslutas.
Ännu ett antagande är hur vinsten ska presenteras. Exempelvis, ifall användaren
satsar 300 kr och vinner på färg, ska då en summa på 300 kr eller 600 kr
presenteras som vinst? I det här fallet presenteras hela summan, alltså vinsten
inkluderat med insatsen.
4
Lösningsdesign
Programmering av insats
För att lösa detta används en selektion av flera if statements där en variabel och
siffra jämförs med hjälp av relations- och jämlikhets operatorn ==. Detta gör det
möjligt att tilldela flera olika värden till variabeln insats beroende på vilken siffra
5
Studenter visade också
2 av 12