• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Gooden

Labirinto Digital :D

29 mensagens neste tópico

Boa Tarde pessoal :P

Bom reparei agora esta secção muito gira e venho aqui propor um desafio. :P

Nome do desafio: Labirinto Digital

Descrição: Fazer um pequeno jogo do labirinto apenas com o objectivo de aprender. No final ira haver uma votação com os trabalhos.

Regras:

-Proibido Plagio

-Obrigatório Divertir-se e aprender

-Compartilhação do código

Juris:

-Todos (Sistema de Votações)

Participantes:

-Gooden

-RVG

-qwerty

Data Limite:

-2 Semanas (14 de fevereiro Entregas)

Votação:

-Começa: 2 Semanas e 1 Dia (15 de fevereiro a 00:00)

-Termina: 7 Dias (22 de Fevereiro)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou dar uma sugestão porque não fazer um programa que lê um labirinto de 0 e 1 onde o zero faz o caminho e 1 as paredes ?? tipo o programa lia o ficheiro e encontrava o caminho?

Fiz uma coisa parecida à uns anos e é muito construtivo a nível de lógica.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vou dar uma sugestão porque não fazer um programa que lê um labirinto de 0 e 1 onde o zero faz o caminho e 1 as paredes ?? tipo o programa lia o ficheiro e encontrava o caminho?

Fiz uma coisa parecida à uns anos e é muito construtivo a nível de lógica.

Magician aqui o objectivo de aprender a programaçao mas tambem da imaginação :P  Essa ideia era a minha inicial mas a outros que podem ter outras ideias. Por exemplo base de dados etc.... nao sei :D

mas aquilo q tu tavas a dizer era isto. Exemplo de 5 x 5:

00000

01113

01000

21110

00000

0=parede

1=caminho

2=player

3=saida

né? =)

ou este de 10 x 10.

podem-se bazsiar neste se quizerem :P

2,2,2,2,2,2,2,2,2,2
2,1,1,1,1,1,2,2,1,3
2,2,1,2,2,2,2,2,1,2
2,2,1,2,2,2,2,2,1,2
2,1,1,1,1,1,1,2,1,2
2,1,2,2,1,2,2,2,1,2
2,1,2,2,1,2,2,1,2,2
0,1,1,1,1,2,2,1,2,1
2,1,2,2,1,1,1,1,1,1
2,2,2,2,2,2,2,2,2,2

0=player

1=caminho

2=parede

3=porta

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

00000

01113

01000

21110

00000

o caminho é: 211222

onde

1- cima

2-esquerda

3-baixo

4- direita

ou poderia ser :

100- cima

101-esquerda

110-baixo

111-direita

neste casso 101100100101101101

como de tratasse de um  sentido dos relógio

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

00000

01113

01000

21110

00000

o caminho é: 3113333

onde

1- cima

2-esquerda

3-baixo

4- direita

como de tratasse de um  sentido dos relógio

neste caso sim :P

Quem quer entrar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boax...

devo tar mesmo cansado :P

o caminho é: 211222

onde

1- cima

2-esquerda

3-baixo

4- direita

o caminho é: 3113333

nao seria antes 411444  ?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boax...

devo tar mesmo cansado :P

nao seria antes 411444  ?

depende da maneira que vejas o labirinto a tua tem mais logica

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como é pessoal ninguem se quer inscrever?? :P Vou meter data de entrega maxima :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu estou a tentar resolver em python. Só uma questão, como estão vocês a "resolver" (sim eu sei que é o grande objectivo) tendo por exemplo 2 caminhos, qual escolher. Ou seja, esta numa dada posição e à sua volta (4 possiveis) tem 2 1's(caminho). Aleatoriamente escolhe um? Estou a pensar nesta situação.

Ah, de referir que estou a partir do principio que só tenho conhecimento da minha posicao actual e o que há à sua volta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boax...

eu alinho em C#...

Mas so consigo pegar nisso no fim de semana ... e com sorte... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boax...

eu alinho em C#...

Mas so consigo pegar nisso no fim de semana ... e com sorte... :P

na boa RVG vou dar prai 2 semanas deve chegar... Linguagem não interessa :P

Eu estou a tentar resolver em python. Só uma questão, como estão vocês a "resolver" (sim eu sei que é o grande objectivo) tendo por exemplo 2 caminhos, qual escolher. Ou seja, esta numa dada posição e à sua volta (4 possiveis) tem 2 1's(caminho). Aleatoriamente escolhe um? Estou a pensar nesta situação.

Ah, de referir que estou a partir do principio que só tenho conhecimento da minha posicao actual e o que há à sua volta.

O objectivo é o jogador encontrar o caminho mas agora a imaginação de cada 1 é que vai ditar as regras :D

qwerty inscreveste?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Inscrevo :P

E acho que já está resolvido lol. Digo eu :P

PS:

0=player

1=caminho

2=parede

3=porta

Utilizei esta estrutura para resolver.

Edit: O labirinto já prédefinido num determinado tipo de dados (não a importar do ficheiro).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Inscrevo :P

E acho que já está resolvido lol. Digo eu :P

PS:

0=player

1=caminho

2=parede

3=porta

Utilizei esta estrutura para resolver.

Edit: O labirinto já prédefinido num determinado tipo de dados (não a importar do ficheiro).

OK Depois posta aqui no dia de entrega tabem? Codigo e executavel.... xD

ATENÇÃO PARA OS LABIRINTOS AS IMAGENS PODEM SER A VONTADE OU ATÉ USAREM APENAS LETRAS E NUMEROS. ISSO PODERÁ TAMBÉM CONTAR PARA O PUBLICO. :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Até 14 de Fevereiro? Isso é pouco tempo... Não dá para fazer até 29 de Fevereiro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os desafios vão ser todos reformulados, porque o formato ainda está a ser ajustado, portanto podem estar descansados quanto aos prazos. (quando cá entrarem não vão conhecer a secção)

Sobre o problema sugerido, o meu artigo da edição 10 da revista programar, sobre grafos, explica como achar o caminho mais curto num labirinto deste género usando BFS.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

djthyrax isso e 4 semanas né? :| Deixa o warrior decidir mas por mim tudo bem

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boax...

Tambem ja fiz o meu codigo :P ..

assim que se puder enviar o executavel para testes, avisem...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boax...

Tambem ja fiz o meu codigo :P ..

assim que se puder enviar o executavel para testes, avisem...

:P

Quando quizeres... a versão final e que so convem postares no fim :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

boax..

Onde é que o posso por, para fazerm down?  :-[

rapidshare maybe? ou HDD

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boax...

Ainda sou de bom tempo :P:D

Pensava que o pap disponibilizava espaco para estas coisas....

Nota: Versao alfa

Fiz em C#..

Apesar de ter ambiente grafico "mapa", nao fiz qualquer deteccao de sobreposicao de objectos... fiz em programacao pura e dura.. so com if, while, etc ...

- Tamanho maximo do mapa  20x20

- detecta ausencia de saida

- detecta ausencia de jogador

- semi inteligente:  :biggrin: so sabe as casas que estao ao seu lado, ou as casas em que tem visao desobstruida ( nao tenha parede pelo meio). o semi inteligente, é porque so ve nos eixos (X e Y), nao na diagonal.

- detecta possiveis erros do mapa  ( mais de 20 linhas ou colunas); linhas que nao tenham todas o mesmo tamanho.

Nota2:

Mapa ( de acordo com o enunciado inicial):

0 - pode passar

1 - parede

2 - jogador

3 - saida

http://rapidshare.com/files/88338183/labirinto_rvg.rar.html

Resultado (alterei, para ficar de acordo com o teclado numerico):

2 - baixo

4- esquerda

6- direita

8- cima

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora