ZAMYLA CHAN: Vamos nos divertir com 15. 15 é o primeiro jogo que você começa a implementar. E é interativo. Agora, não se preocupe. Você não tem que escrever o tudo mesmo. Verifique o código de distribuição. Porque um monte de a estrutura do jogo já está configurado para você. Ele aceita e analisa uma linha de comando argumento do usuário e cria uma placa com base nessa entrada. Ele verifica se o jogo está ganho, e sai uma vez que o usuário do ganhou o jogo. E para ganhar o jogo, ele fica entrada do usuário e chama a função de movimento. Então, nós vamos estar implementando quatro funções para o jogo de 15 - init, desenhar, mover, e ganhou. Primeiro, vamos resolver o init. No init, para inicializar, representamos a placa em um array de inteiros 2D. E esta é uma variável global chamada placa com dimensões máxima e máximo, o dimensões máximas do conselho. Agora, a dimensão real do conselho é dada pelo utilizador, representada em o número inteiro d, o que poderia ser menor do que o máximo. Mas em C, você não pode redimensionar arrays. Então, você está preso com que dimensão máxima. Seu trabalho em init é preencher os valores do conselho com os valores de correcção. Agora, temos visto matrizes 1D. Mas como matrizes 2D funciona? Há um índice da linha, 0 índice, como sempre, e então também da coluna. E você vai preencher sua grade em em descendente valores, assim como este. Grade 0, 0, linha 0, coluna 0, é 8. Grade 0, 1 é 7. Isto é para um exemplo onde d, pouco d, é 3. Agora, o conselho em 15 também deve conter um azulejo branco, se você já jogou com o jogo físico. Mas conselho é um array de inteiros. Assim, todos os valores devem ser inteiros. Portanto, cabe a você decidir um inteiro valor para representar um azulejo branco. Para inicializar sua placa, você pode usar estruturas de loop para conter a estado inicial da placa, onde bordo i, j representa o elemento em i linha e coluna j. Eles começam em ordem decrescente. E lembre-se que, se o número de peças é estranho, então você vai tem que trocar o local de 2 e de 1. Portanto, temos o nosso conselho inicializado.