ZAMYLA CHAN: Tindrem Diverteix-te amb els Quinze. Quinze és el primer joc que s'obté per posar en pràctica i és interactiu. Ara bé, no es preocupi. No ha d'escriure la Tot això a tu mateix. Comproveu el codi de distribució pel fet que un Gran part de l'estructura de joc ja està preparat per a vostè. Accepta i analitza una línia d'ordres argument de l'usuari i crea un consellers en funció d'aquesta entrada. Comprova si el joc es guanya i sortides una vegada que l'usuari ha guanyat la partida. I per guanyar el joc, es posa entrada de l'usuari i crida a la funció Moure. Així que estarem implementant 04:00 funcions per al joc dels Quinze, init, dibuixar, moure i bestiar. En primer lloc, abordarem init. En init, per initialize, representem la junta en una matriu d'enters 2D. I aquesta és una variable global anomenada tauler amb dimensions MAX i MAX, les dimensions màximes de la junta. Ara, la dimensió real de la junta està donada per l'usuari, representat en el nombre enter d, el que podria ser menys de MAX. Però, en C, no es pot canviar la mida de les matrius, pel que vostè està encallat amb aquesta dimensió màxima. El seu treball en init és poblar els valors de la taula de amb el valor correcte. Ara, hem vist matrius 1D, però Com funcionen els arrays 2D? Hi ha un índex de la fila, zero indexats com sempre, i després també de la columna. I vostè omple la seva xarxa a en descendent valors, igual que aquest. Quadrícula, 0, 0, fila 0, columna 0, és 8, reixeta 0, 1 és 7. Aquest és un exemple on d, poc d, és 3. Ara, el Consell en Fifteen també ha contenir una fitxa en blanc, si alguna vegada has juga amb el joc físic. Però, tauler és una matriu d'enters, de manera que tots els valors han de ser sencers. Així que depèn de vostè per decidir un sencer valor per representar una rajola en blanc. Per inicialitzar la targeta, pot utilitzar bucle estructures per contenir la estat inicial de la junta, on a bord i j representa l'element en fila i i la columna j. Comencen en ordre descendent i, recordar, que si el nombre de rajoles és senar, llavors vostè va a haver de canviar la ubicació de 2 i d'1. Així que, tenim la nostra tauler inicialitzat. Ara, que hem inicialitzat nostre tauler, és el moment de dibuixar-lo. Draw imprimirà l'estat actual de la bord, però que necessita per assegurar-se que per imprimir rajoles en el mateix ordre que vostè els prèviament inicialitzats. I també cal formatar seus números correctament. Perquè pot ser que tinguem un sol dígit i dos dígits, llavors vostè vol imprimir un espai en blanc abans de els números d'un sol dígit. Utilitza que mitjançant l'ús el marcador de posició -. Però recordeu que el nostre espai en blanc. No volem imprimir el nombre real que hem triat per a representar aquest espai en blanc a la taula, però també no volen imprimir res en absolut. Així que el que pot fer és definir un símbol o el caràcter per representar la rajola en blanc. En els exemples anteriors que he triat un subratllat i després només imprimeix que cada vegada que s'arriba al blanc espai en la seva funció draw. Així sorteig s'han fet niu bucles for. Alguna cosa com això. Per a cada fila i, a continuació, per a cada valor de la fila, vostè va a imprimir la valor en aquest espai. Un cop s'ha imprès tots els valors a la primera fila, a continuació, pot imprimir una nova línia. Recordeu que l'ordre per a la seva sorteig funció ha de repetir o per reflectir l'ordre en la seva funció inicialitzat. Ara que ha inicialitzat el tauler i que vostè ha dibuixat, és hora de deixar l'usuari editar i fer els seus moviments. Així que en la funció Fifteen.c, la programa es porta a la entrada de l'usuari i després crida a la funció de moviment, passant en el nombre de la rajola que el usuari desitja moure. Ara, aneu en compte. Aquest és el nombre real de la rajola i no la seva posició real. Per tant, haurà de buscar la rajola de posició de saber on és. Ara, només s'ha de permetre que l'usuari per fer un moviment si és legal. Un moviment legal és qualsevol peça que es va adjacent a la rajola en blanc. Això significa, per sobre i per sota, a l'esquerra i cap a la dreta. Pel que vostè necessita saber on la rajola en blanc és també. Ara, per cada moviment que vostè està buscant la rajola usuaris, però és probable que sigui no és el millor per buscar la rajola en blanc perquè cada vegada que ho fas cada vegada que el usuari desitja moure. Així que, en canvi, el millor és recordar on la rajola en blanc està utilitzant alguna així les variables amb nom. Així que una vegada que vostè permet que l'usuari realitzi la seva moviments, que estan bé en el seu camí per guanyar el joc dels Quinze. Per guanyar el joc dels Quinze, les rajoles ha d'estar en un ordre específic, i la funció de bestiar comprova si es guanya el joc. Retorna True si el joc es guanya i les fitxes estan en l'ordre correcte, i False en cas contrari. Així que per guanyar el joc de quinze, rajoles haurà de ser creixent, amb el rajola en blanc a la cantonada inferior dreta. Llavors, com comprovar si l'usuari ha mogut la targeta a la dreta orientació? Bé, tindràs una iteració a la pissarra i comprovar els valors per a assegurar-se que que estan en el lloc correcte. Per a això, pot utilitzar imbricada bucles igual que ho va fer en el sorteig i en init. Hi ha un parell de maneres de comprovar i validar si el Consell és correcta i una sèrie formació, però. Si vostè va d'esquerra a dreta, començant des de la fila de dalt a baix, llavors cada nombre ha de ser major que l'anterior. Aneu amb compte amb el que vostè valora haver triat per al seu rajola en blanc però. O vostè podria utilitzar una variable de comptador per assegureu-vos que cada valor està al seu lloc, si d'arribar a algun tipus de fórmula per representar això. Així que diverteix-te experimentant amb les matemàtiques. Una vegada que ha arribat a una forma, el retorn És cert, un cop l'usuari ha guanyat la partida. Però si algun valor és incorrecte, el retorn Fals, l'usuari ha de seguir avançant perquè no han guanyat la partida. Quan s'implementa aquest control i, al llarg de amb initialize, dibuixar, i ens movem, que hagi acabat el joc dels Quinze. Felicitacions i es diverteixen jugant. El meu nom és Zamyla i això és CS50.