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

GlobalDot

MasterMind

2 mensagens neste tópico

Boa Tarde.

estou a fazer o jogo master mind para a escola e queria uma ajuda...

        private void Form1_Paint(object sender, PaintEventArgs e)
        
{
//variaveis
        int a;
        int linha_y;
        int i;
        int click = 1;
     
        int tenta = 1;

//codigo
      private void Form1_Paint(object sender, PaintEventArgs e)
            Brush b;
            e.Graphics.DrawLine(new Pen(Color.Black, 1), 300, 50, 300, 350); // desenha linha
            linha_y = 50;
            for (i = 0; i < 13; i++)
            {
                e.Graphics.DrawLine(new Pen(Color.Black, 1), 12, linha_y, 411, linha_y);//desenha a linha
                linha_y += 25;
            }
            switch (a)
            {
                case 1:
                     b = Brushes.Violet;
                    break;
                case 2:
                    b = Brushes.Green;
                    break;
                case 3:
                    b = Brushes.Red;
                    break;
                case 4:
                    b = Brushes.Blue;
                    break;
                case 5:
                    b = Brushes.Yellow;
                    break;
                default:
                    b = Brushes.Transparent;
                    break;
            }
                   
            e.Graphics.FillEllipse(  b, click * 30, tenta + 52, 22, 22);//desenha a bola
       

Tenho mais um codico mas nao importante para este caso...

tenho um botao e cada  vez que carrego no botão o (click) aumenta 1 passado 5 clicks mete (tenta) mais um e o click fica a 1...

Eu carrego no botão e a bola avança corretamente, tambem muda de linha...

Agora o meu problema é que nao grava a bola anterior...

sei que é mais ou menos assim...

 for (int i = 0; i < 12; i++)
                for (int k = 0; k < 5; k++)

                    e.Graphics.FillEllipse(b (tab[i, k]),  k * 30, i * 52, 22, 22);

            tab[jogada, click] = a; 
            e.Graphics.FillEllipse(  b, click * 30, tenta + 52, 22, 22);//desenha a bola

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se bem percebi o teu problema, necessitas de guardar estado, pelo menos o estado anterior.

Para tal, usa uma variável que te indique o estado anterior da bola, ou então um array para guardares um conjunto de estados.

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