[VB6] p_PoKer - Projecto de poker em construção

outra questão, estou actualmente no 11º ano no curso tecnico de gestao e programacao de sistemas informaticos e no final do proximo ano terei que apresentar uma P.A.T OU P.A.P ouy la como se chama :P gostava de saber a vossa opinião de apresentar este projecto que consistira em 2 clientes em pcs diferentes para jogar poker um jogador contra o outro(em pcs diferentes), ja pedi a opiniao ao meu director de curso e ele disse que seria uma boa ideia e acrescentou que é raro haver ideias do genero.

Peço-vos a vossa opiniao p.f: o que acham de tornar este jogo como projecto para a PAP? É muito dificil?
Quero começar ja a pensar nisto para não programar stressado e para nao deixar tudo para o proximo ano....

Pf ajudem!!

Abraços ;)
 
é PAT, projecto de aptidão tecnológica. Em relação à ideia, sim é mesmo uma óptima ideia e o teu professor não te enganou! Não sei como é o júri da tua PAT, mas na minha, mesmo tendo um trabalho aceitável se teria boa nota :) .
 
Boas e obrigado pelo apoio!
Quanto ao juri, vai ser composto por 3/4 elementos 1 deles é o tal professor com que eu falei que é o meu director de curso.

Outra coisa, não sabem se é apenas para o juri para quem vou apresentar ou aquilo tambem vai ter publico?
Abraços ;)
 
Amigo WinAce_Boy, já não estás a fugir um bom bocado ao tópico? Questões sobre PAPs e PATs são mais em tópicos como este, e mais um ou outro que o Search revela ;)
 
Boas;
Peço desculpa mas penso que não estou a fugir por completo ao assunto, já tinha visto essa thread mas pensava que era apenas para aquele user e pensei que o melhor sitio seria mesmo aqui mas parece que não...

Obrigado.
 
Boas,
Voltei com mais uma dúvida no projecto "p_Poker":

Vou usar o componente Winsock com os conhecimentos que adquiri num outro projecto (link) também usando este componente, um chat para 2 clientes e 1 servidor podendo também o servidor ter a funcionalidade de ser cliente conectando-se a ele próprio.

- Como será mais eficaz?

1) O projecto ser composto por um servidor mais dois clientes -> As cartas são geradas pelo servidor e processadas por ele, resumidamente os clientes quase não processam e enviam e recebem dados para o servidor comunicando um cliente com o outro cliente pelo servidor que poderá ou não estar no mesmo pc em que está a ser executado um dos clientes.

2) O projecto ser composto por apenas Dois clientes -> Tendo um cliente para além da sua função de cliente funcionará também como servidor sendo esse o único a processar e a gerar as cartas.

Peço-vos a vossa opinião, de momento posso dizer que estou mais inclinado para a 1ª opção visto que a 2ª poderá sobrecarregar o pc onde está a ser executado o [cliente/servidor]. Aqui estão algumas conclusões que, bem ou mal, eu tirei:

- Opção:

1) Vantagens: - Melhor organização/estrutura do código;
- Não sobrecarrega (tanto) um só pc visto que não terá duas funções em simultâneo.

Desvantagens: - A conexão de um cliente com o outro poderá ser mais lenta visto que para isso acontecer ele terá de primeiro enviar os dados para o servidor e só depois poderá o servidor reencaminhar esses mesmos dados para o cliente destinatário.

2) Vantagens: - Será menos um computador que terei de usar (em comparação à primeira opção) visto que este projecto terá de ser apresentado para a P.A.P, como projecto final de curso.

- Conecxão entre os clientes mais rápida.

Desvantagens: - Sobrecarga de um só computador visto que terá de fazer de servidor e cliente ao mesmo tempo.


Muito obrigado pela atenção, aguardando pela vossa opinião.
Abraços ;)
 
Não é bem resposta ao que pedes, mas se isso é só poker, acho que não é preciso tanta coisa. A menos que o jogo esteja horrivelmente programado, não vejo como é que um computador ter um servidor e um cliente possa ficar sobrecarregado.

Eu iria para um intermédio de ambos. Um programa age como servidor, e pode correr na mesma máquina que um dos clientes. Depois, ficam dois clientes separados.
Podem é existir desconfianças depois, na medida em que um dos computadores - o que tem o servidor - poderia ficar em vantagem se ficasse a interceptar os dados.

Podes ter um servidor e dois clientes ou podes ter dois clientes em que um deles age como servidor. Acho que é indiferente, porque tanto a nível da sobrecarga como a nível da transmissão dos dados, está numa escala muito pequena para fazer diferença.

Se for para correr num computador bastante limitado, então aconselhar-te-ia a fazer o servidor à parte dos clientes. Mais que não seja para imaginar que no futuro poderias fazer actualizações a cada um deles para fazer o jogo ser um multiplayer entre milhares de pessoas, que jogariam duas a duas :D
 
Boas,
Muito obrigado desde já pela tua rápida resposta.

Vamos então por partes - não gosto muito de fazer citações porque parece que estamos a acusar alguém (uma opinião) mas vai ter que ser:

Não é bem resposta ao que pedes, mas se isso é só poker, acho que não é preciso tanta coisa. A menos que o jogo esteja horrivelmente programado, não vejo como é que um computador ter um servidor e um cliente possa ficar sobrecarregado.

Tens toda a razão mas sinto-me muito mais aliviado (por mais estranho que pareça) se pensar no pior caso desta situação: imagina que de facto o programa não está o mais eficiente possível o que não seria raro acontecer e juntando a isto imagina que me dão para apresentar, como são muitos computadores, 3 pc's que até não são grande coisa. É claro que este seria o pior caso, mas não gosto de pensar que poderia acontecer que aquilo ficasse muito lento durante uma apresentação, em frente a 4 ou 5 elementos do júri.

Eu iria para um intermédio de ambos. Um programa age como servidor, e pode correr na mesma máquina que um dos clientes. Depois, ficam dois clientes separados.

Também pensei nisso mas esqueci-me de referir essa 3ª opção.

Podem é existir desconfianças depois, na medida em que um dos computadores - o que tem o servidor - poderia ficar em vantagem se ficasse a interceptar os dados.

Ora uma grande verdade.

Se for para correr num computador bastante limitado, então aconselhar-te-ia a fazer o servidor à parte dos clientes. Mais que não seja para imaginar que no futuro poderias fazer actualizações a cada um deles para fazer o jogo ser um multiplayer entre milhares de pessoas, que jogariam duas a duas

Obrigado pelo conselho, também estava mais virado para essa opção até porque organizo melhor as ideias tendo cada programa uma função.
Hehe, por enquanto só estou virado para a P.A.P, depois e se eu estiver suficientemente satisfeito com o Jogo "p_PoKer" ^^ já tem nome xD.


Kayvlim, muito obrigado pelo esclarecimento,opinião e conselhos.
Se houver mais users com outras faz favor de as postarem ;) , eu não mordo ^.^
Obrigado pela atenção
Abraços ;)
 
Então considerando esse Worst Case Scenario, em que te dão três 8086s ( :D ), acho que estás a ir pelo caminho certo - cada computador com o seu objectivo, servidor e cliente separados.
Como isso ainda me parece simples, integra também aí o chat :D isto é, duas pessoas jogam em máquinas separadas, e picam-se uma à outra durante o jogo :D
 
Boas,
Voltei com outra dúvida:

Preciso de enviar as cartas que foram listadas e baralhadas numa listbox no servidor para o cliente. Tentei com um ciclo:

- Ciclo:

Servidor:
Código:
for i=1 to listcount-1
winsock1.senddata list1.list(i)
next i

Cliente:

Código:
winsock1.getdata carta
list1.additem carta


Resultado: O cliente recebia os dados perfeitamente, mas para além de ser lento a receber as cartas uma a uma também se surgisse alguma messagebox nesse momento ele enquanto a msgbox estava aberta ele vai adicionando as cartas no mesmo item à medida que as recebe, gostava de saber se é possível tornar este processo mais rápido se por exemplo se enviar o baralho todo de uma vez (como apenas uma string) e depois o decompor em conjuntos de 2 caracteres no cliente seria mais rápido visto que é apenas um dado que ele envia?

Quanto à situação da msgbox gostaria de saber uma maneira de contornar o que se sucede.

Obrigado pela atenção, AbRaÇoS!!
;)
 
EDIT: não reparei que era em VB6... não sei porquê pensei que fosse em Java...

Apanho a discussão a meio, mas sugiro que envies objectos em vez de Strings... A questão de enviar as cartas baralhadas, se enviares tudo de uma vez é muito melhor... evitas de estar a enviar as prestações, depois do lado do cliente fazes o que queres com elas separadamente.
 
Última edição:
Pensei exactamente da mesma maneira vou testar fazer dessa maneira, depois digo se é de facto mais rápido ou não. . .
Estou a pensar baralhar as cartas no servidor e criar uma string com a lista de cartas, exemplo:
- Lista(já baralhada):

Carta 1: "8O"
Carta 2: "9E"
Carta 3: "3C"
Carta 4: "2E"
...
(Até à carta 52)

Pegava em cada um dos items da lista e com um ciclo criava uma string da ista de cartas tendo como resultado algo do género: "8O9E3C2E" e no cliente (depois de ter recebido essa string) separava a string 2 a 2 caracteres para obter de novo a lista mas agora no cliente mas não sei como separar essa string.

Ajuda p.f !!

Se alguém tiver mais alguma sugestão não tenha medo de dizer, tudo o que ajude é bem-vindo ;)

Obrigado pela atenção
Abraços :)
 
Última edição:
porque nao usas arrays? assim nao vais ter que andar a separar a string ;)

porque será mais lento enviar 52 coisas em vez de uma ja experimentei enviar carta a carta e demorava mesmo muito, enquanto que com o sistema de enviar a string para o cliente com o baralho e depois separar a string no cliente o resultado é bem mais rapido :)

Obrigado pela sugestão!
Abraços
 
Aqui estou eu mais uma vez! xD
Preciso de opiniões, visto que isto é um jogo de poker como faço osistema de apostas? por fichas? define-se o numero de fichas antes de iniciar o jogo e depois o que se aposta são essas fichas que cada uma corresponderá por exemplo a dois euros?

Opiniões please!
abraços
 
Back
Topo