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

Bi0hazarD

[Ajuda] Jogo Memória

8 mensagens neste tópico

Boas Noites Pessoal,

Sou novato por aqui e em programação, começei agora em C# e o meu projecto para fim de trimestre é fazer um jogo da memória, aquele do tipo virar botões ver imagens e fazer pares...

O meu jogo já está a funcionar, mas ainda tenho alguns bugs que não sei corrigir. Eu tenho 1class Tabuleiro e mais dois Forms, MenuPrincipal e TabuleiroJogo e no menu principal tenho um menuStrip com Abrir e com Fechar, e no meu TabuleiroJogo (que é onde tenho praticamente todo o meu código para jogar) tenho um MenuStrip com Abrir, Gravar, Novo Jogo (que volta para o MenuPrincipal que é onde escolho o modo de Jogo 1 ou 2 Jogadores) e Fechar que Termina a Aplicação.

Agora é o seguinte criei um openfiledialog e um savefiledialog no meu TabuleiroJogo com todas as informações que vai gravar e abrir.

[Resolvido]1º  problema é quando carrego em abrir ou gravar e ele me abre a janela se eu fizer cancelar em vez de carregar num file ele dá erro :S á alguma maneira de eu fazer cancelar e ele voltar para o meu TabuleiroJogo sem dar erro?

2º problema é que eu tenho o código todo do Abrir no meu TabuleiroJogo, e queria que no meu MenuPrincipal quando fizesse abrir ele fosse para o meu TabuleiroJogo com a informação do que guardei no ficheiro.

3º problema eu coloco nas propriedades do savefiledialog DefaultExt *.mem (que é para ele gravar os files automaticamente como extensão.mem) ele não me guarda o file com a extensão.

alguem me consegue dar umas luzes nestes problemas?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O melhor é colocares algum código de algumas partes onde estão a acontecer os problemas e de como estás a fazer, para te podermos ajudar melhor.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois realmente é mais fácil, sorry.

o meu segundo problema é o seguinte tenho este código no meu form TabuleiroJogo no meu MenuStrip Abrir:

public void abrirToolStripMenuItem_Click(object sender, EventArgs e)

        {

            DialogResult mensagem = openFileDialog1.ShowDialog();

            if (mensagem == DialogResult.OK)

            {

                MessageBox.Show(openFileDialog1.FileName, "Ficheiro Aberto");

            }

           

           else if (mensagem == DialogResult.Cancel)

            {

                return;

            }     

           string caminho = openFileDialog1.FileName;

           

            StreamReader abrir = new StreamReader(caminho);

            for (int i = 0; i < arrBotoes.GetLength(0); i++)

            {

                arrBotoes.Tag = abrir.ReadLine();

                arrBotoes.Enabled = true;

            }

            labelTempo.Text = abrir.ReadLine();

            textBox2JT.Text = abrir.ReadLine();

            textBox1JT.Text = abrir.ReadLine();

            btnComecar.Enabled = false;

         

            abrir.Close();

            abrir.Dispose();

           

            if (textBox2JT.Visible == false)

            {

               

                labelJ2T.Visible = true;

                textBox2JT.Visible = true;

                score2JT.Visible = true;

                labelIndicador2.Visible = true;

                score1JT.Visible = true;

               

            }

           

            if (textBox2JT.Text == "")

            {

                labelJ2T.Visible = false;

                textBox2JT.Visible = false;

                score2JT.Visible = false;

                labelIndicador2.Visible = false;

            }

           

           

        }

o que quero fazer é passar este código todo para o meu MenuStrip Abrir do outro Form MenuPrincipal.

e no meu terceiro problema deixo também uma imagem para perceberem o erro:

erro3st9.th.jpg

ando de volta disto mas não sei como resolver :S, no meu segundo problema já tentei por o metodo public, mas depois no MenuPrincipal consigo aceder ao método mas não sei que parametros lhe passar...  :dontgetit:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se cancelar não tens que fazer return ?

Algo do género...

     if (mensagem == DialogResult.Cancel)
            {
               return;
            }

Ou até basta um else naquele if em que testas se o resultado foi OK..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se cancelar não tens que fazer return ?

Algo do género...

     if (mensagem == DialogResult.Cancel)
            {
               return;
            }

Ou até basta um else naquele if em que testas se o resultado foi OK..

Obrigado, este problema está resolvido bastei por o que disses-te o else com o return :P

Menus um problema, tens alguma ideia para os outros?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O 2º problema ou não percebi muito bem, ou é só copiares o código para o outro Form.

No terceiro... mostra aí a source... não sei o que o wizard fez :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O 2º  problema é que os labels, as caixas de texto, etc. Estão no meu form TabuleiroJogo e eu quero todo o codigo para o meu form MenuPrincipal.

Mostro o source? Como assim? lool (sorry sou noob) o wizard não dá erro, mas também não atribui a extensão que quero :S

O 2º problema ou não percebi muito bem, ou é só copiares o código para o outro Form.

No terceiro... mostra aí a source... não sei o que o wizard fez :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Agora por exemplo tenho um objecto label.text numa form e quero o passar para a minha class tabuleiro por exemplo.

eu crio uma propriedade na minha form para poder aceder a esse objecto na minha class tabuleiro do tipo:

public label nome1 {

get {return label.text}

}

agora na minha class tabuleiro para aceder a este objecto chamo a minha form para poder aceder à propriedade que por sua vez tem o objecto ou seja:

form nome = new form();

nome.nome1.text

agora eu na minha class tabuleiro quero que ele devolva para o meu form o objecto da minha form mas com valores alterados na minha class tabuleiro do tipo:

nome.nome1.text = "nomes"

quero que ele devolva isto modificado para onde está originalmente o meu objecto.

ou seja eu chamo o objecto da minha form para a class tabuleiro só para lhe alterar valores, neste caso a propriedade text, mas quero que depois na minha form ele assuma os valores que alterei na minha class tabuleiro.

como faço isso?

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