cientificidade
Curso: Sistemas de Informação
Disciplina: Programação I
Trabalho Final
Devem ser desenvolvido em Pascal.
Você conhece o jogo 2048? Este é um puzzle matemático que tem como objetivo atingir o número 2048 através da soma de números iguais, ou seja, 2+2=4, 4+4=8, 8+8=16, 16+16=32,
32+32=64, 64+64=128, 128+128=256, 256+256=512, 512+512=1024 e, finalmente,
1024+1024=2048.
2
2
2
2
16
4
8
4
4
4
8
4
8
8
Tabela 1: Situação do tabuleiro antes e depois de movimentar para cima
Você só pode movimentar as peças para quatro direções: esquerda, direita, cima e baixo.
Sempre que uma direção é escolhida, todas as peças deverão ser movidas ao mesmo tempo para a direção escolhida. Elas param de se mover quando esbarram no limite do tabuleiro ou em outra peça.
O “campo de batalha” se dá em um tabuleiro 4 x 4 (matriz 4 x 4). Inicialmente, o computador escolhe aleatoriamente uma posição vazia e insere uma peça com o valor 2. Daí por diante, sempre que o jogador fizer um movimento, o computador deverá escolher aleatoriamente uma posição vazia, APÓS O MOVIMENTO TER FINALIZADO, e insere outra peça 2. Nunca inserir peça com outro valor que não seja número 2.
4
8
32
8
2
2
Tabela 2: Situação do tabuleiro depois de alguns movimentos
O jogo termina quando o número 2048 for atingido ou quando não houver mais movimento a ser feito pelo jogador.
4
8
32
2
8
256
4
64
2
8
4
2
8
32
2
8
Tabela 3: Tabuleiro cheio que ainda permite movimento do jogador (para cima somando 4 + 4)
Nem sempre o jogo termina quando o tabuleiro está cheio. É necessário que NÃO EXISTA MAIS
POSSIBILIDADE DE MOVIMENTO para que o jogo termine.
4
8
32
2
8
256
4
64
2
8
16
2
8
32
2
8
Tabela 4: Tabuleiro cheio que não permite mais movimentos do jogador (fim de jogo)
Seu trabalho final será