Spiel

ganjin

Mitglied
Hallo,
Ich habe eine art spiel programiert (moorhuhn prinzip)
meine frage ist wie kann ich die ziel scheibe wandern lassen ohne es so zu machen:

Code:
Public Class Form1

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        PictureBox1.Location = New Point(297, 27)
        Timer2.Enabled = True
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick
        Timer1.Enabled = False
        PictureBox1.Location = New Point(590, 390)
        Timer3.Enabled = True
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Timer1.Enabled = True
    End Sub

    Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
        Timer2.Enabled = False
        PictureBox1.Location = New Point(71, 334)
        Timer4.Enabled = True
    End Sub

    Private Sub Timer4_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer4.Tick
        Timer3.Enabled = False
        PictureBox1.Location = New Point(297, 12)
        Timer5.Enabled = True
    End Sub

    Private Sub Timer5_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer5.Tick
        Timer4.Enabled = False
        PictureBox1.Location = New Point(12, 12)
    End Sub
End Class

Ist total aufwendig und dauert ewig!
PLS Help!!


Hier wer sich es mal anschauen will:
http://filebeam.com/4ebf65223d439369e83c6245a5b3a0d4
 
Zuletzt bearbeitet:
Wieso mehrere Timer? Verwende einen und generiere dir die Location deiner Zielscheibe doch zufällig. Dann hast du auch weniger Aufwand.
 
Ja das war ja auch meine Frage, aber wie geht das?
sry will echt nicht nerven aber bin halt noch Anfänger :)
 
Zuletzt bearbeitet:
Such hier einfach im Forum nach Random. Solltest genug finden.

Zudem: Halte dich an unsere Netiquette, die bestimmte Punkte vorschreibt. Groß- Kleinschreibung, Einhaltung einer korrekten Rechtschreibung. Und alles fett zu schreiben, erleichtert es auch nicht wirklich, deine Texte zu lesen.
 
Finde etwa 8 Threads, aber versteh nicht was ich da jetzt hinschreiben soll.
da alle immer den kompletten code hinschreiben und ich keine ahnung hab kapier ich da garnix....
 
Hab es jetzt einfach so gemacht:

Code:
PictureBox1.Top = Rnd() * 800
PictureBox1.Left = Rnd() * 800

Aber wie kann ich die Grenzen machen?
Also das Fenster ist 1024x768 Groß wie sag ich dem code dass dies das maximum ist?
 
Zuletzt bearbeitet:
Du erzeugst doch zur Zeit Zufallszahlen zwischen 0 und 800, ergo liegt die Position der PictureBox immer zwischem 0, 0 und 800, 800.

Hat es *klick* gemacht?

Damit die Picturebox nicht außerhalb des Bildschirmes gezeichnet wird, solltest du für Top einen Wert wie Top = 768 - PictureBox1.Height und für Left = 1024 - PictureBox1.Width ermitteln.

Also:

Visual Basic:
PictureBox1.Top = Rnd() * (768 - PictureBox1.Height)
PictureBox1.Left = Rnd() * (1024 - PictureBox1.Width)
 

Neue Beiträge

Zurück