Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
Checar objetos em tais posições?
5 participantes
Página 1 de 1
Checar objetos em tais posições?
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.
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.
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Checar objetos em tais posições?
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).
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).
Re: Checar objetos em tais posições?
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.
Re: Checar objetos em tais posições?
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.
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.
Re: Checar objetos em tais posições?
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.
Re: Checar objetos em tais posições?
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.
Para um jogo da velha, eu usaria minha primeira artimanha... Para um tabuleiro beeem maior, com certeza acabaria tendo que usar código.
Re: Checar objetos em tais posições?
Seu esquema ter um ar de sair perfeito,mas essa parte não entendi...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)
Markituh- Games Ranking :
Data de inscrição : 11/10/2009
Reputação : 106
Número de Mensagens : 2184
Prêmios :
x 0 x 1 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: Checar objetos em tais posições?
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:Seu esquema ter um ar de sair perfeito,mas essa parte não entendi...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)
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]);
Convidad- Convidado
Re: Checar objetos em tais posições?
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.
diassis- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Checar objetos em tais posições?
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!
Re: Checar objetos em tais posições?
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..."
Re: Checar objetos em tais posições?
Beleza, mas acho que Presciso da permissão de um administrador também.Cainã escreveu:
Posta aqui e coloca os créditos do autor. Vai ajudar varias pessoas!
diassis- Data de inscrição : 07/11/2009
Reputação : 0
Número de Mensagens : 312
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Checar objetos em tais posições?
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.
fonetico- Data de inscrição : 05/10/2009
Reputação : 7
Número de Mensagens : 1830
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Criar objetos em determinadas posições
» [RESOLVIDO]Gerar objetos em posições aleatórias dentro de um círculo
» Checar colisão de objetos com física
» Checar objetos e fora da room
» [RESOLVIDO]Checar quantos objetos na room
» [RESOLVIDO]Gerar objetos em posições aleatórias dentro de um círculo
» Checar colisão de objetos com física
» Checar objetos e fora da room
» [RESOLVIDO]Checar quantos objetos na room
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos