PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Snakescript



Deali
19.11.2006, 16:17
Hi Leute... Ich möchte nicht unötig hier reden, da ihr jetzt eh einen schlechten eindruck von mir habt, deswegen komme ich gleich zur Sache:
Ich brauche einen Script für ein Snakegame (also eigentlich nicht ich sondern ein freund von mir ;) ) Also der Script soll so funktionieren: Wenn die Schlange einen Stein aufhebt, das dieser Stein automatisch an die Schlange angeheftet wird... Ja das wars danke im voraus!


Gruß Deali

Phönix Tear
19.11.2006, 18:42
Hmm. Eine Schlange aus Steinen? Aber gut, ich hab nen Skript dazu geschrieben.
Sieht jetzt so aus:
http://www.directupload.net/images/061119/temp/LHAuSRCi.png (http://www.directupload.net/file/d/886/LHAuSRCi_png.htm)
Das sich die Schwanzsegmente so ruckartig bewegen ist das Ergebnis einer längeren Herumprobiererei wie ich es hinbekomme, das sich ein Stein nicht weiter als 1 Feld von seinem Vorgänger entfernt. Ich bin sicher, dass es auch eine andere Lösung gibt, diese erschien mir allerdings als die einfachste. Des weiteren gewöhnt man sich recht schnell an die Ruckartige Bewegung. Man muss es nur wollen ^^.
So, lange Rede, kurzer Sinn, hier der Download-Link:

*klick mich* (http://rapidshare.com/files/4126924/Snakeskript.rar.html) (324 KB)

Hoffe es hilft dir (oder deinem Freund -.-)

mfg
Phönix Tear

Edit:
So, ich hab die Graphik noch ein bisschen verbessert, ein zweites Level hinzugefügt und die "Länge zum Sieg" von 50 auf 30 runtergesetzt. Auch so sollte es (durch die manchmal etwas hakende) Steuerung schwer genug sein ^^°.
Jetzt sieht es so aus:
http://www.directupload.net/images/061119/temp/UFTLLYRM.png (http://www.directupload.net/file/d/886/UFTLLYRM_png.htm)

Edit 2:
Ah, tut mir leid. In der zweiten Version war im zweiten Level leider noch ein Fehler. Dieser ist nun behoben (neue Version steht bereit).

Edit 3:
Hmm, nochmal ne neue Version. Diesmal hab ich nun das Problem der Segmentbewegung behoben. Jetzt sollte sich die Schlange schön gleichmäßig bewegen. Viel Spaß damit ;)

Deali
21.11.2006, 14:39
Danke PT^^ du bist mein Held!
Willst nen Credits eintrag :P?

Phönix Tear
21.11.2006, 14:57
Öh, schaden könnte es nicht ;)

Hab allerdings nochmal eine neue Version gemacht. Diese ist nicht mehr ganz so sauber geskriptet, aber sie funktioniert besser (da die Schlange nun keine Lücken mehr hat). Kannst dich ja zwischen den beiden entscheiden, ich persönlich finde die letzte am besten (hat auch noch ein drittes Level ^^).

Hier ein Screenshot:

http://www.directupload.net/images/061121/temp/X7bl367n.png (http://www.directupload.net/file/d/888/X7bl367n_png.htm)

Und hier der Download-Link:

