Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #58 da revista programar. Faz já o download aqui!

fabioema

Ajuda jogo "4 em linha" Matriz

Mensagens Recomendadas

fabioema    0
fabioema

Boas, eu e um amigo estamos a desenvolver um projeto em VB.net e nesse projeto estamos a fazer o jogo 4 em linha.

Ainda somos inexperientes pois so temos vb a 4 meses.

no nosso programa temos uma variavel chamada "marcador" (boolean) que nos permite trancar o local de jogo , para que o jogador 2 nao possa jogar no mesmo sitio.Isto funciona mas so que ouvimos uma forma mais facil de fazer isto tudo usando um (intenger) numa variavel que nos  guarde os tipo de dados guardados na picturebox, sendo 0=picturebox vazia ,1= picturebox  com uma peca amarela, 2= picturebox peca vermelha.

Bem resumindo o que eu quero e criar uma matriz especie de tabela que me verifique se o sitio onde o jogador 1 ou 2 vai jogar esta vazio ou se tem peca, se tiver peca que bloquei o sito, e tambem precisa que ela verificasse se ela as picturebox para baixo estao vazias , so podendo colocar la uma peca se as outras estiverem preenchidas

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim i As Integer
        i = 0
        marcador = True
        For i = 0 To 53
            trancar(i) = False
        Next

        ' Array matris para colunas e linhas do Connect 4 '

        quadro(1, 1) = Me.PB11
        quadro(1, 2) = Me.PB12
        quadro(1, 3) = Me.PB13
        quadro(1, 4) = Me.PB14
        quadro(1, 5) = Me.PB15
        quadro(1, 6) = Me.PB16
        quadro(1, 7) = Me.PB17
        quadro(1, 8) = Me.PB18
        quadro(1, 9) = Me.PB19

        quadro(2, 1) = Me.PB21
        quadro(2, 2) = Me.PB22
        quadro(2, 3) = Me.PB23
        quadro(2, 4) = Me.PB24
        quadro(2, 5) = Me.PB25
        quadro(2, 6) = Me.PB26
        quadro(2, 7) = Me.PB27
        quadro(2, 8) = Me.PB28
        quadro(2, 9) = Me.PB29

        quadro(3, 1) = Me.PB31
        quadro(3, 2) = Me.PB32
        quadro(3, 3) = Me.PB33
        quadro(3, 4) = Me.PB34
        quadro(3, 5) = Me.PB35
        quadro(3, 6) = Me.PB36
        quadro(3, 7) = Me.PB37
        quadro(3, 8) = Me.PB38
        quadro(3, 9) = Me.PB39

        quadro(4, 1) = Me.PB41
        quadro(4, 2) = Me.PB42
        quadro(4, 3) = Me.PB43
        quadro(4, 4) = Me.PB44
        quadro(4, 5) = Me.PB45
        quadro(4, 6) = Me.PB46
        quadro(4, 7) = Me.PB47
        quadro(4, 8) = Me.PB48
        quadro(4, 9) = Me.PB49

        quadro(5, 1) = Me.PB51
        quadro(5, 2) = Me.PB52
        quadro(5, 3) = Me.PB53
        quadro(5, 4) = Me.PB54
        quadro(5, 5) = Me.PB55
        quadro(5, 6) = Me.PB56
        quadro(5, 7) = Me.PB57
        quadro(5, 8) = Me.PB58
        quadro(5, 9) = Me.PB59

        quadro(6, 1) = Me.PB61
        quadro(6, 2) = Me.PB62
        quadro(6, 3) = Me.PB63
        quadro(6, 4) = Me.PB64
        quadro(6, 5) = Me.PB65
        quadro(6, 6) = Me.PB66
        quadro(6, 7) = Me.PB67
        quadro(6, 8) = Me.PB68
        quadro(6, 9) = Me.PB69

        Label1.Text = ("Player's 1 turn")
    End Sub

    ' Verifica se o jogador 1 e 2 já jogaram e tambem verifica se a peça ja foi colocada no local onde se clicou! ' 

    Private Sub PictureBox11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PB11.Click

        If trancar(1) = False Then

            If marcador = True Then
                Label1.Text = ("Player's 2 turn")
                quadro(1, 1).Image = My.Resources.PECAVERMELHA
                marcador = False
            Else
                Label1.Text = ("Player's 1 turn")
                quadro(1, 1).Image = My.Resources.PECAMARELA
                marcador = True
            End If

            trancar(1) = True

        End If


    End Sub

nx5hk4.png

aqui esta o nosso codigo de da nossa matriz e de uma picturebox.

Desde  já agradeço por qualquer ajuda que possam dar.  :cheesygrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fabioema    0
fabioema

Queremos saber como fazemos uma função para que o programa detecte se quando clicar-mos numa picturebox para jogar ele detecte se tem alguma peça joga por baixo se tiver põe a peça por cima se já la tiver uma não acontece nada.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
fabioema    0
fabioema

Isso nos sabemos, queríamos era saber o código para verificar se os espaços que estão por baixo do clique estão ocupados ou não, e se não tiverem a peça é colocada no espaço a cima da peça inserida.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bioshock    170
bioshock

Tens de verificar as posições da matriz  como já te foi dito:

Matriz = [0][0]
Matriz = [0][1]
Matriz = [0][2]
' Etc..
Matriz = [1][0]
Matriz = [1][1]
' Etc..

Tens de ter uma matriz 9 (horizontal) por 6 (vertical), sempre que um espaço é preenchido, a devida matriz também o deve ser. Assim saberás sempre se já tem conteúdo ou não.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Carlos754    0
Carlos754
  • Boa tarde, alguem me dizer quais são os valores das variáveis (integer, bolean, etc..) do trancar, quadro e marcador? obrigado ;)

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade