VB bau-game (richtung Siedler =))

Diskutiere VB bau-game (richtung Siedler =)) im Programmierung Forum im Bereich Software Forum; ich habe programmiert dass man wenn man auf einen button klickt dass dann eine pb erstellt wird mit der münzprägerei (bsp.) dann folgt dieses der...
M

marky197

Threadstarter
Mitglied seit
02.11.2011
Beiträge
37
Standort
Meran/Südtirol
ich habe programmiert dass man wenn man auf einen button klickt dass dann eine pb erstellt wird mit der münzprägerei (bsp.) dann folgt dieses der maus und wenn i klicke bleibt es an der stelle stehen. aber wenn ich nochmal uf den button klicke dann wird keine neue pb erstellt sondern ich kann die alte pb wieder bewegen und wieder setzen.

Help!!!



Code:

Public Class Form1
Dim restgeld As Integer
Dim höchstenergie As Integer
Dim höchstgeld As Integer
Dim punkt As New Point
Private gebäude As New PictureBox
Dim klick As Integer
Dim zähler As Integer

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
höchstenergie = 10
höchstgeld = 100
ProgressBar1.Maximum = höchstenergie
Label4.Text = höchstenergie
ProgressBar2.Maximum = höchstgeld
punkt.X = 4 + gebäude.Width / 2
punkt.Y = 30 + gebäude.Height / 2
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label4.Text = Val(Label4.Text) - "1"
Label2.Text = Val(Label2.Text) + "20"
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If Label4.Text = 0 Then
Button1.Enabled = False
Else
Button1.Enabled = True
End If
If Label4.Text = höchstenergie Then
Button2.Enabled = False
Else
Button2.Enabled = True
End If
If Val(Label2.Text) >= höchstgeld Then
restgeld = Label2.Text - höchstgeld
Label2.Text = restgeld
Label8.Text = Val(Label8.Text) + "1"
höchstgeld = höchstgeld + höchstgeld / 2
höchstenergie = höchstenergie + 1
Label4.Text = höchstenergie
ProgressBar1.Maximum = höchstenergie
ProgressBar2.Maximum = höchstgeld
End If
ProgressBar1.Value = Val(Label4.Text)
ProgressBar2.Value = Val(Label2.Text)
Label7.Text = Label2.Text & "/" & höchstgeld
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Label2.Text >= 10 Then
If Val(Label4.Text) < höchstenergie Then
Label4.Text = Val(Label4.Text) + "1"
Label2.Text = Val(Label2.Text) - 10
End If
End If
End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
If Val(Label4.Text) < höchstenergie Then
Label4.Text = Val(Label4.Text) + "1"
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
gebäude.Image = My.Resources.muenzpraegerei
gebäude.Size = My.Resources.muenzpraegerei.Size
gebäude.BringToFront()
gebäude.Name = "haus" & zähler
Controls.Add(gebäude)
gebäude.BringToFront()
Timer3.Start()
klick = 2
AddHandler gebäude.MouseClick, AddressOf variable_Click
End Sub

Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
gebäude.Location = Cursor.Position - Me.Location - punkt
End Sub

Private Sub variable_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If klick = 2 Then
If Label2.Text >= 50 Then
Label2.Text = Val(Label2.Text) - 50
Timer3.Stop()
klick = 1
zähler += 1
End If
End If
End Sub

Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick
If klick = 1 Then
Label2.Text += 1
End If
End Sub
End Class

:

http://www.winboard.org/forum/attachment.php?attachmentid=57562&stc=1&d=1322143280
 

Anhänge

M

marky197

Threadstarter
Mitglied seit
02.11.2011
Beiträge
37
Standort
Meran/Südtirol
dieses problem hab ich jetzt gelöst aber ich kann auf die erstellten picboxen nicht mehr zugreifen

PS: falls jemand eine effektivere version meines codes weiß wäre ich sehr dankbar


hier nochmal der neue code:


Public Class Form1
Dim restgeld As Integer
Dim höchstenergie As Integer
Dim höchstgeld As Integer
Dim punkt As New Point
Dim gebäude(0) As PictureBox
Dim zähler As Integer
Public i As Integer
Dim zähler2 As Integer
Dim gebäudeart As Integer
Dim holzfäller As Integer
Dim steinmetz As Integer
Dim münzprägerei As Integer


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
höchstenergie = 10
höchstgeld = 100
ProgressBar1.Maximum = höchstenergie
Label4.Text = höchstenergie
ProgressBar2.Maximum = höchstgeld
Label9.Text = münzprägerei
Label10.Text = holzfäller
Label11.Text = steinmetz
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Label4.Text = Val(Label4.Text) - "1"
Label2.Text = Val(Label2.Text) + "20"
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If Label4.Text = 0 Then
Button1.Enabled = False
Else
Button1.Enabled = True
End If
If Label4.Text = höchstenergie Then
Button2.Enabled = False
Else
Button2.Enabled = True
End If
If Val(Label2.Text) >= höchstgeld Then
restgeld = Label2.Text - höchstgeld
Label2.Text = restgeld
Label8.Text = Val(Label8.Text) + "1"
höchstgeld = höchstgeld + höchstgeld / 2
höchstenergie = höchstenergie + 1
Label4.Text = höchstenergie
ProgressBar1.Maximum = höchstenergie
ProgressBar2.Maximum = höchstgeld
End If
ProgressBar1.Value = Val(Label4.Text)
ProgressBar2.Value = Val(Label2.Text)
Label7.Text = Label2.Text & "/" & höchstgeld
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If Label2.Text >= 10 Then
If Val(Label4.Text) < höchstenergie Then
Label4.Text = Val(Label4.Text) + "1"
Label2.Text = Val(Label2.Text) - 10
End If
End If
End Sub

Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
If Val(Label4.Text) < höchstenergie Then
Label4.Text = Val(Label4.Text) + "1"
End If
End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
gebäudeart = 3
gebäudeerstellen()
End Sub

Private Sub gebäudeerstellen()
If gebäudeart = 1 Then
For i As Integer = 0 To 0
gebäude(i) = New PictureBox
AddHandler gebäude(i).MouseClick, AddressOf variable_Click
punkt.X = 4 + gebäude(i).Width / 2
punkt.Y = 30 + gebäude(i).Height / 2
gebäude(i).Image = My.Resources.buildings_ro_12
gebäude(i).Size = My.Resources.buildings_ro_12.Size
gebäude(i).BackColor = Color.Transparent
Timer3.Start()
Controls.Add(gebäude(i))
gebäude(i).BringToFront()
zähler2 += 1
Next
ElseIf gebäudeart = 2 Then
For i As Integer = 0 To 0
gebäude(i) = New PictureBox
AddHandler gebäude(i).MouseClick, AddressOf variable_Click
punkt.X = 4 + gebäude(i).Width / 2
punkt.Y = 30 + gebäude(i).Height / 2
gebäude(i).Image = My.Resources._3_Steinmetz
gebäude(i).Size = My.Resources._3_Steinmetz.Size
gebäude(i).BackColor = Color.Transparent
Timer3.Start()
Controls.Add(gebäude(i))
gebäude(i).BringToFront()
zähler2 += 1
Next
ElseIf gebäudeart = 3 Then
For i As Integer = 0 To 0
gebäude(i) = New PictureBox
AddHandler gebäude(i).MouseClick, AddressOf variable_Click
punkt.X = 4 + gebäude(i).Width / 2
punkt.Y = 30 + gebäude(i).Height / 2
gebäude(i).Image = My.Resources.muenzpraegerei
gebäude(i).Size = My.Resources.muenzpraegerei.Size
gebäude(i).BackColor = Color.Transparent
Timer3.Start()
Controls.Add(gebäude(i))
gebäude(i).BringToFront()
zähler2 += 1
Next
End If

End Sub

Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
gebäude(i).Location = Cursor.Position - Me.Location - punkt
End Sub

