• 0
Sign in to follow this  
VBeta

Snake - Desenvolvimento

Question

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 .

Edited by VBeta

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this