*klick mich* (http://rapidshare.com/files/4257691/Snakeskript.rar.html) (326 KB)

mfg
Phönix Tear

Pincky
21.11.2006, 15:00
Das Skript ist genial und dir echt gut gelunegtn, also heir mal ein dickes:

LOB

CapSeb
21.11.2006, 16:54
Da könnte man grad ein eigenständiges Spiel draus machen...
Sehr schick.
Nur nennt sich das erste Event "Furcht" statt "Frucht" :D ... :p
Außerdem lassen die Coments sich per Edit nicht vollständig anzeigen und im Code fehlt der nötige Zeilenumbruch.
--> Informationsverlust

Aber das dürfte so ziemlich nebensächlich sein.

Phönix Tear
23.11.2006, 16:48
So, ich wollts mal nicht dabei bewenden lassen und hab noch eine Version gemacht (die fünfte? ^^°).
Was neu ist:
- Anzeige wie Lang die Schlange bereits ist (natürlich in Bezug auf die Länge zum Sieg)
- Ein viertes Level (Level 1 nur mit einer "Sieglänge" von 140 Gliedern)
- 4 unterschiedlich farbige Früchte (für die Abwechslung ^^)
- Einstellbare Verlängerung pro Frucht. So wird die Schlange in Level 4 nun auch pro Frucht um 4 Glieder länger
- System-Set und Titel-Screen (schlecht, aber immerhin, es gibt sie ^^)
- Nach absolvieren des 4ten Levels kommt man in ein "Massage-Menü" in dem man nochmal jedes Level einzeln spielen kann (solange Bedarf ist).

Sooo, wie immer, ein neuer Download link und ein neuer Screenshot ^^:

Screenshot:

http://www.directupload.net/images/061123/temp/F6mYZPq8.png (http://www.directupload.net/file/d/890/F6mYZPq8_png.htm)

Download link:

*klick mich* (http://rapidshare.com/files/4520965/Snakeskript.rar.html) (342 KB)

mfg
Phönix Tear

Deali
24.11.2006, 12:58
Ey :P das ist ja schon ein eigenes Snakespiel...
Willst du mit mir zusammen ein Ultimatives machen?
Ich habe auch paar nützliche scripts die das Spiel goil machen könnten:P

Gruß
Deali

Pogopuschel
26.11.2006, 12:54
Das hast du wirklich sehr schön gemacht, hätte nich gedacht das du das so hinbekommst. Nur beim wirklichen snake konnte man afaik nicht nach hinten gehen und so auch verlieren. ^^"

@Deali
Wieso sollte er jetzt noch deine Hilfe benötigen??? Er hat eigentlich schon ein komplettes Spiel fertig, er hat die Technik er hat die Grafiken wozu brauch er dich??? ^^"
Ist nich böse gemeint, aber die Wahrheit.

Gruß Pogopuschel

Phönix Tear
27.11.2006, 15:52
Nya, Ideen können nie Schaden. Außerdem ist die Grafik nun wirklich nicht der Brüller ^^°.

Ich hab trotzdem weitergemacht und für jene die gerade an den späteren Leveln scheitern einen kleinen Trost eingebaut. Ab jetzt stirbt man nicht mehr, man verkürzt sich nur.
Wenn ihr auf den Rand tretet verliert ihr alle 3x0,0secs (also 1/2 0,1 sec) ein Glied. Fresst ihr euren Schwanz wird dieser dort abgetrennt wo ihr rein gebissen habt. Wenn ihr also nach hinten lauft seid ihr wieder bei 2 Gliedern ;)
Ich hab zwar einen Switch eingebaut mit dem sich dieses "Feature" abschalten lässt, dem Spieler aber noch keine Möglichkeit gegeben das im Spiel zu tun. Wers schwer haben will kann das Spiel gerne im Maker öffnen und über den Variablen-Editor den Switch "(0002) Schlangenkürzung" auf OFF setzten. Dann sollte alles wieder beim alten sein.
Außerdem sind in dieser Version alle Level geändert worden. D.h. das große Level (welches recht nervig war) wurde entfernt. Insgesamt sind es 6 Level (das 6te ist wiedermal das erste, nur mit bis zu 100 Gliedern) und ein extra-Level, welches aber nur für jene zugänglich ist, welche im Maker den entsprechenden Teleport einbaun ^^. (Hinweis: Wer das machen will: Verlängerung pro Frucht auf 4 und Länge zum Sieg auf 100 ;) ).
Sooo, mehr gibt es nicht zu sagen. Ich schätze bald werdet ihr auch von den in hoher Frequenz erscheinenden Versionen verschont werden, da es nicht mehr viel zu machen gibt ^^

Hier der Download-Link:
*klick mich* (http://rapidshare.com/files/5037951/Snakeskript.rar.html) (346 KB)

P.S:
@Pogopuschel:
Ich hatte zwischenzeitlich eine Funktion eingebaut, die verhinderte das der Spieler nach hinten lief. Diese habe ich jedoch wieder entfernt, da mein eigentliches Ziel, nämlich das versehentliche Rückwärtslaufen, obwohl man nur einen enge Kurve machen wollte, nicht erreicht wurde...

Pogopuschel
27.11.2006, 18:22
Ich hatte zwischenzeitlich eine Funktion eingebaut, die verhinderte das der Spieler nach hinten lief. Diese habe ich jedoch wieder entfernt, da mein eigentliches Ziel, nämlich das versehentliche Rückwärtslaufen, obwohl man nur einen enge Kurve machen wollte, nicht erreicht wurde...
Was genau heißt das? ^^°

Naja ich kann mich halt nur noch beim Snake dran erinnern das einfach nichts passiert ist wenn man nach hinten gedrückt hat.

Außerdem könnte man Spezialsteine einbauen, die einen z.B. schneller machen oder die Schlange mehr füttern.
Hm joa hab noch unendlich Ideen für Spezialsteine. xD

Gruß Pogopuschel

Phönix Tear
29.11.2006, 19:07
Was genau heißt das? ^^°
Veranschaulichung:
Stell dir vor du bewegst dich mit deiner Schlange nach rechts. Nun hast du eine Frucht eingesammelt und die nächste erscheint direkt über deiner Schlange, aber weiter links. Logischerweise willst du dann 1 Feld nach oben und dann sofort nach links. Also drückt man "Pfeil oben" und sofort "Pfeil links". Da der Maker aber alle 0,0 Sekunden die Tasten abfragt (ich wollte mal Probieren eine Liste einzubaun), wird der erste Befehl häufig überschrieben und man bewegt sich sofort nach links, ist also tot...

Zu den Spezialsteinen:
Da müsste man schaun wie man das umsetzt. Man könnte natürlich Unverwundbarkeit einbauen, sowie schnellere Bewegung (wobei das evtl von der Performance her kritisch wird (da alle Schwanzglieder pro Bewegung einmal aufgerufen werden müssen (und bei 100 Stück ^^°)). Ansonsten könnte man noch Gegner einbaun, welche durch einen anderen Spezialstein aller Pacman fressbar gemacht werden... Muss ich mal sehen...

@CapSeb (darunter):
Joa, wie gesagt. Ich wollte eben versuchen eine Liste einzubaun -.- (nichts dagegen das du helfen willst ;) )

Pogopuschel
30.11.2006, 22:45
Naja man kann doch abfragen in welche Richtung die Schlange grad guckt und die Bewegung in die entgegengesetzte Richtung dann ausstellen.
So wär das Problem mit dem nach hinten drücken geklärt denk ich. ^^°

CapSeb
01.12.2006, 16:49
Hi, ich schon wieder. ^^

Wenn man das Spiel spielt, ist gerade am Anfang der beschriebenen Effekt ziemlich nervig. Aber man dürfte ihn umgehen können.

Also drückt man "Pfeil oben" und sofort "Pfeil links". Da der Maker aber alle 0,0 Sekunden die Tasten abfragt (ich wollte mal Probieren eine Liste einzubaun), wird der erste Befehl häufig überschrieben und man bewegt sich sofort nach links, ist also tot...
Der Maker überschreibt zwar alle 0,0 Sekunden. Aber das Problem tritt auch bei längeren Pausen zwischen den Tastendrucks (-drucken, -drücken? Halt Plural...) auf. Man müsste also einfach nur speichern, was für Tasten gedrückt werden.
Bei Geraden ist es kein Problem. Das heißt, stimmen alle gespeicherten Tasten überein, werden sie bis auf eine gelöscht.
Bei Kurven muss eine Taste gespeichert werden. Die aktuelle Tasten kann nur ausgeführt werden, wenn die gespeichert schon ausgeführt wurde.

Zusammen heißt das Folgendes:
Drückt man eine Taste wird sie gespeichert. Drückt man eine andere Taste wird sie ebenfalls gespeichert. Hat sich die Schlange bewegt, wird die erste gespeicherte Taste ausgeführt und von der zweiten gespeicherten Variable überschrieben. die zweite gespeicherte wird gelöscht.
Drückt man während des Bewegens eine Taste, wird sie auf die zweite gespeicherte geschrieben, aber eben noch nicht ausgeführt, sondern erst wenn die Bewegung der Schlange vorbei ist. Und so weiter und so fort...

Als Quältext (in gehobenen Fachkreisen auch "Quelltext" genannt):
Event1 (parallel process):


wenn "gedrückte Taste" > 0 dann
begin
wenn Variable1 > 0 dann Variable2 := "gedrückte Taste"
end else Variable1 := "gedrückte Taste"
end;


Event2 (parallel process):


Variable3 := Variable1
Variable1 := Variable2
Variable2 := 0
"Move Schlange in Richtung [Variable3]"