Private Sub variable_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
If zähler2 > zähler Then
If gebäudeart = 1 Then
If Label2.Text >= 10 And ToolStripMenuItem1.Text >= 10 And ToolStripMenuItem2.Text >= 5 Then
Label2.Text = Val(Label2.Text) - 10
ToolStripMenuItem1.Text -= 10
ToolStripMenuItem2.Text -= 5
Timer3.Stop()
zähler += 1
holzfäller += 1
Label10.Text = holzfäller
Else
Controls.Remove(gebäude(i))
Timer3.Stop()
zähler2 -= 1
End If
ElseIf gebäudeart = 2 Then
If Label2.Text >= 10 And ToolStripMenuItem1.Text >= 10 And ToolStripMenuItem2.Text >= 5 Then
Label2.Text = Val(Label2.Text) - 10
ToolStripMenuItem1.Text -= 10
ToolStripMenuItem2.Text -= 5
Timer3.Stop()
zähler += 1
steinmetz += 1
Label11.Text = steinmetz
Else
Controls.Remove(gebäude(i))
Timer3.Stop()
zähler2 -= 1
End If
ElseIf gebäudeart = 3 Then
If Label2.Text >= 50 And ToolStripMenuItem1.Text >= 100 And ToolStripMenuItem2.Text >= 100 Then
Label2.Text = Val(Label2.Text) - 50
ToolStripMenuItem1.Text -= 100
ToolStripMenuItem2.Text -= 100
Timer3.Stop()
zähler += 1
münzprägerei += 1
Label9.Text = münzprägerei
Else
Controls.Remove(gebäude(i))
Timer3.Stop()
zähler2 -= 1
End If
End If

End If
End Sub

Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick
Label2.Text += münzprägerei
ToolStripMenuItem1.Text += holzfäller
ToolStripMenuItem2.Text += steinmetz

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
gebäudeart = 1
gebäudeerstellen()
End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
gebäudeart = 2
gebäudeerstellen()
End Sub
End Class
 
Thema:

VB bau-game (richtung Siedler =))

VB bau-game (richtung Siedler =)) - Ähnliche Themen

  • explorer.exe; Desktop u. Taskleiste bauen sich im 2 s Rhythmus neu auf

    explorer.exe; Desktop u. Taskleiste bauen sich im 2 s Rhythmus neu auf: Hallo, das Problem mit sich ständig neu aufbauenden Desktop und Taskleiste ist mehrfach Thema im Web. Es gibt nur wenig Lösungsansätze. Aktuell...
  • Wir bauen einen Rechner

    Wir bauen einen Rechner: Hallo, ist mir fast peinlich - aber auf Weihnachten ist das dann halt so. Baue gerade mit meinem kleinen Sohn einen Rechner zusammen. MSI B450...
  • Eigenes Startmenü bauen

    Eigenes Startmenü bauen: Hallo, ich habe keine Lust mehr, bei jedem größeren Update von Windows 10 mein Startmenü neu zu bauen weil es wieder zurückgesetzt wurde...
  • PC selbst bauen

    PC selbst bauen: Hi, wollte mir einen PC selbst bauen und ich habe mich auch schon ein wenig schlau gemacht und die einzelnen Komponenten (siehe unten Bilder)...
  • HoloKit – Die Microsoft HoloLens zum selber bauen wie Google Cardboard für Augmented Reality

    HoloKit – Die Microsoft HoloLens zum selber bauen wie Google Cardboard für Augmented Reality: Am Anfang machte sich so mancher User bei Virtual Reality sorgen über die Kosten für eine entsprechende Brille. Dank Google Cardboard fielen die...
  • Ähnliche Themen

    • explorer.exe; Desktop u. Taskleiste bauen sich im 2 s Rhythmus neu auf

      explorer.exe; Desktop u. Taskleiste bauen sich im 2 s Rhythmus neu auf: Hallo, das Problem mit sich ständig neu aufbauenden Desktop und Taskleiste ist mehrfach Thema im Web. Es gibt nur wenig Lösungsansätze. Aktuell...
    • Wir bauen einen Rechner

      Wir bauen einen Rechner: Hallo, ist mir fast peinlich - aber auf Weihnachten ist das dann halt so. Baue gerade mit meinem kleinen Sohn einen Rechner zusammen. MSI B450...
    • Eigenes Startmenü bauen

      Eigenes Startmenü bauen: Hallo, ich habe keine Lust mehr, bei jedem größeren Update von Windows 10 mein Startmenü neu zu bauen weil es wieder zurückgesetzt wurde...
    • PC selbst bauen

      PC selbst bauen: Hi, wollte mir einen PC selbst bauen und ich habe mich auch schon ein wenig schlau gemacht und die einzelnen Komponenten (siehe unten Bilder)...
    • HoloKit – Die Microsoft HoloLens zum selber bauen wie Google Cardboard für Augmented Reality

      HoloKit – Die Microsoft HoloLens zum selber bauen wie Google Cardboard für Augmented Reality: Am Anfang machte sich so mancher User bei Virtual Reality sorgen über die Kosten für eine entsprechende Brille. Dank Google Cardboard fielen die...
    Oben