>> ZAMYLA CHAN: Ayons amusement avec quinze.
Quinze est le premier jeu que vous obtenez à mettre en œuvre et il est interactif.
Maintenant, ne vous inquiétez pas.
Vous n'avez pas à écrire le tout cela vous-même.
Regardez le code de distribution, car une sort de la structure de jeu est déjà
mis en place pour vous.
Il accepte et traite une ligne de commande l'argument de l'utilisateur et crée un
carte basée sur cette entrée.
Il vérifie si le jeu est gagné et sorties fois que l'utilisateur a gagné la partie.
Et pour gagner le match, il devient entrée de l'utilisateur et
appelle la fonction de mouvement.
>> Nous allons donc être mise en œuvre de quatre fonctions pour le jeu des Quinze,
init, tirer, déplacer, et a gagné.
Tout d'abord, nous allons aborder initialisation.
Dans init, pour initialize, nous représentons le conseil dans un tableau d'entiers 2D.
Et c'est une variable globale appelée bord avec des dimensions MAX et MAX,
les dimensions maximales de la carte.
Maintenant, la dimension réelle de la carte est donnée par l'utilisateur, représenté en
l'entier d, ce qui pourrait être inférieure à MAX.
Mais, en C, vous ne pouvez pas redimensionner les tableaux, si vous êtes coincé avec
que dimension maximale.
>> Votre travail en init est à remplir les valeurs du conseil
avec la valeur correcte.
Maintenant, nous avons vu des tableaux 1D, mais comment tableaux 2D marche?
Il ya un index de la ligne, zéro indexé comme toujours, et puis aussi de
la colonne.
Et vous allez remplir votre grille en décroissant des valeurs, juste comme ça.
Grille, 0, 0, la ligne 0, colonne 0, est de 8, grille 0, 1 à 7.
Il s'agit d'un exemple où d, peu d, est de 3.
>> Maintenant, le conseil en Quinze doivent également contenir une tuile vierge, si vous avez jamais
joué avec le jeu physique.
Mais, planche est un tableau d'entiers, de sorte toutes les valeurs doivent être des entiers.
Donc, c'est à vous de décider un nombre entier valeur pour représenter une tuile vierge.
Pour initialiser votre carte, vous pouvez utiliser structures en boucle pour contenir la
à partir état de la carte, où le Conseil i j représente l'élément à
la ligne i et la colonne j.
Ils commencent en ordre décroissant et, se rappeler que, si le nombre de carreaux
est impair, alors vous allez avoir à échanger la position de deux et de 1.
Alors là, nous avons notre conseil initialisé.
>> Maintenant que nous avons initialisé notre conseil d'administration, il est temps de le dessiner.
Tirage imprimer l'état actuel de la conseil d'administration, mais vous devez vous assurer
pour imprimer carreaux dans le même ordre que vous les avez initialisé.
Et vous avez aussi besoin de formater vos numéros correctement.
Parce que nous pourrions avoir des chiffres simples et deux chiffres, alors que vous voulez
imprimer un espace avant des nombres à un chiffre.
Vous utilisez qu'en utilisant l'espace réservé -.
>> Mais souvenez-vous de notre espace.
Nous ne voulons pas d'imprimer le nombre réel que nous avons choisi pour représenter
que l'espace vide en pension, mais nous avons également ne veulent pas de ne rien imprimer du tout.
Donc, ce que vous pouvez faire est de définir un symbole ou caractère pour représenter la
carrelage blanc.
Dans les exemples précédents, j'ai choisi un soulignez, et alors que vous venez d'imprimer
que chaque fois que vous atteignez le vide espace dans votre fonction de tirage.
>> Donc tirer auront niché pour les boucles.
Quelque chose comme ça.
Pour chaque ligne, puis pour chaque valeur de la ligne, vous allez imprimer le
La valeur de cet espace.
Une fois que vous avez imprimé toutes les valeurs dans la ligne, alors vous
peut imprimer une nouvelle ligne.
Rappelez-vous que l'ordre de votre tirage fonction doit écho ou refléter l'ordre
dans votre fonction initialisée.
>> Maintenant que vous avez initialisé la carte et que vous avez dessiné, il est temps de laisser
l'utilisateur le modifier et faire leurs mouvements.
Ainsi, dans la fonction Fifteen.c, la programme prend en entrée de l'utilisateur et
puis appelle la fonction de déplacement, en passant dans le numéro de la tuile que le
l'utilisateur veut se déplacer.
Maintenant, soyez prudent.
Ceci est le nombre réel de la tuile et pas de sa position réelle.
Ainsi, vous aurez besoin de chercher pour la tuile de mesure de savoir où il est.
>> Maintenant, vous ne devez permettre à l'utilisateur de faire un geste si c'est légal.
Un mouvement juridique est une tuile qui est adjacente à la tuile en blanc.
Cela signifie que, au-dessus et au-dessous, à la gauche et vers la droite.
Ainsi, vous aurez besoin de savoir où le carreau blanc est ainsi.
Maintenant, pour chaque mouvement que vous êtes à la recherche de le carreau des utilisateurs, mais il est probablement
pas mieux pour la recherche de la tuile vierge chaque fois parce que vous le faites
chaque fois que la l'utilisateur veut se déplacer.
Ainsi, au lieu, il est préférable de se rappeler où le carreau blanc utilise une partie
bien des variables nommé.
Donc, une fois que vous permettez à l'utilisateur de faire leur se déplace, ils sont sur la bonne
façon de gagner le jeu des Quinze.
>> Pour gagner le jeu des Quinze, les tuiles doivent être dans un ordre spécifique, et
la fonction remporté vérifie si le jeu est gagné.
Il renvoie True si le jeu est gagné et les carreaux sont dans l'ordre correct,
et False sinon.
Donc, pour gagner le jeu de quinze, carreaux être croissant, avec le
carrelage blanc dans le coin en bas à droite.
Alors, comment pouvez-vous vérifier si l'utilisateur a déplacé la carte dans le droit
orientation?
>> Eh bien, vous parcouriez le conseil et vérifier les valeurs de s'assurer que
ils sont à la bonne place.
Pour ce faire, vous pouvez utiliser imbriquée pour les boucles comme vous l'avez fait
en tirage et en initialisation.
Il ya deux façons de vérifier et de valider si le conseil est
correct et une victoire formation, si.
Si vous allez de gauche à droite, en commençant de la rangée du haut vers le bas, puis tous les
nombre doit être supérieur à la précédente.
Soyez prudent sur ce que vous appréciez avons choisi pour votre carrelage blanc si.
>> Ou vous pouvez utiliser une variable compteur veiller à ce que chaque valeur est en place, si
vous venez avec une sorte de formule pour représenter cela.
Alors amusez-vous à expérimenter avec les maths.
Une fois que vous êtes venu avec une façon, le retour Vrai fois que l'utilisateur a gagné la partie.
Mais si une valeur est incorrecte, le retour Faux, l'utilisateur doit continuer à se déplacer
parce qu'ils n'ont pas gagné la partie.
Une fois que vous implémentez cette vérification et, le long de avec initialisation, dessiner et déplacer,
vous avez terminé le jeu des Quinze.
Félicitations et ont plaisir à jouer.
Mon nom est Zamyla et c'est CS50.