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

BlodyGrl

Tic-Tac-Toe

30 mensagens neste tópico

Bem, durante estas férias eu tinha um projecto e ficaram de me ajudar, mas acho que se esqueceram... -_-' O que eu queria era fazer um jogo de Tic-Tac-Toe (julgo que deve ser o jogo mais fácil para um iniciante fazer) mas acontece que não faço a mínima ideia como o fazer. Acho que devo precisar de I/O e de matrizes mas não sei bem como o fazer, será que me podem dar umas dicas sff? Agradecida. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se optares por fazer uma versão gráfica, aconselho o xturtle.

Que dúvidas é que tens em relação ao jogo do galo?

Basicamente tens de escrever funções para desenhar a tabela de jogo, receber o input dos jogadores, guardar o input na estrutura de dados (matriz por exemplo), verificar o estado do jogo (empate e vitória) e para mostrar quem ganhou/empatou. Se quiseres depois também podes adicionar inteligência artificial.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Qual é a diferença entre GUI e ClI?

Sim, eu sei mais ou menos o que tenho que fazer, o problema é que nunca trabalhei com gráficos e afins...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

GUI = Graphical User Interface

CLI = Command-Line Interface

Acho que já explica a diferença. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por acaso não... :P Há algum bom tutorial sobre essas 2 "coisas"?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

As GUIs são as janelinhas, tipo o browser é uma GUI.

As CLIs são programas de linha de comandos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Então acho que é melhor em GUI mas não há nenhum tutorial sobre isso? :(

Só uma pergunta, tenho que fazer o download do xturtle ou ele já vem nos "paths" do IDLE?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só uma pergunta, tenho que fazer o download do xturtle ou ele já vem nos "paths" do IDLE?

Tens de fazer.
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bem, durante estas férias eu tinha um projecto e ficaram de me ajudar, mas acho que se esqueceram... -_-' O que eu queria era fazer um jogo de Tic-Tac-Toe (julgo que deve ser o jogo mais fácil para um iniciante fazer) mas acontece que não faço a mínima ideia como o fazer. Acho que devo precisar de I/O e de matrizes mas não sei bem como o fazer, será que me podem dar umas dicas sff? Agradecida. :D

BloodyGirl, normalmente o jogo mais simples que se faz é mesmo o "adivinha o número" :)

Ora, antes de mais, dava jeito saber o que já sabes fazer, para o pessoal ter uma ideia de como ajudar.

No jogo do galo em principio só precias de saber:

-Matrizes - Para o tabuleiro;

-Loops - Para o loop principal do jogo;

-I/O - Para ser possível jogar;

-Condições e funções - Para fazer as funções de verificação de jogada e inteligência artificial;

Na minha opinião não devias começar já com GUI. Começa por fazer em linha de comandos.

Até porque a projectos relativamente pequenos como esse, podes sempre adaptar uma GUI depois de estar concluido. :P

NOTA: Isto não quer dizer que devas começar sempre na linha de comandos... Há muitos projectos que é melhor começar a fazer logo com GUI (e eventualmente programar só algumas partes em linha de comandos para experimentar antes de incorporar no programa final)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois mas inteligência arteficial ainda não. Ainda sou pouco experiente para me meter nesses campos. Por enquanto estava a pensar num jogo de 2 pessoas...

A matriz é uma n3 certo?

Loops? ;) Eu nem sei oq ue é isso!  :-[

I/O acho que sei o que fazer nesta parte...

Mas a sério... Tirando a parte da brincadeira do "adivinha o número" qual acham que seria o projecto mais fácil?

Tenho que começar a pôr aqui as minhas partes iniciais... Mas ainda falta muiiiiiiiiiiiiiiiiiiiiiito e está cheio de erros... Acho que afinal é difícil demai spara mim.  :-[

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só uma pergunta. Como é que sei qual destes devo instalar? Porque tive que apagar o Python do meu computador, estava-me a dar problemas.

For x86 processors: python-2.5.2.msi

For Win64-Itanium users: python-2.5.2.ia64.msi

For Win64-AMD64 users: python-2.5.2.amd64.msi

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois mas inteligência arteficial ainda não. Ainda sou pouco experiente para me meter nesses campos. Por enquanto estava a pensar num jogo de 2 pessoas...

A matriz é uma n3 certo?

Loops? ;) Eu nem sei oq ue é isso!  :-[

I/O acho que sei o que fazer nesta parte...

Mas a sério... Tirando a parte da brincadeira do "adivinha o número" qual acham que seria o projecto mais fácil?

Tenho que começar a pôr aqui as minhas partes iniciais... Mas ainda falta muiiiiiiiiiiiiiiiiiiiiiito e está cheio de erros... Acho que afinal é difícil demai spara mim.  :-[

Inteligência Artificial para um Tic-Tac-Toe é facílimo fazer. Um exemplo básico é por exemplo:

[  ][  ][X]      [  ][  ][X]

[  ][X][ O ] -> [  ][X] [O ]

[  ][  ][  ]  [ O ][  ][  ]

É o 'O' a jogar (ou seja, Computador). O que tens de fazer é procurar situações em que na próxima jogada o X ganhe, de modo a bloqueá-las.

Matriz neste caso é uma lista do Python.

lista=[1,2,3] #isto e' uma lista

Loops são ciclos, por exemplo: while, for

I/O é Input/Output: receber o Input do utilizador do programa (neste caso é a jogada) e fazer o output (neste caso mostrar o resultado e as jogadas do computador).

O Tic-Tac-Toe sem dúvida é o melhor.

Só uma pergunta. Como é que sei qual destes devo instalar? Porque tive que apagar o Python do meu computador, estava-me a dar problemas.

For x86 processors: python-2.5.2.msi

For Win64-Itanium users: python-2.5.2.ia64.msi

For Win64-AMD64 users: python-2.5.2.amd64.msi

Wrong.

- versão 64bits do Windows: versão AMD-64.

- processador Itanium de 64bits (muito improvável): versão IA-64.

- versão 32bits do Windows: versão x86.

É isto... Tinha-me enganado. :D

Espero ter ajudado.

Cumps

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se o teu processador for de 64 bits e AMD, é o último. Se for de 64 bits e Intel, é o segundo. Se não for de 64 bits, é o primeiro. ;)

Wrong.

- versão 64bits do Windows: versão AMD-64.

- processador Itanium de 64bits (muito improvável): versão IA-64.

- versão 32bits do Windows: versão x86.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só uma pergunta que não tem muito a ver com isto mas eu tenho um objectivo para o jogo... Se eu fizer um programa com vários input/output género perguntas como é que posso pô-las aleatórias? Isto é imaginem que é um teste do código ou assim, as perguntas nunca são iguais mas são sempre escolhidas aleatóriamente de dentro do programa, certo? Como é que faço que saia uma qualquer?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso é fácil podes fazer assim:


import random

perguntas=["Que horas sao? ", 
"Como esta o tempo? ", 
"Esta feliz? ", 
"Consegues perceber? ", 
"Este programa e facil? "]

print perguntas[random.randrange(0, 4)]

o truque aqui esta no random.randrange(0, 4) que escolhe aleatoriamente um numero entre (0, 4) mas muda para se adaptar ao numero de perguntas que tiveres

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
As GUIs são as janelinhas, tipo o browser é uma GUI.

O Lynx não é ... :-]

JJ

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

epa... não é por nada, mas a rapariga é completamente novata e já lhe estão a sugerir guis, bibliotecas gráficas, IA...

Calmex, começa pelo principio :P

Como nunca programaste obviamente que  uns exemplos na linha de comandos é o mais adequado para começar. Depois quando já te sentires confortável então podes seguir para guis e afins, mas ainda há muuuuuuuuuuito que aprender antes.

a versão que tens que instalar é aquela que for compilada para a tua arquitectura, se tiveres um pc 'normal' é um x86, se for um pc com um processador AMD de 64 bits é o ultimo ficheiro. Esse do meio nem sequer sei a que arquitectura se refere.

Eu quase que te diria para instalares o primeiro, mas nao sei que computador tens. Muito provavelmente um i386 que é o que mais de 90% dos pcs são.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

OMFG! nUNCA PROGRAMEI? sE ME DISSERES QUE NUNCA PROGRAMEI A "SÉRIO" É UMA COISA MAS NÃO ANDO HÁ UM ANO E TAL NO CURSO PARA não saber programar!  :dontgetit: :P

Desculpem o Caps... xD

Eu não percebo muito de configurações de computador sinceramente.  :-[ Mas é um Toshiba A200 1JS normal... :P (Isto é, sem alterações de mercado! :P)

Desculpem se estive muito tempo sem cá vir mas jornal para um lado, caloiros para outro e mais férias e mais não sei quê... Bem, vamos lá pegar noTic-Tac-Toe outra vez... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

um ano e tal e não sabes a diferença de um GUI para CLI??  :eek:

e não ouças estes "chanfrados" esquece os GUI'S para já, faz o joginho na consola, e melhora-o tipo ranking, scores, tenta programar o melhor possível ter tudo bem separadinho em classe, e bla bla bla, porque se vais para o GUI "por mim falo" esquece la a organização do programa acaba por ficar tudo uma confusão mais tarde ou mais cedo alem de teres de decidir que biblioteca gráfica queres usar entre as mais populares tens "Tkinter, wxPython, GTK, QT, MFC, turtle" e provavelmente mais umas quantas que desconheço... a mais simples "dizem" será Tkinter, mas da uma vista de olhos AQUI (isto e um relogio) para veres o quão relativo é a palavra simples....

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já agora isto pos-me a pensar seria uma boa abordagem criar o tabuleiro com flags tipo


jogador_x=1

jogador_y=2

tabuleiro=[[0,0,0],[0,0,0],[0,0,0]]  #[0][0][1] -> tabuleiro[1] - primeira linha
                                    #[0][2][0] -> tabuleiro[2] - segunda linha
                                    #[0][0][0] -> tabuleiro[3] - terceira linha

Onde 0 seria o espaço vazio 1 o espaço ocupado pelo jogador 1 e 2 o espaço ocupado pelo jogador 2

agora fiquei curioso acho que também vou fazer este jogo será uma abordagem correcta esta???

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