Öva på att programmera logik med ett hasardspel

Innehållsförteckning

Detta är inte en handledning som andra, det enda jag tar med här är en mini textgränssnittsspelFör att ge dig en inblick i hur det fungerar, här är en skärmdump av ett spel där jag "vinner".

De spelet handlar om att satsa och välja mellan tre alternativ som ges, omedelbart efteråt kommer ett av de dåliga alternativen att avslöjas (där du inte vinner) och ber dig att avgöra om du vill öka insatsen eller ändra alternativet (det finns bara 2 kvar, och ett är ditt , så ändringen kommer att ske automatiskt), för att slutligen visa resultatet, om du vinner kommer du att få summan av det ursprungliga saldot av krediter och din insats, om du förlorar kommer du att ha subtraktionen.

NoteraDet finns ingen algoritm för att skapa slumpmässiga tal, så vi litar på att skapa pseudo-slumpmässiga nummer för att avgöra vilket som är det vinnande alternativet, det görs med följande instruktioner:

 random.seed () ess = random.randrange (3)

Här är koden:

 importera io importera slumpmässigt från encodings.idna importera ace_prefix # coding = class set: def show (ele, pos, ace, ch = 0): aux2 = 0 if (ele == 0): print (".-… -… - . ") print (" 1 2 3 ") elif (ele == 1): print (" .-… -… -. ") aux = 0 ya = Falskt medan aux <= 2: if (aux == ess eller aux == pos eller ya): print ("X", end = "") else: print ("Q", end = "") ya = True aux2 = aux aux + = 1 print () else: aux = 0 while (aux 0): aux = "" + aux posi- = 1 print (aux + "Chosen") return aux2 # End show def choice (): op = 9 while (op = 3): print ("Vilket alternativ väljer du (1,2,3)? ") op = int (input ()) # genererar undantag om ett nummer inte anges in - = 1 om (op = 3): print (" Du kan bara välja mellan 1 till 3 hur alternativ ") retur op def readBet (credits): error = True while error: print (" Du har " + str (credits) +" credits, hur mycket satsar du? ") bet = int (input () ) # genererar undantag om inte ett nummer anges om (bet> krediter): print ("Du har inte så många krediter …") elif (bet 0: random.seed () ess = random.randrange (3 ) bet2 = 0 fel = True bet = game.readBet (credits) play = game () game.show (0,0,0,1) option = game.choice () game.show (0, option, ess) print ("Bekräftar du detta val?… SN ") safe = input () if (safe.lower () == 's'): print (" ok ") else: option = game.choice () auxiliary = game.show (1, option , ess) repeat = True medan repeat: print ("[A] öka insats, eller [C] ändra alternativ") conf = input () if (conf.upper () == 'A'): if ((credits- bet) == 0): print ("Du kan inte satsa mer, titta på dina krediter!") print ("Vill du ändra ditt alternativ? (Y / N) ") wish = input () if (wish.lower () == 's'): option = game.changeOption (extra, option) else: bet2 = game.readBet (bet-credits) repeat = Falsk elif (conf.upper () == 'C'): option = game.changeOption (extra, option) repeat = False else: print ("Fel alternativ> <") print ("Är du redo? … vad en spänning, tryck enter, låt oss se vad som händer ") input () game.show (2, option, ess) if (ace == option): print (" Yes, you win ") credits + = (bet + bet2) else: print ("Tyvärr, du vann inte") credits - = (bet + bet2) if (credits == 0): print ("Sorry, du har slut på krediter, hejdå, hejdå") else: print ( "Du har för närvarande" + str (credits) + "credits") print ("Vill du fortsätta spela (SN)") follow = input ()
I koden är variabeln ess, alternativet som kommer att vinna, det kommer att målas i slutet som bokstav A, om det är ett alternativ som inte vinner kommer det att målas som Q, du kan se alternativet du har valt med -symbolen som visas under alternativet.

NoteraMålet med spelet är inte att lära sig hur man gör bra kod eller att göra "videospel", utan snarare att lära sig hantera logik väl i programmering, att arbeta med villkor, slingor och interaktion med användaren. De möjliga undantagen som kan hoppa täcks inte för att undvika att lägga till "komplexitet", även om de i Python är mycket enkla att använda har raderna som kan generera problem kommenterats i koden.

Gillade du och hjälpte denna handledning?Du kan belöna författaren genom att trycka på den här knappen för att ge honom en positiv poäng

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave