kostenloser Webspace werbefrei: lima-city


Snake???

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    s***p

    Hi@all,
    also ich behesche schon mal die Grundkenntnise von VB6! Nun hab ich mir ein Ziel gesetzt eine Art Snake zu programmieren... Also der Rand ist gesetzt und das Shape kann man mir den Pfeiltasten steuen nun meine Frage wie kann ich wenn ich ?ber ein zuf?llig erzeugtes Feld gehe meine Schlange verl?ngern? W?re nett wenn jemmand antworten k?nnte!

    MFG Sven
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Die sehr komplizierte L?sung w?re:

    Erzeuge ein neues Objekt, das hinter dem Objekt mit der n?chst niedrigeren Kennung l?uft. Daf?r m?sste man aber imemr ein Neues Objekt erzeugen das dnan einen bestimmten code ausf?hrt usw.

    Eine andere L?sung f?llt mir gerade auch nicht ein au?er immer eine neue Schlange zu laden!
  4. b*********t

    battlesnake von battlesoft (www.battlesoft.de.vu)

    Geht so: du machst ein Label(Schlange1), in einer bestimmten Farbe. dann kopierst du das label und l?schst die kopie wieder. dadurch wird ein elementenfeld (array) erstellt. du kannst auch in die index-eigenschaft 0 reinschreiben. dann im code deklarierst du eine variable als label. jetzt wird nacheinander immer von hinten her ein feld auf das vorige verschoben. und das erste wird je nach gedr?ckter richtungstaste versetzt, die in einer variable gespeichert ist (immer die letztgedr?ckte taste).

    ungef?hr so (in einem Timer):

    Dim Feld as Label

    For Each Feld in Schlange1
    If Feld.index = 0 then goto weiter 'die erste wird 'jenach taste versetzt
    Feld.Top = Schlange1(Feld.index - 1).top
    Feld.left = ....
    weiter:
    next feld

    jetzt der kopf

    Select Case Richtung
    case vbkeyleft
    Schlange1(0).left = Schlange1(0).left - 120)
    ...
    End Select
    '120 entspricht einem Raster.

    Jetzt noch testen, ob der Spieler einen Punkt eingefangen hat:

    If Schlange1(0).top = Punkt.top and schlange1(0).left = Punkt.Left then

    'Punkt gefangen, Schlange verl?ngern

    Load Schlange1(Schlange1.count)

    ENd IF


    Dadurch wird ein neues Feld erstellt. . Count z?hlt die Felder der Schlange. Weil aber die Null mitgez?hlt wird, ist es eins mehr als das h?chste, also das, welches man neu erstellen muss.

    Du musst aber schauen, dass der Punkt auf dem Raster ist, also seine Left und Top-Werte durch 120 teilbar sind:

    Randomize
    Punkt.Top = Int(Rnd * (UntererRand.Y1 - ObererRand.Y1) + UntererRand.Y1) * 120
    Punkt.Left = ....

    kann sein, dass ich X und Y verwechselt habe. Auf jeden fall ist damit die Linie oder Position des unteren und oberen Randes gemeint.

    Ich hoffe, ich habs einigerma?en verst?ndlich erkl?rt, auch wenn der Code eher fortgeschritten ist. F?r sowas isses dann besser, wenn ich chatten kann, da kann ich alles erkl?ren und so. Schreib mir ne PN, wenn du willst.

  5. Kannst dir auch unter www.tutorials.de eines ?ber snake runterladen
  6. Autor dieses Themas

    s***p

    okay danke f?r eure antworten werde es mal versuchen
    mfg sysop
  7. Ich hab so was ?hnliches wie Snake auf meiner PS2 programmiert. Es hei?t Tron. Man kann das zu zweit spielen. Macht ziemlich Spa?.

    Wenn jemand auf der PS2 programmieren will muss man yabasic lernen. Entweder man geht auf meine Website (http://jpaket.lima-city.de) oder man besucht die original Yabasic-website (www.yabasic.de).
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!