Ir para conteúdo
Faça parte da equipe! (2024) ×

Criando Snake Game


juribiu00
 Compartilhar

Posts Recomendados

Olá Pessoal tudo bem? queria compartilhar um topico com vocês

eu estava vendo uns videos sobre o Visual basic pois sou iniciante.. eu achei um video bem interessante ,não sei se vocês vão gostar

é um video sobre o jogo muito conhecido "Snake Game" conhecido tambem como jogo da cobrinha ...

vou estar trazendo tambem o codigo que voces vao usar para criar esse jogo é explicando como faz ... Concerteza vocês saberão fazer

 

Primeiro de tudo adicione uma picturebox selecione o tamanho e a cor de sua preferencia

Renomeie essa picture box para pb_field

Adcione um timer e renomeie este timer para tm_snakemover e seu valor 50 ou de sua preferencia

Caso você nao faça isso o jogo dará errado

Antes ou depois de aplicar o código selecione um interval para o time

o normal é deixar 50 com 100 o jogo vai ficar muito lento

mais se voce for um expert voce pode deixar o interval do timer

no 1 uahauhauha

 

Depois de ter feito isso clica no seu form1 em uma parte "vazia" exclua oque estiver escrito e coloque este código

 

Public Class Form1

#Region "snake stuff"

Dim snake(1000) As PictureBox

Dim lenght_of_snake As Integer = -1

Dim left_right_mover As Integer = 0

Dim up_down_mover As Integer = 0

Dim r As New Random

Private Sub create_head()

lenght_of_snake += 1

snake(lenght_of_snake) = New PictureBox

With snake(lenght_of_snake)

.Height = 10

.Width = 10

BackColor = Color.White

.Top = (pb_field.Top + pb_field.Bottom) / 2

.Left = (pb_field.Left + pb_field.Right) / 2

End With

Me.Controls.Add(snake(lenght_of_snake))

snake(lenght_of_snake).BringToFront()

lenghthensnake()

lenghthensnake()

End Sub

Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress

Select Case e.KeyChar

Case "a"

left_right_mover = -10

up_down_mover = 0

Case "d"

left_right_mover = 10

up_down_mover = 0

Case "w"

up_down_mover = -10

left_right_mover = 0

Case "s"

up_down_mover = 10

left_right_mover = 0

End Select

End Sub

Private Sub lenghthensnake()

lenght_of_snake += 1

snake(lenght_of_snake) = New PictureBox

With snake(lenght_of_snake)

.Height = 10

.Width = 10

.BackColor = Color.White

.Top = snake(lenght_of_snake - 1).Top

.Left = snake(lenght_of_snake - 1).Left + 10

End With

Me.Controls.Add(snake(lenght_of_snake))

snake(lenght_of_snake).BringToFront()

End Sub

#End Region

#Region "Collision"

Private Sub collide_with_walls()

If snake(0).Left < pb_field.Left Then

tm_snakemover.Stop()

MsgBox("Você Perdeu", vbInformation, "AWwnnnnn")

End If

If snake(0).Right > pb_field.Right Then

tm_snakemover.Stop()

MsgBox("Você Perdeu", vbInformation, "AWwnnnnn")

End If

If snake(0).Top < pb_field.Top Then

tm_snakemover.Stop()

MsgBox("Você Perdeu", vbInformation, "AWwnnnnn")

End If

If snake(0).Bottom > pb_field.Bottom Then

tm_snakemover.Stop()

MsgBox("Você Perdeu", vbInformation, "AWwnnnnn")

End If

End Sub

#End Region

Private Sub collide_whith_mouse()

If snake(0).Bounds.IntersectsWith(mouse.Bounds) Then

lenghthensnake()

mouse.Top = r.Next(pb_field.Top, pb_field.Bottom - 10)

mouse.Left = r.Next(pb_field.Left, pb_field.Right - 10)

End If

End Sub

#Region "Mouse Stuff"

Dim mouse As PictureBox

Private Sub create_mouse()

mouse = New PictureBox

With mouse

.Width = 10

.Height = 10

.BackColor = Color.Red

.Top = r.Next(pb_field.Top, pb_field.Bottom - 10)

.Left = r.Next(pb_field.Left, pb_field.Right - 10)

End With

Me.Controls.Add(mouse)

mouse.BringToFront()

End Sub

#End Region

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

create_head()

create_mouse()

tm_snakemover.Start()

End Sub

Private Sub tm_snakemover_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tm_snakemover.Tick

For i = lenght_of_snake To 1 Step -1

snake(i).Top = snake(i - 1).Top

snake(i).Left = snake(i - 1).Left

Next

snake(0).Top += up_down_mover

snake(0).Left += left_right_mover

collide_with_walls()

collide_whith_mouse()

End Sub

End Class

 

Video (não sou eu) bastante simples

 

Obrigado Pessoa até ...

Link para o comentário
Compartilhar em outros sites

  • 3 semanas atrás...
  • 2 meses depois...
Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.