kongebra Skrevet 12. januar 2015 Del Skrevet 12. januar 2015 Hei! Jeg har akkurat startet med Python for noen dager siden. Har litt bakgrunn fra PHP og WebDev fra før, men ikke noe i noe stor skala. Så jeg bestemte meg for å gå for ett programmerings-/script språk. Og valget falte på Python av forskjellige grunner. Men jeg har fått satt meg litt i gang i syntax og skrive måte i Python, og laget små scripts hittil, som kalkulerer forskjellige ting, som sjansen for å få Yatzee på ett kast for lekt litt med terninger for å komme i gang. Men nå bestemte jeg meg for å prøve å lage ett "spill", eller hva nå enn jeg skal kalle det; import time import random gold = 0 income = 1 upgrade_cost = 10 while True: print("Income: %i gold/sec - Gold: %i gold" % (income, gold), end="\r") gold += income # Set fast to be able to see how the progress is, as well as the luck time.sleep(0.1) luck = random.randint(0, 1000) if gold >= upgrade_cost: gold -= upgrade_cost income += 1 upgrade_cost **= 1.06 if luck == 123: lucky = 27 * income gold += lucky print('Winner winner chicken dinner! \n+%i gold' % lucky) Her er det jeg hatt fått kokt sammen i dag, etter dagens skole og jobb. Ikke fått lagt noe sjel og arbeid inn i dette, men er selv småfornøyd med min egen start. Som dere fort kan se, er ikke dette særlig interaktivt. Men som de fleste IDLE spill man finner på nettet for dagen, så sanker man "valuta" og oppgraderer 'ett eller annet'. Her er jo alt på full automatik, og har ett lite flakslodd i seg. Meningen med denne posten, er at jeg vil komme med ut i ett community en eller annen plass å se hva andre gjør, dele mine egne verk, men ikke minst lære! Si gjerne din mening om dette scriptet, ris eller ros. Og hva du ser som potensial! Lenke til kommentar
ApeBapsen Skrevet 27. januar 2015 Del Skrevet 27. januar 2015 Flotte saker! Et sted må man jo begynne! Lenke til kommentar
Enthroner Skrevet 27. januar 2015 Del Skrevet 27. januar 2015 (endret) Heisann!Her er en påstand: Dersom to spillere spiller dette spillet; vinner den med raskest PC. For å fikse problemet kan du prøve å skrive om fra en loop som bruker fastsatt søvntid, til en loop som bruker tidsdifferanse mellom nå - og forrige kall. Fra toppen av hodet mitt så ville det kanskje blitt noe slikt: ticksPerSecond = 30 targetDT = 1 / 30 incomePerSecond = 10 while True: dt = getCurrentTime() - lastTime lastTime = getCurrentTime() # use dt as delta time to calculate growth gold += (incomePerSecond * dt) # do your stuff time.sleep(targetDT - dt) Bruker du tidsdifferanse riktig skal det ikke ha noe å si om loopen kjører 1000 ganger i sekundet, eller om den kjører 0.8 ganger i sekundet. Bra jobba så langt! Lykke til EDIT: kan være smart å ha et gitt antall loddtrekninger per sekund også. Endret 27. januar 2015 av Enthroner Lenke til kommentar
kongebra Skrevet 28. januar 2015 Forfatter Del Skrevet 28. januar 2015 Takk for gode tilbakemeldinger! @Enthroner: Har sett på dette med Delta Tid i forhold til noen guider/tutorials på andre sider. Og kan selve begrepet i fra fysikken/matematikken på skolen. Og hvis jeg forstod deg riktig så kan man bruke ett slikt program for å sammenligne ytelse fra forskjellige PCer for å se hvem som klarer og få x-antall income på kortest mulig tid?! Det neste jeg ser for meg å gjør med dette lille prosjektet er å få skrevet koden i OOP for å lære meg det. I tillegg å få inn en 'command-line basert input' for å la bruker få styre selv oppgradering av income og implementere andre små "features". På forhånd, takk for alle svar, og jeg setter stor pris på tips for veiledning og forbedringer! Lenke til kommentar
Enthroner Skrevet 28. januar 2015 Del Skrevet 28. januar 2015 Hei igjen kongebra!OOP høres ut som en veldig bra oppgave videre! Du finner sikkert noen fine tutorials på å implementere en sånn delta time loop. Sikkert noen der ute som har en fin oppskrift Jeg ville kanskje ikke si at spillet ville vært en god test på ytelse, men med tid vil du se forskjell fordi koden utenfor sleep vil kjører raskere så den totale tidslinjen blir kortere. Ha en kongebra dag videre Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå