Ir para conteúdo
Fórum Script Brasil
  • 0

Snake - Desenvolvimento


VBeta

Pergunta

Bom dia / tarde / noite (Não sei o horário que alguém irá ler esse tópico... =)

Bom galera, eu sou do 2º ano técnico em informática, e minha professora pediu um trabalho de desenvolvimento de jogos, e eu fiquei com o famoso jogo da cobrinha. Já pedi algumas coisas aqui, consegui auxílio, e consegui prosseguir com o programa, mas agora estou com uma dúvida, e não consigo de modo algum resolve-la. Até então, eu já consegui fazer o caractere que será a cobrinha, e ele se mexe sozinho, trocando de posição e aquilo tudo. Fiz uma bobeira pra iniciar o programa apertar um botão , e quando se pressiona alguma das setinhas, ele se move para a posição, corretamente. Entretanto, agora preciso de ajuda pra fazer a comida da cobrinha aparecer aleatoriamente na tela, e quando ela aparecer e a cobrinha a tocar, que acrescente +1 do mesmo caractere (chr1) para que a cobra cresça. No momento, é basicamente isso. Se eu conseguir resolver, irei modelar para quando tocar o próprio "corpo", o jogo termine com o game over, mas no momento isso é o de menos. A ajuda que preciso é a comida E, quando ela conseguir toca-la, que cresça +1. Segue o atual código fonte do meu programa (Visual Studio 2010 - VB Console)

'                                                
Module Module1

Class Cobra

Private intTamanho As Integer
Private intPosicaoX As Integer
Private intPosicaoY As Integer
Private objCor As ConsoleColor
Private strCaracter As String

Public Property Tamanho() As Integer

Get
Return intTamanho
End Get

Set(ByVal value As Integer)
intTamanho = value
End Set

End Property

Public Property PosicaoX() As Integer
Get
Return intPosicaoX
End Get

Set(ByVal value As Integer)
intPosicaoX = value
End Set

End Property

Public Property PosicaoY() As Integer

Get
Return intPosicaoY

End Get

Set(ByVal value As Integer)
intPosicaoY = value
End Set

End Property

Public Property Cor() As ConsoleColor

Get
Return objCor
End Get

Set(ByVal value As ConsoleColor)
objCor = value
End Set

End Property

Public Property Caracter() As String
Get
Return strCaracter
End Get
Set(ByVal value As String)
strCaracter = value
End Set
End Property

End Class

Sub Main()
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.WriteLine(" ")
Console.ForegroundColor = ConsoleColor.Black
Console.BackgroundColor = ConsoleColor.White
Console.WriteLine(" ## SNAKE GAME - GD INIMA RODRIGUES - 2341. PRESSIONE UMA TECLA ## ")
Console.ReadKey()
Console.Clear()
Dim tecla, ultimaPosicaoX, ultimaPosicaoY, velocidade As Integer
Dim objCobra As New Cobra 'ESSE ITEM FARÁ A COBRA CRESCER. SÓ FALTA FAZER A COMIDA PRA ELA '-'
objCobra.Cor = ConsoleColor.Black
objCobra.Tamanho = 1
objCobra.PosicaoX = 40
objCobra.PosicaoY = 12
objCobra.Caracter = Chr(1)
velocidade = 500 'Pode aumentar de acordo com o tamanho

While True

While Not Console.KeyAvailable

Console.SetCursorPosition(ultimaPosicaoX, ultimaPosicaoY)
Console.Write(" ")

Console.SetCursorPosition(objCobra.PosicaoX, objCobra.PosicaoY)
Console.ForegroundColor = objCobra.Cor
Console.Write(objCobra.Caracter)

ultimaPosicaoX = objCobra.PosicaoX
ultimaPosicaoY = objCobra.PosicaoY

Threading.Thread.Sleep(velocidade)

If tecla = 40 Then
objCobra.PosicaoY = objCobra.PosicaoY + 1
End If

If tecla = 39 Then
objCobra.PosicaoX = objCobra.PosicaoX + 1
End If

If tecla = 37 Then
objCobra.PosicaoX = objCobra.PosicaoX - 1
End If

If tecla = 38 Then
objCobra.PosicaoY = objCobra.PosicaoY - 1
End If

If tecla = 27 Then
Exit While
End If

End While

tecla = Console.ReadKey().Key

End While

End Sub


End Module
[/codebox]

Quem puder me ajudar quanto a isso, ficarei bem agradecido. Eu já tentei de tantas formas, mas não consegui sucesso.

Att .

Editado por VBeta
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Não tenho a minima ideia de como você fez uma cobrinha pelo vb... mas posso te ajudar na logica... tenta criar varias comidas com o mesmo nome e com array... deixa todas com visible false e faz um random que escolhe um numero entre 1- maximo... dai o que ele escolher, comida(x).visible=true... e referente a enconstar, acho que você terá que fazer um clock que verifique toda hora a posição da comida e a posição da cobra, se for igual ele acrescenta....

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...