>> ZAMYLA CHAN: Imos ter divertirse con quince.
Quince é o primeiro xogo que obteña para aplicar e é interactivo.
Agora, non se preocupe.
Non ten que escribir o todo mesmo.
Comprobe o código de distribución, porque un moito da estrutura do xogo xa está
configurado para ti.
El acepta e analiza unha liña de comandos argumento do usuario e crea unha
placa con base nesa entrada.
El comprobar se o xogo está gañado e sae xa que o usuario do gañou o xogo.
E para gañar o xogo, el está entrada do usuario e
chama a función Move.
>> Entón, nós imos estar aplicando catro funcións para o xogo de quince anos,
init, deseñar, mover, e gañou.
En primeiro lugar, imos resolver o init.
No init, para arrincar, representamos a tarxeta en un array de enteiros 2D.
E esta é unha variable global chamada tarxeta con dimensións MAX e MAX,
as dimensións máximas do consello.
Agora, a dimensión real do consello é dada polo usuario, representada en
o número enteiro d, o que podería ser inferior a MAX.
Pero, en C, non se pode cambiar o tamaño matrices, entón está preso con
esta dimensión máxima.
>> O seu traballo en init é cubrir os valores do consello
co valor correcto.
Agora vimos matrices 1D, pero como matrices 2D funciona?
Hai un índice da liña, zerar indexados, como sempre, e logo tamén de
a columna.
E vai encher a súa reixa en en descendente valores, así como este.
Reixa, 0, 0, liña 0, columna 0, 8 é, reixa 0, 1 a 7.
É dicir, para un exemplo onde d, pouco d, é 3.
>> Agora, o consello en Quince deben tamén conter unha tella en branco, se xa
xogado co xogo físico.
Pero o consello é un array de enteiros, de xeito todos os valores deben ser números enteiros.
Polo tanto, cómpre a vostede decide un enteiro valor para representar un azulexo branco.
Para arrincar a súa tarxeta, pode utilizar estruturas de loop para conter a
estado inicial da placa, onde bordo i j representa o elemento en
i fila e columna j.
Comezan en orde decrecente e, lembrar que, se o número de pezas
é estraño, entón vai ter que cambiar a localización de 2 e de 1.
Polo tanto, hai, temos a nosa tarxeta inicializar.
>> Agora que temos a nosa inicializar tarxeta, é hora de deseña-la.
Sorteo imprimirá o estado actual da tarxeta, pero ten que estar seguro de
para imprimir azulexos na mesma orde que teña iniciar eles.
E tamén precisa formatar seus números correctamente.
Porque pode ter un díxito e dous díxitos, entón quere
imprimir un espazo en branco antes todos os números de un díxito.
Usa isto usando o espazo reservado -.
>> Pero lembre-se o noso espazo en branco.
Non queremos imprimir o número real que temos escollido para representar
que o espazo en branco na tarxeta, pero tamén Non quere imprimir nada.
Entón o que podes facer é definir un símbolo ou caracteres para representar o
azulexo branco.
Nos exemplos anteriores, eu escollín un subliñado, e entón só imprimir
que sempre que chegar ao branco espazo na súa función de empate.
>> Entón deseñar terá aniñados para loops.
Algo parecido a isto.
Para cada liña, a continuación, para cada valor de a liña, está indo para imprimir o
valor neste espazo.
Tras impreso todos os valores na liña, entón
pode imprimir unha nova liña.
Lembre que a orde para o sorteo función debe ecoar ou reflictir a orde
na súa función inicializar.
>> Agora que arrincar a bordo e que teña deseñado tanto, é hora de deixar
o usuario editalo e facer os seus movementos.
Así, en función Fifteen.c, o programa leva a entrada do usuario e
logo chama a función de movemento, pasando o número da tella que o
usuario quere mover.
Agora, teña coidado.
Este é o número real da tella e non a súa posición real.
Entón, ten que buscar a tella de posición de saber onde está.
>> Agora, só debe permitir que o usuario para facer un movemento, se é legal.
Un tiro legal é calquera peza que se adxacente ao azulexo branco.
Isto significa que, por encima e por baixo, para á esquerda e á dereita.
Entón, vai ter saber onde o azulexo branco é tan ben.
Agora, para cada movemento que está a buscar a tella de usuarios, pero é probablemente
non mellor para buscar o azulexo branco cada vez, porque está a facer iso
cada vez que o usuario quere mover.
Entón, en vez diso, é mellor lembrar de onde o azulexo branco está a usar algún
ben nomeado variables.
Entón, cando facer que o usuario faga a súa movementos, están ben no seu
xeito de gañar o xogo dos Quince.
>> Para gañar o partido dos Quince, as tellas Ten que estar nunha orde específica, e
a función gañou comproba se o xogo está gañado.
El retorna True se o xogo está gañado e as tellas son na orde correcta,
e False caso contrario.
Entón, para gañar o xogo de quince anos, tellas ten que ser por orde crecente, co
azulexo branco na parte inferior dereita.
Así como comprobar se o usuario mudouse a tarxeta no dereito
orientación?
>> Ben, vai interactuar sobre a tarxeta e comprobar os valores para asegurarse de que
están no lugar seguro.
Para iso, pode utilizar nested loops, como fixo
no sorteo e no init.
Hai un par de formas de comprobar e validar se o consello é
correcta e unha gañadora formación, con todo.
Se vai de esquerda a dereita, comezando a partir da liña de arriba para abaixo, a continuación, cada
número debe ser maior que o anterior.
Teña coidado co que ten valor escolleu para a súa azulexo branco aínda.
>> Ou pode utilizar unha variable de contador para asegurar que cada valor é no lugar, no caso de
veña con algún tipo de fórmula para representar isto.
Entón divírtete se experimentando coa matemática.
Unha vez que chegar a unha forma, o retorno Certo, xa que o usuario gañou o xogo.
Pero se algún valor está incorrecto, o regreso False, o usuario ten que seguir movendo
por que non gañou o partido.
Despois de aplicar esta verificación e, xunto con initialize, deseñar e moverse,
xa rematou o xogo dos Quince.
Parabéns e divertirse xogando.
O meu nome é Zamyla e este é CS50.