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

Ne0n

Jogo da Glória

Mensagens Recomendadas

Ne0n    0
Ne0n

Boa Tarde

Estou a construir o Jogo da Glória, apenas não consigo implementar 3 jogadores no jogo.

Quando executo o jogo, surge uma Form em que peço o nome de até 3 jogadores, e a partir daí o programa calcula quantos jogadores vão jogar consoante a textbox para inserir o nome do jogador esteja ou não preenchido:

----------------------------------------

Public Class Jogadores
    Public njogador1 As String
    Public njogador2 As String
    Public njogador3 As String

    Public vnjogadores As Integer

    Private Sub btnconfirmar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnconfirmar.Click

        If txtjogador1.Text <> "" Then
            vnjogadores = vnjogadores + 1
        End If
        If txtjogador2.Text <> "" Then
            vnjogadores = vnjogadores + 1
        End If
        If txtjogador3.Text <> "" Then
            vnjogadores = vnjogadores + 1
        End If

----------------------------------------

Caso a variável vnjogadores seja 3, significa que irão jogar 3 jogadores.

O problema é depois no jogo em si. Não encontro uma solução de como no final de cada jogada passo para o jogador seguinte, quer estejam em jogo 1, 2 ou 3 jogadores.

Pensei em definir uma variável, mas limitada de 1 até vnjogadores, e sempre que o jogador x jogava, incrementava um valor a essa variável.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
bruno1234    20
bruno1234

Sim, podes ter uma variavél q é o numero do proximo a jogar.

Cada vez q um jogador joga, essa variavel é alterada no fim.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
ribeiro55    44
ribeiro55

Public Class Form1
    Private Jogador As Integer = 0
    Private MaxJogadores As Integer = 3
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Jogador = ((Jogador + 1) Mod MaxJogadores)
        Button1.Text = Jogador + 1
    End Sub
End Class

Ou com o velho IF:

Public Class Form1
    Private Jogador As Integer = 0
    Private MaxJogadores As Integer = 3
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Jogador += 1
        If Jogador > MaxJogadores Then Jogador = 1
        Button1.Text = Jogador
    End Sub
End Class

code=vbnet? Isto assim fica porreiríssimo.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
jpaulino    106
jpaulino

É verdade, ficou resolvido com o velhinho If.

Muito obrigado pelas respostas

Cumprimentos

Quando o tópico estiver resolvido, além de agradeçer quem te ajudou, deves carregar em "Topic Solved" ;)

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 a nossa Política de Privacidade