Ribamar Posted May 17, 2006 at 10:28 AM Report #27805 Posted May 17, 2006 at 10:28 AM Boas pessoal. Para o projecto final da cadeira de Programação II tenho de implementar o Jogo do Galo. Enunciado: Implementar o Jogo do Galo com interface gráfica. O jogador deve identificar-se e caso já tenha jogado alguma vez o jogo deve ser indicado o número de jogos efectuados e o número de vezes que ganhou (caso existam níveis, o número de vezes que ganhou em cada nível). Valoriza-se: - As facilidades da interface com o utilizador. - A existência de vários níveis de jogadas do computador. - A existência de um nível em que o computador não perca. A minha dúvida neste momento é como hei-de fazer com que o início do programa seja um menu para escolher "Novo Jogo", "Recordes", etc. Depois de seleccionada a opção "Novo Jogo" o programa muda de "estado" e vai para o menu onde se joga. A minha dúvida é como se implementam dois "estados" do programa e como se muda de um para o outro... ? Toda a ajuda é bem vinda. Cumps [] 😛
Dabubble Posted May 17, 2006 at 12:53 PM Report #27820 Posted May 17, 2006 at 12:53 PM Boas, a tua aplicação é para fazer utilizando uma framework grafica (AWT ou SWING)?
Ribamar Posted May 17, 2006 at 01:14 PM Author Report #27828 Posted May 17, 2006 at 01:14 PM Como diz no enunciado, claro que é Implementar o Jogo do Galo com interface gráfica. Cumps
saramgsilva Posted May 17, 2006 at 02:40 PM Report #27843 Posted May 17, 2006 at 02:40 PM Como diz no enunciado, claro que é Implementar o Jogo do Galo com interface gráfica. Cumps isso é muito bago!!! 😛 bem eu implementei recentemente o jogo do galo em C++ / Opengl ( ve aqui ) Conselhos: 1º Defenir variaveis: ( podem ter que ser vectores... depende!! ou estruturas!!! ) jogador A jogador B jogos[MAX] -para guardar nivel de cada jogo, para saber quantas vezes jogou akele jogo... ( usa ponteiros ) tipo de jogo - pc x jog ou jog x jog ... nivel de jogo numero de jogadas numero de victorias numero de empates numero de derrotas (...) 2º Criar uma matriz 3x3 para guardar a jogada de cada jogador - iniciar a matriz - mudar a matriz consoante a jogada do jogador em causa e consoante o valor da matriz vais visualizar o galo no ecra!!! 3º ..... Toca a trabalhar que tens muito para fazer, para obteres uma coisa fantastica, no meu jogo tenho + de 100h de trabalho ( ? ) e ainda quero melhorar umas cenas!!! mas ja entreguei para avaliação... www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Ribamar Posted May 17, 2006 at 03:43 PM Author Report #27852 Posted May 17, 2006 at 03:43 PM O jogo é so User vs PC... O que me faz confusão é como tenho 1 menu onde estão opções ("Novo Jogo", etc) e depois vou po menu do jogo, e depois se volta para o menu principal de novo... Ponteiros... qué isso? O que dei que posso usar são Arrays, vectores, estruturas de dados (linked lists, grafos), awt e swing, excepções, IO (ficheiros de texto e binários) e claro, conceito de classes e heranças que caracterizam a linguagem java. cumps
saramgsilva Posted May 17, 2006 at 03:59 PM Report #27858 Posted May 17, 2006 at 03:59 PM eu percebo pouco de java...ja estudei umas coisas...mas não me lembro mto bem disso pq nao pratico.... é assim: declaras a variavel mostrar ( ou outro nome...) se mostrar = 0 desenhas menu de entrada se mostar =1 desenhas jogo nivel 1 se mostrar = 2 desenhas jogo nivel 1 ... se mostrar=-1 desenhas menu de saida e fechas o programa No menu de entrada: tens 1 texto de opçoes, para o utilizador escolher...e tens que ter algo k leia a escolha do jogador.... e por ai fora.... www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Knitter Posted May 18, 2006 at 03:45 PM Report #28080 Posted May 18, 2006 at 03:45 PM Em relacao aos estados a tofas esteve quase la', isto e', se for importante a componete de programacao orientada a objectos convem nao fazeres isso com um switch ou if, nao e' muito POO, mas se quiseres ver jogos com interface grafica e menus e com estados podes dar uma vista de olhos 'a minha pagina pessoal em www.student.estg.ipleiria.pt/~ei10635, vai 'a seccao de downloads e na parte de trabalhos estao la' jogos feitos em java. Saliento o J2Gether, o Fury of the Furries e o Puzzle de 8, este e' o ultimo link. Se precisares de mais ajuda nao hesites...
Ribamar Posted May 24, 2006 at 09:41 AM Author Report #29256 Posted May 24, 2006 at 09:41 AM Boas. Pelo que percebi da última aula prática, o que tenho de usar é o java.awt.CardLayout, para modificar o layout da minha aplicação. Agora não faço a mínima como se usa isto, esta classe não é leccionada na cadeira, apenas tomei conhecimento dela porque coloquei a dúvida à Eng. como se podia alterar o layout da aplicação... por isso se açguém fizer ideia de como se usa diga algo sff. Cumps
Knitter Posted May 24, 2006 at 11:13 AM Report #29274 Posted May 24, 2006 at 11:13 AM Boas! Supondo que a classe onde estás a implementar a interface descende de um qualquer 'Component', tipo 'Frame' ou 'JFrame' para alterares o layout basta teres uma linha de código no método que inicia a parte gráfica que diga: setLayout(new CardLayout()); e voilá, tens o layout mudado para CardLayout! Agora se não pretenderes usar as definições por defeito do layot, por exemplo, espaço entre os componetes, etc..., só tens de usar os métodos 'set' que a classe CardLayout te disponibiliza. Agora um aviso de amigo, como um dos meus profs de programação me disse uma vez, "Todos nós temos de ler o Java Tutorial alguma vez nas nossas vidas!", eu digo-te que mais vale cedo que tarde! Vai ao site da sun, http://java.sun.com e procura lá o java tutorial, podes sacar o zip de 14mb e ficas com isso no disco tem lá exemplos simples mas que ajudam muito, outra coisa que tb deves ter, não sei qual o ide que estás a usar, mas se estás a programar tens o sdk instalado e isso trás o código fonte do java e o javadoc, lê esse javadoc, tem muita informação, e se tiveres curiosidade vê o código, tem muito coisa interessante. Espero ter ajudado, se não MSN ou PM ou Gtalk! Até....
freesumo Posted May 24, 2006 at 11:45 AM Report #29283 Posted May 24, 2006 at 11:45 AM O jogo do galo (tic tac toe)... Procura: http://www.google.pt/search?hl=pt-PT&q=%22tic+tac+toe%22+%22java%22&btnG=Pesquisar&meta= 👍
SoulOnFire Posted May 24, 2006 at 01:43 PM Report #29302 Posted May 24, 2006 at 01:43 PM O jogo do galo (tic tac toe)... Procura: http://www.google.pt/search?hl=pt-PT&q=%22tic+tac+toe%22+%22java%22&btnG=Pesquisar&meta= 😄 LOL, assim n custa nada 👍 😁 Fikem Bem!!!Miguel Duarte - (SoulOnFire)O meu BLOG - XAML E WPF - http://wpfpt.wordpress.com/
Ribamar Posted May 24, 2006 at 10:59 PM Author Report #29409 Posted May 24, 2006 at 10:59 PM Pois, mas isso do Tic Tac Toe é implementado usando a classe Applet, eu vou ter de usar Swing e AWT. E espero fazer algo muito mais cativante em termos gráficos. Knitter, eu uso Eclipse 3.2, mas não percebi isso do javadoc...
saramgsilva Posted May 25, 2006 at 12:47 AM Report #29419 Posted May 25, 2006 at 12:47 AM Pois, mas isso do Tic Tac Toe é implementado usando a classe Applet, eu vou ter de usar Swing e AWT. E espero fazer algo muito mais cativante em termos gráficos. Knitter, eu uso Eclipse 3.2, mas não percebi isso do javadoc... acho que fazes bem e tens miuito trabalho pela frente...isso do javadoc é fixe...mas eu não sei quase nada... 😁 www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5
Knitter Posted May 25, 2006 at 12:29 PM Report #29454 Posted May 25, 2006 at 12:29 PM Ribamar quando dizes que não percebeste é porque não sabes o que são JavaDocs, ou não percebeste o que eu quis dizer? Bem vou assumir que não me expliquei bem. O código java está comentado, todas as classes da framework de java possuiem no seu código comentários que explicam como é que determinada classe funciona. Estás a usar o eclipse em windows ou em linux?, dependendo do sistema podes ou não ter o eclipse bem configurado, mas se estiveres em windows provavelmente já está configurado.... Ora no eclipse: Nas propriedades do pojecto existe uma secção chamada "Java Build Path" nessa secção se fores ao separador "Libraries" encontras o o JRE incluído no teu projecto, se vires os jars que fazem parte do JRE encontras um que se chama rt.jar, nesse podes configurar o source do JRE e o Javadoc do JRE. Onde é que isto te ajuda?, bem, quando estiveres a programar e com a tecla "ctrl" pressionada carregares com o o rato em cima de uma classe da api do java saltas para o código, se colocares o cursor de edição numa classe da api do java e utilizares a combinação "shift+F2", se não me engano, saltas para o javadoc dessa classe e podes ver ai como toda a classe funciona. Espero ter-me explicado e ter ajudado. Se por acaso não souberes o que são javadocs básicamente são comentários formatados de uma maneira especifica de forma a poderem ser apresentados, por exemplo, em html, isto não é uma defenição muito correcta, mas serve para explicar. Fiquem ...
Ribamar Posted May 26, 2006 at 11:13 AM Author Report #29577 Posted May 26, 2006 at 11:13 AM Quando vou às propriedades > java build path > libraries, o rt.jar tem dois sub-campos: "Source attachment" que se encontra vazio, e o Java Doc Location que tem 1 link para a api no site da sun (http://java.sun.com/j2se/1.5.0/docs/api/). Ora suponho que devo colocar um caminho qualquer no "Source Attachment", mas qual? E como funciona isto afinal? Onde posso ver documentação sobre isso? cumps
Knitter Posted May 26, 2006 at 11:34 AM Report #29580 Posted May 26, 2006 at 11:34 AM Em relação à documentação sobre isto não te posso ajudar, é algo que uso há bastante tempo e não me lembro onde aprendi, podes claro, tentar ajuda do eclipse ou uma pesquisa do google, desculpa mas de momento não te posso ajudar mais que isso. Em relação ao source... o source do java já se encontra no teu pc... está a usar linux ou windows, se estás a usar windows isso já devia estar configurado, bem, seja como for o source do java é um zip que se encontra na raiz da pasta do jdk, isto é, no meu caso, C:\Program Files\Java\jdk1.5.0_06. Basta editares o campo source attachment e escolheres o zip. Não te preocupes por ser zip, até porque o eclipse gosta mais de zips e de jars do que de pastas 😁. Se quiseres ter sempre a informação da api do java podes sacar a api no site que indiquei antes, a documentação da api não vem na instalação do jdk, e depois editas o campo Java Doc Location para usar, em vez da web, o ficheiro que sacaste. Depois disso configurado o que passas a ter é que, como disse antes, se por exemplo, usares o atalho "shift + F2", com o cursor de edição em cima da class CardLayout o eclipse abre-te um browser com a documentação dessa classe. Nota: se estiveres sempre ligado à web não precisas sacar a documentação da api do java, podes deixar o link. P.S.: Se precisares de alguma ajuda, PM, MSN ou GTalk!
Ribamar Posted June 7, 2006 at 11:22 AM Author Report #31576 Posted June 7, 2006 at 11:22 AM Ora agora que eu peguei nisto a sério, fiz o seguinte: Vou ter uma classe Game abstracta, da qual derivam por herança as classes Easy, Medium e Hard. Tenho depois a classe Player, pois a classe Game contém objectos do tipo Player. Agora para fazer o método play() na classe Game não estou a perceber como é que joga o pc e depois o jogador e vice-versa... e como fazer para começar primeiro ou o pc ou o jogador, e quando quem ganha começa primeiro... agradecia algum feedback. cumps 😉
Knitter Posted June 7, 2006 at 11:37 AM Report #31580 Posted June 7, 2006 at 11:37 AM Normalmente o PC é também um jogador, a diferença é que implementa os métodos de uma forma muito particular, isto é, se tens uma classe Player, então podes ter duas subclasses, um AI e outra Human, por exemplo. Depois o controlador de jogo poderá dar a indicação aos jogadores de que é a sua vez, cabe ao jogador saber como jogar. Nota que esta solução é dada um pouco às escuras, não sei que classes tens, nem como pretendes implementar o teu jogo.
Ribamar Posted June 20, 2006 at 12:07 PM Author Report #33899 Posted June 20, 2006 at 12:07 PM Boas. Ontem dediquei-me a sério a este projecto, mas surgiram-me algumas dificuldades. Tive a ideia de usar um GridLayout no Container 3x3, ao qual adicionava os 9 labels ou buttons, com espaço vertical e horizontal 3 entre eles, ficando assim feito o tabuleiro do jogo, pois definia o background color a preto. A minha ideia é usar o ImageIcon para alterar os icones das labels ou buttons conforme este são premidos, mas tento adicionar um icon a 1 button ou label e não consigo! faço: JLabel label = new JLabel(new ImageIcon("icon.gif")) ou então Jlabel label = new JLabel(); ImageIcon icon = new ImageIcon("icon.gif") ; label.add(icon); e também tento com butões e não consigo de maneira nenhuma! Alguém me podia ajudar sff? Deixo aqui o link do codigo pa sacarem e verem como isto está implementado. P.S.: o projecto está implementado usando package, se usarem linha comandos não se esqueçam de estar uma directoria atrás. Eu uso o Eclipse 3.2 como SDK. link: http://u2fly.com.sapo.pt/jogo_galo.rar
Ribamar Posted June 20, 2006 at 02:26 PM Author Report #33908 Posted June 20, 2006 at 02:26 PM Forget it, ja descobri o problem. Como estava a usar packages tinha de ter a imagem numa pasta atrás ou entao especificar o package
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now