Eigene Scriptsprache?
Übersicht

![]() |
SmilyBetreff: Eigene Scriptsprache? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hoi,
Ich poste das einfach mal in Smalltalk, weil es ja eigentlich nichts mit Blitzbasic zutun hat. Beim letzten Stammtisch war hin und wieder die Rede von selbstentwickelten Scriptsprachen, also Programme, die textdatein auslesen und Intepretieren können. Soo jetzt würd ich mich gerne mal selbst an sowas versuchen, allerdings habe ich da keine ahnung, wie ich da rangehen soll. Ich hatte das schon ein paar mal versucht, allerdings endete das immer in einem mehr oder weniger katastrophalem Code. Also möchte ich mich einfach mal bei welchen Informieren, die sowas vielleicht schon mal gemacht haben. Also worrauf sollte ich achten? Und wie sollte ich anfangen? Für ein paar hilfreiche Tips wäre ich dankbar ![]() mfg, Smily0412 |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
ZaP |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hatte mal einen Gameboy Klon angefangen (BlitzBoy), der eine einfache Scriptsprache haben sollte, so dass sich jeder Spiele schreiben kann.
Also ich habe mit dem Urschleim angefangen, Variablen, später einfache funktionen, die Grafiken laden, und zeichnen, weiter war ich nochnicht :/ |
||
Starfare: Worklog, Website (download) |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Eigentlich ist eine Scriptsprache für den Anfang nur geschicktes Stringzerstückeln; jedenfalls wenn man keine Schleifen oder Bedingungen realisieren möchte. Dann reicht es, wenn man auf bestimmte Schlüsselworte reagiert (z.B. einen neuen Type erstellt), und dahinter dazugehörige Daten ausließt. Ich glaub die nwort() Funktion irgendwo aus dem Codearchiv kann da sehr hilfreich sein - oder ist es mir zumindest.
Kompliziertere Scripts mit mehrzeiligen Befehlen/Bedingungen/Schleifen fände ich auch ganz interessant, aber es hapert gerade wieder an der Freizeit... Grundsätzlich halte ich das aber auch für DIE Möglichkeit Spiele zu steuern oder mod-bar zu machen, so wenig Hardcoded wie möglich... |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm das erste was man machen könnte wäre ne art MS-DOS... das hat einfache schleifen ifs usw... wenn man dafür nen interpreter baut hat man ja schonmlal was... das nächste geht in richtung java/c/php syntax mit stepin konstrukten damit meine ich sowas:
Code: [AUSKLAPPEN] if ...;Stepin=1
bla if ...;stepin=2 if ..;stepin=3 Endif;stepin=3 endif;stepin=2 if ..;stepin=2 endif;stepin=2 endif;stepin=1 eigendlich recht einfach dem pc beizubringen: bei jedem if ein stepin größer und bei jedem endif ein stepin kleiner und die passenden stepins passen eben. nach dem gleichen verfahren geht das mit verschachtelten funktionsparametern. hmm bei dieser gelegenheit kann ich ja die skriptsprache der ki für Realspace pasten... kanns ja mal drüberschauen vllt hillfts und net me sttell ich ins codearchiv das hat nämlich ne richtig schöne skriptspraceund da ichs im moment eh net weitermachen kann... die links kommen dann hierein |
||
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe vor einigen Tagen für mein Spielprojekt eine Skriptsprache angefangen.
Sicher ist diese noch nicht sonderlich ausgereift, funktioniert aber perfekt und hat schon einiges an Funktionen..... An eine Skriptsprache ranzugehen, heißt sich erstmal Gedanken zu machen, wofür du eine Skriptsprache schreiben willst.Ich brauchte meine Skriptsprache um meine NPC´s zu skripten, ihre Dialoge schnell und einfach zu erstellen und sie zu bewegen oder derartiges. Außerdem sollten sie den ungefähren Funktionsumfang eines Rpgmaker 2000-Events haben(falls du das Programm kennst und shconmal verwendet hast). Sobald du dir im Klaren bist, wofür deine Skriptsprache eingesetzt werden soll, musst du dir Gedanken machen, wie die Syntax deiner Skriptsprache aussehen soll. Ich z.B. habe mich für zeilenweise Einteilung der Befehle entschieden, weil man dann die Zeilen einfacher auslesen kann. Code: [AUSKLAPPEN] /befehl Parameter Wenn dass feststeht, musst du eigentlich nur noch deinen Plan in Code umwandeln. Wichtig ist dabei eigentlich nur, dass du daran denkst, dass du eine Textdatei zeilenweise auslesen muss.Dann musst du nur noch jede Zeile abarbeiten und abfragen welcher Befehl in der jeweiligen Liste vorkommt.Das geht ganz einfach mit If-Abfragen. Ich hab das folgendermaßen gemacht: Erstmal werden alle Zeilen ausgelesen und in einen Array oder in eine DVL gespeichert.Dann habe ich festgelegt, dass alles mit leerzeichen getrennt wird. Sicher ist es sinnvoller Kommas oder Simikolons oder dergleichen zu verwenden. Code: [AUSKLAPPEN] /befehl Parameter1 Parameter2 Parameter3 etc.
Dann hab ich den Befehl aus dem String-Array in dem alle Zeilen der Textdatei, welche das Skript darstellen , gespeichert ausgelesen.Dann wird per IF-Abfrage geschaut um welchen Befehl es sich in der entsprechenden Zeile handelt.Und dann werden die entsprechenden Befehle ausgeführt. Im allgemeinen sind alle Befehle die BlitzBasic zum Thema Strings und File so hat ausreichend um ordentliche Skriptsprachen für den anfang zu erstellen^^ Ich hoffe ich konnte dir etwas helfen! MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau dir mal das hier an:
Backus-Naur-Form und Erweiterte Backus-Naur-Form sowie die Querlinks zu Begriffen wie Grammitken, formale Sprachen usw. und natürlich die Weblinks. Je abstrakter du die ganze Sache angehst, desto flexibler und somit mächtiger wird deine Scriptsprache am Ende werden. |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich das jetzt auch mal für meine NPC's gemacht.(Mit dem Beispiel von der Blitz Basic CD) Ist eig. ganz simple... lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jo0oker hat Folgendes geschrieben: Hallo,
ich das jetzt auch mal für meine NPC's gemacht.(Mit dem Beispiel von der Blitz Basic CD) Ist eig. ganz simple... lg Jo0oker Ich will ja net unhöflich sein, aber was willst du uns jetzt mit dieser äußerst informationsträchtigen Aussage genau auf das Thema bezogen sagen?^^ MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
![]() |
Kernle 32DLL |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mich auch schonmal mit sowas versucht ^^ War aber mehr ein Versuch mich mit n^X (User) zu messen, der eine solche einfache programmiersprache schon in perfekter Form programmiert hat (Schleifen, usw. inklusive).
Weiter als eine (recht coole ![]() ![]() ![]() Grüßle: Kernle |
||
Mein PC: "Bluelight" - Xtreme Gamer PC [Video]
Meine Projekte: Cube-Wars 2010 [Worklog] Anerkennungen: 1. Platz BCC #7 , 1. Platz BCC #22 , 3. Platz BAC #89 Ich war dabei: NRW Treff III, IV ; Frankfurter BB Treffen 2009 |
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Tehadon (http://tehadon.info)
hat eine skriptsprache. Sie ist recht weit fortgeschritten, bietet Variabeln, If-Abfragen, Funktionen funzen noch nich ganz ![]() Um eine Skriptsprache zu machen, die nur Befehle ausführt, braucht es nicht viel. Also damit meine ich eine solche: Code: [AUSKLAPPEN] OutputText (20,20, "HALLO_OO"); Draw_The_Stuff (0); Wait_An_Minute (); Willste solche Funktionen haben, kannste meinen (teils) selbstgeschriebenen Funktionsparser nehmen. Er funktioniert so: In einer (sie ist Global definiert) Variable "sTxt" speicherst du die Zeile als String. Dann suchst du mit der Funktion TE_FindCommand () die Funktion und ihre Parameter. Das wäre beim Befehl PRINT z.B. so: if TE_FindCommand ("PRINT") print parserreturn (1); endif in dem Array parserreturn (das Ding nutzt den Parser von blitzbase.de) werden alle Parameter als String gespeichert. Nun wertest du die Parameter aus und führst irgendetwas aus. Wenn du den Code willst, schreibe mir ne PM MfG |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab mal den code für die ki gepastet da:https://www.blitzforum.de/upload/code.php?show=633
und Net.Me auch:https://www.blitzforum.de/foru...hp?t=25225 Net.Me hat mehr eine .bat ähnelnde sprache während eher an C basierend erinnert mit seinen verschachtelten funktionen und dem ; am ende jedes befehls. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group