Conectar-se
Quem está conectado
22 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 22 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Checar objetos em tais posições?

em Qui 29 Abr 2010, 11:40
Olá,espero que eu não esteja a incomodar...

Eu estou tentando checar se tal quantidade de objetos está em tais posições. Tipo num jogo da velha,pra checar se o X ou o O estão alinhados em tais posições,assim:


Obrigado.
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 16

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

Re: Checar objetos em tais posições?

em Qui 29 Abr 2010, 15:36
Pode tentar fazer exatamente como na figura. Crie objetos/sprites na forma das linhas que você vai usar (no caso das diagonais, claro que com precise collision checking).

Digamos que seja jogo da velha: quando houver uma colisão do X ou do O com as linhas, adione 1 no contador respectivo (de X ou de O).
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: Checar objetos em tais posições?

em Qui 29 Abr 2010, 15:44
@Markituh escreveu:Olá,espero que eu não esteja a incomodar...

Eu estou tentando checar se tal quantidade de objetos está em tais posições. Tipo num jogo da velha,pra checar se o X ou o O estão alinhados em tais posições,assim:


Obrigado.

Você poderia utilizar variáveis para mostrar em que quadrado está cada X ou O, daí você verifica todas as possibilidades em um código. Esse seria o jeito mais correto mas você pode fazer tambem como o amigo ai em cima disse.
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 16

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

Re: Checar objetos em tais posições?

em Qui 29 Abr 2010, 17:31
Pois é, você TAMBÉM pode, alternativamente, utilizar duma array 2D, usar 1 para O e -1 para X (0 para nada) e verificar ao decorrer do jogo se há colunas, linhas ou diagonais formadas.

Adicionar usando um laço for para cada modelo, se necessário usando for dentro de for (acho que 5 for são necessários para as 3 checagens) e se o resultado der 3 ou -3, declarar um vencedor.

Mas por que diabos isso seria mais "correto" que a minha solução anterior, eu não faço idéia.
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: Checar objetos em tais posições?

em Qui 29 Abr 2010, 17:35
@KinKing escreveu:Pois é, você TAMBÉM pode, alternativamente, utilizar duma array 2D, usar 1 para O e -1 para X (0 para nada) e verificar ao decorrer do jogo se há colunas, linhas ou diagonais formadas.

Adicionar usando um laço for para cada modelo, se necessário usando for dentro de for (acho que 5 for são necessários para as 3 checagens) e se o resultado der 3 ou -3, declarar um vencedor.

Mas por que diabos isso seria mais "correto" que a minha solução anterior, eu não faço idéia.

Eu disse isso por que seria um jeito mais complexo e preciso. Só isso. Very Happy
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 16

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

Re: Checar objetos em tais posições?

em Qui 29 Abr 2010, 17:42
Concordo que é muito mais complexo, mas acho que pode ser muito mais fácil, simples, e tão preciso quanto, dependendo do design.

Para um jogo da velha, eu usaria minha primeira artimanha... Para um tabuleiro beeem maior, com certeza acabaria tendo que usar código.
avatar
Ranking : Sem avaliações
Data de inscrição : 11/10/2009
Número de Mensagens : 2184
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 106

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: Checar objetos em tais posições?

em Qui 29 Abr 2010, 21:37
@KinKing escreveu:verificar ao decorrer do jogo se há colunas, linhas ou diagonais formadas.

Adicionar usando um laço for para cada modelo, se necessário usando for dentro de for (acho que 5 for são necessários para as 3 checagens)
Seu esquema ter um ar de sair perfeito,mas essa parte não entendi...
Convidad
Convidado

Re: Checar objetos em tais posições?

em Sex 30 Abr 2010, 00:08
Concordo que é muito mais complexo, mas acho que pode ser muito mais fácil, simples, e tão preciso quanto, dependendo do design.

Para um jogo da velha, eu usaria minha primeira artimanha... Para um tabuleiro beeem maior, com certeza acabaria tendo que usar código.

Eu discordo. Pra mim o código é uma coisa, o design é outra. Eu concordo com o Cainã (sobre o jeito "mais correto"), pois do jeito que ele falou, é possível alterar o design depois sem se preocupar se o código vai funcionar ou não. Se não for o jeito certo, com certeza é um jeito bem melhor.

