Taula de continguts:

CODIFICA UN JOC AMB PITÓ (PER A MANQUES!): 14 passos
CODIFICA UN JOC AMB PITÓ (PER A MANQUES!): 14 passos

Vídeo: CODIFICA UN JOC AMB PITÓ (PER A MANQUES!): 14 passos

Vídeo: CODIFICA UN JOC AMB PITÓ (PER A MANQUES!): 14 passos
Vídeo: Праздник. Новогодняя комедия 2024, Desembre
Anonim
CODIFICA UN JOC AMB PITÓ (PER A MANQUES!)
CODIFICA UN JOC AMB PITÓ (PER A MANQUES!)

Benvingut a Python, el tercer llenguatge de programació més popular a tot el món! … i sens dubte el més senzill. Sabíeu que tant Youtube com Google tenen Python com a idioma principal per a les seves aplicacions i llocs web aconseguits? BÉ … Ara ja ho saps; i també hauríeu d'esbrinar per què Python és extremadament important per al futur de l'era de la tecnologia moderna 4.0.

És possible que també tingueu en compte que la indústria de la codificació de jocs prospera més que mai, ja que cada vegada hi ha més gent que té telèfons intel·ligents. I Python és un llenguatge de codificació bastant ideal que es pot utilitzar de manera senzilla … tot i que, si està ben programat, els jocs addictius són! Ara pot semblar una maleïda tasca descoratjadora quan la paraula "codificació de jocs" us passi pel cap … Però no us preocupeu! Mitjançant aquest instructiu, estareu en aquest viatge amb mi sobre com codificar completament un joc senzill, de l'A a la Z, per a tothom, ràpid i breu, sense pagar.

Si encara no heu tingut Python, feu clic AQUÍ per descarregar aquest increïble llenguatge (i també animal, suposo …). És totalment gratuït. Un cop hàgiu acabat, és hora de divertir-vos.

Pas 1: entendre quin joc faràs

Comprèn quin joc faràs!
Comprèn quin joc faràs!

És crucial que us asseieu davant d’un programa Python sabent exactament què cal codificar.

Recordeu que aquest instructiu és per a TOTS! I no voldríeu escollir alguna idea dura, com ara Asphalt 8 o FIFA Mobile; Per descomptat, aquest Python és capaç de tot, però us trigarà una mica a professar a Python (probablement 2 anys! No es podria adaptar a aquest * urgh * instructable). En canvi, voldríeu combatre amb idees tradicionals com Tic-Tac-Toe (que he escollit per ser un exemple per a vosaltres!), Penjat, etc. ahh un altre món, podeu provar-ho, però no aquí, perquè de nou, realment es necessita temps). Penseu en allò que us inspira, en un joc que és possible que tingueu alguns fitxers adjunts especials o en un joc que sàpiga exactament com funciona.

Pas 2: analitzeu el vostre joc

Analitzeu el vostre joc
Analitzeu el vostre joc

Després d'haver decidit a què us dedicareu possiblement la propera setmana de codificació, haureu d'escriure el que requereix el joc perquè tingueu una millor visió de com està configurat el joc.

Per exemple, el meu Tic-Tac-Toe 3x3 necessitaria 9 espais en blanc on els usuaris poguessin imprimir en "X" o "O". Aleshores, necessitaríem altres 9 espais en blanc per correspondre i desar els moviments dels usuaris. Hauria de fer alguna cosa per canviar entre "X" i "O" cada vegada que un jugador finalitza el seu mandat. També hauria de fer un bucle del procés de canviar i guardar moviments fins que hi hagi un guanyador més endavant, tenint en compte tres símbols consecutius precisament en direcció horitzontal, vertical o diagonal.

Bàsicament, això és tot! No heu de fer més que això … encara, suposant que no teniu experiència prèvia a molt pocs coneixements sobre Python. Ara … el següent pas us farà preguntar-vos molt sobre com convertir el que heu analitzat … en codi!

Pas 3: plasmeu l'anàlisi en gramàtica "informàtica"

Doneu forma a l’anàlisi
Doneu forma a l’anàlisi

A hores d’ara hauríeu d’entendre cap a on va el joc, al cap, al vostre idioma, amb la vostra lògica. Bé … l'ordinador no ho entendrà; i com que tenim molta més intel·ligència, hauríem de fer el primer pas per parlar en el seu idioma.

Tornem al meu Tic-Tac-Toe com a exemple, referint-me al pas 2, que el que primer necessito són uns 9 espais en blanc per emmagatzemar els moviments dels usuaris. Una manera podria ser dir-li a Python que faci una llista que contingui els nou espais. I mentre els usuaris escriuen en els seus moviments, substituïu aquest mateix espai per la "X" o la "O" al seu torn. Puc utilitzar alguns tipus de funcions de bucle a Python per ajudar a repetir el procés moltes vegades fins que hi hagi un empat o … un guanyador! La forma en què determino el guanyador és utilitzar una condició, que el joc continuï en el seu bucle si no passa res, o bé si els 9 espais estan ocupats o si hi ha un guanyador, el bucle s’enceta i el joc acaba.

Aquest pas és, no cal discutir-ho, el pas més difícil de tot aquest instructable. Ara, heu d’utilitzar la lògica humana per veure com podeu convertir el que heu escrit en Python. No us haureu de preocupar de si Python és capaç de manejar tota la vostra imaginació, té prou materials de codificació per satisfer-la. Si no trobeu el camí (que normalment seria el cas), un motor de cerca que recomano és Stack Overflow, és una comunitat petita on la gent sol preguntar-se les preguntes més absurdes que he vist mai i també on hi ha Són algunes de les respostes més brillants que tothom en pot obtenir!

PEGA’M AQUÍ! Els següents 7 passos, us mostraré 7 mètodes de Python que he considerat necessaris en tots els jocs més senzills. Que comenci el curs accidental!

Pas 4: Imprimir declaracions, números o objectes - Imprimir ()

Impressió de declaracions, números o objectes - Imprimir ()
Impressió de declaracions, números o objectes - Imprimir ()

Probablement això sigui el més fonamental de Python. Si no podeu imprimir res, per molt estel·lar que sigui el vostre programa, el món no serveix per a res. La manera com funciona és: imprimir ([escriviu alguna cosa aquí]). Per exemple, imprimir ("Ets intel·ligent") farà que Python imprimeixi "Ets intel·ligent" (ADVERTÈNCIA: No importa si fas servir cometes simples o dobles, n'has d'utilitzar una i has d'iniciar i finalitzar la cadena amb la mateixa espècie de pressupost!). Seguiu jugant amb la funció print (), feu que Python imprimeixi tot allò que us faci sentir bé (això és el que faria jo!). Fins que no pugueu passar al següent pas, podeu fer qualsevol investigació addicional sobre print () per obtenir una comprensió més profunda si ho desitgeu mitjançant Google o Stack Overflow.

print ("Sí, sóc aquí!")

print ("Sóc tan bo omg")

P / S: Podeu posar cometes dobles dins de la barrera de les cometes simples i viceversa, però no poseu el mateix dins de l’altre o … veureu el que vull dir!

El meu projecte Tic-Tac-Toe … per descomptat, exigeix molta impressió, des d’imprimir el tauler i la interfície d’usuari fins a confirmar l’estat del joc.

Pas 5: creeu una llista per contenir diversos objectes -

Creeu una llista per contenir diversos objectes -
Creeu una llista per contenir diversos objectes -

Una llista conté totes les variables en què voleu posar-les, és realment un regal que Python fa. Ara només cal establir-ne un, posar-li un nom, posar claudàtors, separar variables amb comes o també podeu deixar-lo buit (per poder-los afegir més endavant) i ja està a punt. ADVERTÈNCIA: no voleu posar-li el nom segons alguns mètodes o hi haurà un error de sintaxi, si el nom apareix en altres colors que no sigui el negre, la campana s'hauria d'engegar immediatament.

dalista = [5, 7, "sóc guapo", 12 + 1, 3.141592657]

o …

dalista =

dalist.append (5) #now dalist té [5] com a element!

Recordeu el tauler de 9 espais que us vaig parlar? Aquí és on es farà servir! Emmagatzemarà tot el "-" al principi; i a mesura que el jugador redueix la barra, el seu símbol substituirà el "-". Tots els elements d’una llista comencen des de 0, de manera que 0 fa referència al primer element, 1 es refereix al segon element, etc. Un exemple ideal seria: si us plau, treballeu molt per imaginar-ho aquí, que els 3 punts 0, 1, 2 són la primera fila del tauler 3x3. Si dalista [0] i dalista [1] i dalista [3] fan referència al mateix símbol, tenim un guanyador. Mireu, la llista pot ser extremadament útil i més senzilla del que penseu. Podeu trobar més informació sobre la llista de Python a través de Google o Stack Overflow.

Pas 6: estableix les condicions de les ordres: If, Elif & Else

Estableix les condicions per a les ordres: If, Elif & Else
Estableix les condicions per a les ordres: If, Elif & Else

La vida no sempre passa com voleu que sigui, i de vegades només ho feu si l’escenari compleix el vostre requisit. El mateix passa amb Python. No voldríeu que passés per totes i totes les situacions, perquè això és un veritable dolor. Per això, la condició if és tan útil. Funciona exactament igual que com s’interpreta, les ordres de dins que si el bloc només es durà a terme IF només quan compleixi el que estàs demanant. Per exemple, només imprimireu la declaració "Yessss" SI el vostre mode feliç és cert (suposant que l'identificador ja s'hagi declarat prèviament):

feliç = cert

si feliç == cert:

print ("Yessss")

Si hi ha un IF, normalment hi haurà un ELSE per a la resta d’escenaris que no coincideixen amb la condició establerta anteriorment. Digueu, quan estigueu tristos, imprimireu "Noooo" (continuació de la sentència if anterior):

en cas contrari:

print ("Noooo") #Però no imprimirà de totes maneres, no us preocupeu!

Hi ha un tipus especial de if a Python que anomenem ELIF. Pel mateix nom, probablement podríeu constatar que és la combinació de if i else. Per tant, si teniu dues o més condicions, elif és el tipus al qual trucareu (la puntuació suposada s'assigna a alguns números aleatoris abans):

puntuació = 65

si puntuació> = 90:

print ("Bona feina!")

elif 80 <= puntuació <90:

print ("Bon esforç!")

elif 70 <= puntuació <80:

print ("Podria haver estat millor!")

en cas contrari:

imprimir ("Bé ……")

ADVERTÈNCIA: La sagnia és important aquí. Determinarà les ordres que pertanyen a la sentència if, elif o else. Així que tingueu cura en dissenyar el vostre codi. També podeu anidar si les sentències juntes haurien de ser una condició que només es considerarà NOMÉS quan la més externa si és veritable primer. I de nou … Sagnia!

Al meu projecte Tic-Tac-Toe, literalment en vaig utilitzar tones. El joc de 3x3 pot semblar prou senzill, però haureu de tenir en compte un munt d’escenaris que podrien tenir lloc. En aquest cas, he de considerar si hi ha un guanyador o no, comprovant les 3 marques consecutives en totes direccions. Sí … ara no us confongueu, ja que tampoc no és tan complicat, només són una sèrie de codis redundants i només cal que canvieu la seva àrea de comprovació. Per obtenir més informació sobre aquest tema, feu clic a Desbordament de pila.

Pas 7: Més condicions en conjunt - i & Or

Més condicions en conjunt - i & Or
Més condicions en conjunt - i & Or

Qui va dir que una condició sempre pot ser només condició? Una sola condició també pot tenir diversos criteris. Tot i que la declaració imbricada pot ser una solució a curt termini, fa que el codi sigui substancialment més llarg. Per tant, hi ha els mètodes AND & OR. Tots s’utilitzen per combinar les condicions en un gran tractat. L'única diferència entre ells és que requereix que totes les condicions de la sentència one that siguin correctes abans de continuar; mentre que o només necessita un d'ells per ser correcte. Tots dos poden ser molt útils si s’utilitzen bé, ser intel·ligents, o bé aquests dos podrien embolicar-se amb la vostra lògica cerebral.

n = 5

a = 7

si n == 5 i a == 6:

print ("No, no hauria d'imprimir això")

si n == 3 o a == 7:

print ("Yupp hauria d'imprimir això")

He utilitzat seriosament i & o per escurçar dràsticament el Tic-Tac-Toe, ja que de vegades hi ha fins a 3 condicions alhora, quan he de tenir en compte les 3 posicions de la marca per determinar si hi ha guanyador o no. I & o seria molt útil! Per obtenir més informació, visiteu Stack Overflow.

Pas 8: un bucle que repeteix ordres fins que no es compleixin els criteris

Un bucle que repeteix ordres fins que no es compleixen els criteris
Un bucle que repeteix ordres fins que no es compleixen els criteris

Hem tractat sobre com imprimir, processar les coses només quan la condició és certa. Llavors, què us sembla … repetir aquest bloc moltes vegades, fins que es compleixi la condició? Sí, és per això que Python us ofereix una estona.

n = 1

mentre que n = 1:

print ("hooooo") #Sí, això imprimirà "hooooo" per sempre … i per sempre … en realitat … per sempre … i per sempre …

Això pot ser un problema, ja que no voleu que les vostres ordres es repeteixin indefinidament. Per tant, normalment, quan utilitzeu while, hi ha una tècnica que canvia el valor de la condició cada vegada que fa bucles, de manera que la condició s’actualitza i, fins que en algun moment necessiti els criteris, finalment s’aturarà. Per exemple, podeu afegir-hi el valor d'una unitat a la vegada i, a continuació, configurar el temps perquè funcioni fins a obtenir algun tipus de valors als quals arribarà el nombre:

n = 1

mentre que n <5:

imprimir ("tinc" + n + "cerveses boiiiii!")

n = n + 1 #o també podeu escriure n + = 1

Com funcionarà això n seguirà sumant-se a 1 al final de cada bloc de codi. El bucle while es farà en bucle sempre que n sigui menor de 5. Ara, fins a un moment (concretament en bucle de 4 vegades), n assolirà el valor de 5 i el bucle s’aturarà.

feliç = cert

mentre feliç:

print ("Yayyy ho he fet!") # En realitat no ho feu, però mereixeu saber que sempre hi arribareu.

Tot i que pot ser especialment útil en jocs com Tic-Tac-Toe, el de comprovació d'errors. De vegades us heu de permetre als usuaris entremaliats i, si continuen desordenant-se, el bucle while els mantindrà a ratlla fins que es comportin realment i introdueixin algunes entrades vàlides reals. Més informació a Stack Overflow

Pas 9: Mentre que bucle versió 2.0: per a

Mentre que Loop versió 2.0: per a
Mentre que Loop versió 2.0: per a

Certament, hi ha algunes situacions que FOR serà destronada per mentre, però per fa una altra cosa per a vosaltres, que mentre no pugueu … Té el valor en què es farà un bucle, exigeix a l'usuari establir el rang de bucle (Sí, per a bucle mai bucle per sempre i mai … en realitat …), i portar el valor del bucle cada vegada que es transforma, també! Ara és possible que sigui massa redactat, però tingueu en compte aquest exemple, per exemple, tm és el valor que voleu continuar amb el bucle for:

per tm en el rang (1, 5):

print ("Ja he tingut" + tm + "cerveses urghhh") # Això imprimirà "Ja he tingut 1 … 0,5 cerveses urghhh"

Mireu, us estalvia una línia de codi, però us facilitarà la vida per a la codificació de jocs (confieu en mi, he après això de la manera més difícil i no en voleu saber). Normalment, hauríeu d’anar al bucle FOR si heu definit amb força la vostra ment el nombre de vegades que voleu que es repeteixi un bloc de codi. ADVERTÈNCIA: la variable que es va portar junt amb el bucle for només existirà dins del bucle for, si hi feu referència en qualsevol lloc fora del bucle for, Python us començarà a mossegar i us preguntarà "A què diables us referiu ???"

Tic-Tac-Toe utilitza molt per al bucle. No es pot permetre el luxe de comprovar-ho tot cada vegada que canvia una variable (un dolor real). Però el que vaig fer va ser descobrir la regla de l’anatomia de Tic-Tac-Toe, canviar el valor dins del bucle for, comprovar les 3 columnes de símbols i només he d’ensenyar a Python com comprovar-ne una. Assegureu-vos de consultar Stack Overflow per obtenir més preguntes.

Pas 10: sol·liciteu les aportacions dels usuaris - Entrada ()

Sol·licita les aportacions dels usuaris - Entrada ()
Sol·licita les aportacions dels usuaris - Entrada ()

Per últim, però no menys important, sou el creador del joc i algú jugarà el vostre joc. I mai no s’endevina què fan. Així que el que podeu fer és fer el que han dit al vostre programa de fer, deixeu-los entrar directament en material. Junts, INPUT i PRINT probablement siguin els mètodes més fonamentals de Python, el necessitareu per sobreviure (són a tots els codis de joc, puc garantir el 100,00%). Això és prou senzill, només cal assignar una variable i deixar que sigui el que vulgui l’usuari:

alo = input ("Escriviu el vostre número de la sort!")

ADVERTÈNCIA: Hi ha molts tipus d’entrades, més sobre Stack Overflow. Sempre funcionaran si ho deixeu només input () així. Però, de vegades, és possible que vulgueu que sigui específic, com una entrada sencera o una entrada flotant (per defecte és una cadena).

lucky_day = int (entrada ("Sí, el vostre dia de la sort! Escriviu un número aquí:") #No escriviu lletres ara, no voleu que # embolicar-vos amb Python!

Tic-Tac-Toe en necessita un munt! Estic segur que ho podeu distingir vosaltres mateixos, per com sé cap a on van els usuaris i cap a què apunten (Heu encertat, no ho sé … però he utilitzat input ()!).

Pas 11: feu una investigació addicional sobre tots els mètodes que necessiteu

Feu investigacions addicionals sobre tots els mètodes que necessiteu
Feu investigacions addicionals sobre tots els mètodes que necessiteu

Sí, no heu de saber-ho tot sobre Python per crear un joc, de fet només heu de saber prou, començant per l’Ultimate 7 (pas 4-10, estic segur que d’alguna manera hauríeu de tocar-los tots per joc), i si no creieu que tots aquests 7 puguin satisfer el que esteu fent. Python té molta sorpresa i, de vegades, hi ha alguns mètodes terminològics que no es saben per a un ús tan específic. Assegureu-vos de cercar-los mitjançant Google o Stack Overflow.

El meu Tic-Tac-Toe feia servir tots els "set grans" i alguns més, però no gaire. Estic segur que tothom ho pot fer!

Assegureu-vos d’escriure-les totes al paper i de jugar amb tot el que necessiteu, enteneu el problema abans de penjar-vos-hi. Se sent prou preparat? Passem a … l'últim pas !!! PEGA’M AQUÍ, ja quasi hi ets!

Pas 12: creeu un marc d'esquelet per al vostre codi que funcioni

Construïu un marc d'esquelet per al vostre codi que FUNCIONA!
Construïu un marc d'esquelet per al vostre codi que FUNCIONA!

No vull desanimar-vos en absolut, però si voleu crear un joc que funcioni per a tothom, primer ha de funcionar de primera mà, començant per vosaltres. Reuneix tots els materials que necessites i configura el marc. Sé que és més fàcil dir-ho que fer-ho, però amb tots els tràmits a punt (si heu fet el que us he dit), hauríeu de ser bons.

No molesteu els errors de sintaxi al principi. És important que finalitzeu el codi sense cap interrupció, només quan arribeu a un carreró sense sortida que hauríeu d'aturar. Els humans, som sensibles als fluxos de pensament, he trobat una situació en què tot fluïa de manera fluïda i fluida, que no vaig anar al bany … El següent que vaig saber, vaig perdre el pensament. Així que sí, no repetiu després de mi! Deixeu-ho tot al cap mentre encara hi sigui i primer.

El procés Tic-Tac-Toe inclou sol·licitar l'entrada de l'usuari, mitjançant input (), utilitzar mentre que es purifiquen només les entrades vàlides. A continuació, es presenten un conjunt de if elif else, for i while per comprovar cada vegada si hi ha un guanyador. Cap guanya i el bucle while farà que el joc continuï fins que hi hagi un o tots els nou espais ocupats, donant lloc a un empat.

Després d'assegurar-vos que aquest és el joc, comenceu a executar el programa i, posteriorment, busqueu errors de sintaxi o semàntics. I, una vegada més, creeu un joc per a vosaltres mateixos, NO sigueu tots creatius balístics abans que el vostre marc original encara no hi fos. Ara fes-ho i continua! El teu joc està allà, què estàs esperant ???

Pas 13: fes-te fora, prova i fes-te un JOC

Feu-vos fora, proveu i feu-vos un JOC!
Feu-vos fora, proveu i feu-vos un JOC!

Això és! Tot el que heu de fer ara és no malgastar tots els vostres esforços previs, poseu-vos aquí! Crec que si seguiu tots aquests passos, n’hi haurà prou amb crear un joc. Si no, no et rendeixis, prova; Aquest instructiu és per ajudar a tothom, però només vosaltres podeu decidir el destí del vostre JOC. Recordeu, no us rendeixi, construïu primer els marcs de l’esquelet. Si hi ha errors de sintaxi estranys que no podeu veure, busqueu ajuda a través de Stack Overflow, això m'ha quedat gruixut.

De totes maneres, per acabar, molta sort en el vostre viatge amb Python, programa un joc, fes-me orgullós, perquè SOM PROGRAMADORSZZZZZZZ !!!!!

P / S: pas 14 per fomentar la creació.

Pas 14: * EXTRA! * Després de funcionar la vostra versió 1.0, dirigida a la creativitat

* EXTRA! * Després de funcionar la vostra versió 1.0, destinada a la creativitat
* EXTRA! * Després de funcionar la vostra versió 1.0, destinada a la creativitat

Si encara esteu llegint això, genial! No cal, però només vull avisar-vos que tot funcioni bé per a vosaltres, NOMÉS del que podeu editar perquè altres persones puguin utilitzar el vostre programa també; torneu a decorar-lo perquè el jugador sigui més fàcil; o actualitzeu el vostre joc (he actualitzat el meu Tic-Tac-Toe programant una IA. Ara m'ha costat una setmana (o 7/8 del meu temps) completar-lo). Assegureu-vos d'utilitzar i aprofitar Stack Overflow si hi ha dubtes. Us he desitjat la millor de les sorts, completeu el vostre joc, compartiu-lo al comentari següent i esteneu el moviment de codificació !!!

SOM PROGRAMMERZZZZ !!!!!

Recomanat: