Jump to content
Jorge Esteves

Trabalho pratico em C do "jogo do quadrado"

Recommended Posts

Jorge Esteves

Boas comunidade,

Estou com imensas duvidas em relação a realização deste trabalho dado que não sou um bom programador e ser o meu primeiro ano.

Ainda mais quando nunca tinha ouvido falar de tal jogo.

"Na sua variante mais simples, este é um jogo para duas pessoas que decorre num tabuleiro com N linhas e M colunas. O jogo inicia-se num tabuleiro vazio e os jogadores alternadamente colocam uma peça numa intersecção entre uma linha e uma coluna. As peças são iguais para os dois jogadores. Perde o jogo quem colocar uma peça que permita formar um quadrado no tabuleiro."

"Durante o jogo, o programa mantém o estado actual do tabuleiro, obtém e valida jogadas dos jogadores pela ordem correcta e vai actualizando o tabuleiro. Deve ainda detectar o final do jogo e identificar o vencedor. No caso de jogos com mais do que duas pessoas,

sempre que alguém é eliminado, deve proceder à actualização do tamanho do tabuleiro. Para além do funcionamento básico descrito, o programa deve disponibilizar as seguintes

opções adicionais:

1. Regressar a um ponto anterior do jogo (opção ´Undo): Cada jogador tem a oportunidade de accionar uma vez a opção Undo. Esta opção deve ser activada antes do jogador efectuar o seu movimento, permitindo-lhe regressar a uma configuração anterior (uma configuração em que seja a vez do mesmo jogador efectuar o movimento). Depois de activar a opção Undo, o jogador deve efectuar

o seu movimento.

2. Interromper o jogo: um jogo pode ser interrompido a meio. O estado do jogo deve ser guardado num ficheiro (jogadores, configuração actual do tabuleiro, jogadas já efectuadas), para que mais tarde seja possível retomá-lo. Esta funcionalidade só deve estar disponível se todos os jogadores estiverem registados. Ao guardar um jogo que foi interrompido, o programa deve gerar e fornecer aos jogadores um código alfanumérico. O jogo poderá ser retomado mais tarde, mediante a apresentação do código.

Durante um jogo, toda a informação sobre o tabuleiro e a sucessão de jogadas deve ser armazenada em variáveis dinâmicas (vectores alocados dinamicamente e/ou listas ligadas).

Os jogos interrompidos podem ser armazenados em ficheiros de texto ou ficheiros binários."

Agradeço o vosso tempo disponibilizado,

Cumps,

Jorge Esteves

Share this post


Link to post
Share on other sites
thoga31

Qual a dúvida ao certo? Não esperes que te dêem o código.


Knowledge is free!

Share this post


Link to post
Share on other sites
Jorge Esteves

a minha maior duvida está na construção do tabuleiro, dado que o tabuleiro não pode ser feito por arrays e no codigo da funcionalidade do programa.

Share this post


Link to post
Share on other sites
Localhost

Vais ter que utilizar pelo menos um vector de estruturas (por exemplo) para guardar as coordenadas...


here since 2009

Share this post


Link to post
Share on other sites
SPJM

Boas!

O que podes fazer é uma coisa deste género:

...
int *tabuleiro;

tabuleiro = malloc(sizeof(int) * linhas * colunas);
...

A partir daqui é ir actualizando o tabuleiro, p.ex., 0 se a posição ainda estiver livre, 1 se já tiver sido marcada!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.