Ele poderia ainda, colocar várias animações no jogo posteriormente sem ter que se preocupar com colisão de linhas... ou ainda, criar uma perspectiva no tabuleiro, pra dar uma incrementada legal no design do jogo.

Eu aposto nos arrays. Inclusive, jogos de tetris também são bem mais fáceis de se fazer usando arrays do que objetos com colisões. Minha opinião.

@Markituh escreveu:
@KinKing escreveu:verificar ao decorrer do jogo se há colunas, linhas ou diagonais formadas.

Adicionar usando um laço for para cada modelo, se necessário usando for dentro de for (acho que 5 for são necessários para as 3 checagens)
Seu esquema ter um ar de sair perfeito,mas essa parte não entendi...

Você considera três linhas verticais e três horizontais. A partir daí, você faz um loop nos arrays conferindo se há combinações.

Código:
for (h = 0; h < 3; h += 1)
begin
      for (v = 0; v < 3; v += 1)
      begin
            // Loop usando v e h
      end;
end;

Mas acho que nesse caso nem seria necessário, apenas um bastaria. Por exemplo: o primeiro índice é a coluna horizontal e o segundo é a coluna vertical. O array pode assumir, por exemplo, true para jogador 1 e false para jogador 2.

Código:

for (q = 0; q < 3; q += 1)
begin
      if c[q,0] = c[q,1] and c[q,0] = c[q,2] then campeao(c[q,0]);
      if c[0,q] = c[1,q] and c[0,q] = c[2,q] then campeao(c[0,q]);
end;


Daí faltam só as duas diagonais:
Código:

if c[0,0] = c[1,1] and c[0,0] = c[2,2] then campeao(c[0,0]);
if c[0,2] = c[1,1] and c[0,0] = c[2,0] then campeao(c[0,2]);
avatar
Data de inscrição : 07/11/2009
Número de Mensagens : 312
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 1
   : 1
   : 0
Ver perfil do usuário

Re: Checar objetos em tais posições?

em Sex 30 Abr 2010, 08:40
tenho uma engine do mark overmars de um jogo da velha, cara é "sinistra" usa arrays para que toda a coisa funcione, como angine não é minha não sei se posso postar aqui. se sim, só poderei postar a tarde.
avatar
Data de inscrição : 07/03/2010
Número de Mensagens : 1335
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 1

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://cai.na.tl/

Re: Checar objetos em tais posições?

em Sex 30 Abr 2010, 14:25
@diassis escreveu:tenho uma engine do mark overmars de um jogo da velha, cara é "sinistra" usa arrays para que toda a coisa funcione, como angine não é minha não sei se posso postar aqui. se sim, só poderei postar a tarde.

Posta aqui e coloca os créditos do autor. Vai ajudar varias pessoas!
avatar
Data de inscrição : 29/05/2008
Número de Mensagens : 422
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 16

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://felipejoys.webnode.com

Re: Checar objetos em tais posições?

em Sex 30 Abr 2010, 15:44
@Capitão Commando escreveu:Ele poderia ainda, colocar várias animações no jogo posteriormente sem ter que se preocupar com colisão de linhas... ou ainda, criar uma perspectiva no tabuleiro, pra dar uma incrementada legal no design do jogo.

Você entende que quando eu falo "design", eu não estou falando de gráficos, mas sim da idéia do jogo em si, certo? Porque eu boiei quando você falou de "animações..."
avatar
Data de inscrição : 07/11/2009
Número de Mensagens : 312
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0

Prêmios
   : 1
   : 1
   : 0
Ver perfil do usuário

Re: Checar objetos em tais posições?

em Sex 30 Abr 2010, 23:34
Cainã escreveu:
Posta aqui e coloca os créditos do autor. Vai ajudar varias pessoas!
Beleza, mas acho que Presciso da permissão de um administrador também.
avatar
Data de inscrição : 05/10/2009
Número de Mensagens : 1830
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: Checar objetos em tais posições?

em Sex 30 Abr 2010, 23:55
Relaxa, aqui no fórum é permitido postar engines contanto que poste os devidos créditos, essa engine vai ajudar muita gente, eu por exemplo, que não faço idéia de como se criar um jogo da velha.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum