BCC #28 - Scriptsprache
Übersicht

Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7, 8, 9 Weiter
aletes |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hier der dritte, ich bin am 31. auch wahrscheinlich nicht da | ||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
OK es sind schon 4, einer hat sich per pm gemeldet:)
[Erweitert auf den 7.8] |
||
Warbseite |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich fände es btw. auch gut wenns verlängert wird.
Ich melde auch noch Erfolge (auch wenn der Source bei 42.5kb liegt ![]() Folgende 2 Codesamples werden richtig und mit 60fps (mit Timer) gerendert: Code: [AUSKLAPPEN] graphics(640,480,0,30)
local PlayerX:int=320 local shotlist:int[] local Count:int local Shotwait:int=1000 repeat cls() ShotWait=ShotWait+1 //Player Sachen Drawrect(PlayerX-5,430,10,10) if (KeyDown(KEY_LEFT)) PlayerX=PlayerX-4 elseif (KeyDown(KEY_RIGHT)) PlayerX=PlayerX+4 endif if (keydown(key_space) and shotwait>10) Count=Count+1 ShotWait=0 ShotList[Count][y]=430 ShotList[Count][x]=PlayerX-5 endif //Schüsse Updaten local i:string Steps=0 foreach ("ShotList","i") drawoval(ShotList[i][x]+5,shotlist[i][y],5,5) shotlist[i][y]=shotlist[i][y]-4 if (shotlist[i][y]<0) ShotList[i]=null endif next DrawText(getfps(),10,20) flip(1) until (keydown(Key_escape)) Code: [AUSKLAPPEN] Local Array:Int[] // Eckige Klammern bedeuten, dass es ein
Array ist Array[1]=100 //Setze den Wert 100 mit dem Index 1 Array["MeinArrayIndex"]=1000 //Auch Strings gehen als bezeichner Array[-10]=-100 //Sowie Negative '//Mehrdimensionale Array Local i:Int=10 Array[i][x]=10 //Die Gänsefüßchen können auch weggelassen werden (Dann ists nicht Case Senistive und auch Leerzeichen sind verboten) Array[i][y]=100 //Auch mehrere sind erlaubt Array[i]=-900 //Auch dieser Index kann angenommen werden Local index:String //Muss String sein, da die Indexe auch Strings sein können ForEach ("Array","index") Print (Array[index]) Next |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die einzige Chance ist der zu große Code ![]() Nicht schlecht coolo! ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
So von mir auch mal was neues:
Mein Hauptbeweggrund mitzumachen war ja das testen, wie ich mit dem bau eines eigenen Compilers etc... klarkomm. Hab mich heute mal wieder an meinen beitrag gesetzt und ohne weitere Probleme den Lexer fertig gestellt. ![]() Das freut mich natürlich, deswegen setze ich mich morgen hochmotiviert an einen Parser. Dieser wird erstmal (hoffentlich) lauffähigen BlitzMax Source erzeugen. Und sobald das klappt mach ich mich an die erzeugung von Assembler Code. Das Sprachkonzept wurde zum Xten mal umgestellt ich will es jetzt noch nicht erläutern erst wenn ich sehe, wie dass so mit dem parser klappt. Also dann... ComNik |
||
WIP: Vorx.Engine |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die nächste Version ist fertig:
![]() ![]() ![]() ![]() Download |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe es nun endlich geschafft Funktionen zu implementieren, natürlich im ASM-Style. Leider musste ich dafür eine Maximum für verschachtelte Funktionen setzen, aber wer verschachtelt 200 Funktionen?
Hier ein kleines Beispiel: Code: [AUSKLAPPEN] .text
main: int input,"Ihr Name: " push cmd call AnfangSetzen int delay,2000 end AnfangSetzen: mov cmd,"Ihr Name ist also " call AddName ret AddName: pop dx add cmd,dx call ausgeben ret ausgeben: int print ret |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Zitat: aber wer verschachtelt 200 Funktionen?
Wenn man Rekursion benutzt ist das nicht besonders viel ![]() |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber du müsstest sie auf diese Weise verschachteln:
Code: [AUSKLAPPEN] f1:
call f2 ret f2: call f3 ret f3: call f4 ret ... f199: call f200 ret f200: call f201 ' an der Stelle gäbe es dann eine MAV ret f201: ret Ich weiß nicht, ob das viel ist, unter Anderem weil ich sowas nie machen würde, aber wenn du es mir empfiehlst setze ich die Grenze etwas höher. Edit: Neuere Version: Es wurden mehrere Bugs behoben, geschätzte 17. Version: 0.72. Durch diese "enorme" Anzahl sah ich mich gezwungen, die neue Version hochzuladen. Neuer Link: https://www.blitzforum.de/upload/file.php?id=6285 (~43 KB) Ich habe ein neues Script dazu gegeben und die erste Version der Hilfedatei mit einer Dokumentation, einer Befehlsreferenz und einer Einführung in die thasm-Programmierung. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, da bin ich wieder!
Ich hab da ne absolut massen-untaugliche Idee die möglicherweise (so wie mein vorheriger Beitrag) wieder nicht ganz an eine Skriptsprache rankommt aber die Idee darf ich euch nicht vorenthalten... Ihr wollt mich doch schließlich alle liebend gern mal auslachen? ![]() Also hier mal ne (codetechnisch etwas unsaubere) Version inklusive dem "Hello World Skript" (An dem ich jetzt runde 2 Stunden gesessen bin... Wohl fast so lang wie ich für den ganzen Parser gebraucht hab ![]() https://www.blitzforum.de/upload/file.php?id=6302 Achja, verstehen müsst ihr es nicht... |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
So schlecht ist es gar nicht, Eingeproggt. Recht interessant.
Vor allem erstaunt mich der kleine Code (also der des Parsers). |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich finde den Code von Eingeproggt auch interessant.
Ich habe ihn nämlich auch verstanden. ![]() Als Erstes fängt man an dem grünen Punkt an und folgt der schwarzen Linie mit den bunten Punkten nach rechts. Die Linie entspricht Zahlen, welche vom "größten" zum "kleinsten" Bit definiert werden. Ein roter Punkt kennzeichnet eine neue Zahl. Ein blauer Punkt kennzeichnet dem Interpreter eine Kreuzung. Ein Knick nach links ist 0 ein Knick nach rechts ist 1. Den "Code" kann man in Abschnitte unterteilen. Die erste Zahl jedes Abschnittes gibt die Länge des darauffolgenden Strings an. Danach kommen dem entsprechend viele Zahlen mit dem ASCII-Code des jeweiligen Zeichens. Dieser String wird dann vom Programm mit "Print" ausgegeben. Wenn nach einem String keine Linie mehr weitergeht, dann fängt das Programm von vorne an. Da ist nämlich noch ein "Repeat...Forever". ![]() So, das war meine Analyse. ![]() Dieses Konzept kann noch erweitert werden. So könnte man auch If-Abzweigungen als eine echte Abzweigung definieren. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Wenn nach einem String keine Linie mehr weitergeht, dann fängt das Programm von vorne an.
Da ist nämlich noch ein "Repeat...Forever". Hm? Ne, das sollte eigentlich dann aufhören aber ich hab heute am Nachmittag versucht das Konzept zu erweitern (um Variablen) und jetzt im Moment geht gar nix... Und ich muss sagen dass ich iwie auch wenig Lust darauf hab weil das Erstellen von Beispiel"codes" extrem mühsam ist. Aber wer weiß, wenn mir morgen wieder so fad is wie heute arbeite ich vlt tatsächlich weiter. Ansonsten hast du übrigens 100% Recht mit deiner Analyse ![]() Zitat: Vor allem erstaunt mich der kleine Code (also der des Parsers).
Naja, das ist soweit keine Kunst, der kann ja auch nur das was mpmxyz beschrieben hat: Einen String ausgeben. Aber Danke für die Kommentare! Hab ich echt nicht erwartet ![]() mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe eben auch gemerkt, dass ich da etwas zu sehr überflogen hatte...
Diese Schleife existiert aber trotzdem und sorgt bei mir dafür, dass ich nichts sehe, da meine Computer durch diese stark ausgelastet ist. Das könntest du noch ausbessern und wenn du Lust hast, das zu erweitern, dann wäre das super. ![]() mfG mpmxyz P.S.: Ich hatte Langeweile und habe inzwischen deinen "Code" auf 240 Pixel verkleinert. ![]() |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
So Leute, ihr glaubt es kaum, aber ich habe es geschafft SimpleScriptMax auf die Codegrenze runter zu drücken!
Das heißt hiermit stelle ich vor: Simple Script Max SimpleScriptMax ist eine einfache Scriptsprache die leicht zu modifizieren ist (Die nicht gekürzte Fassung) und viele Features bietet! Weitere Infos liegen in der PDF dabei. Inklusive einem einfachem Tutorial welche die Einzelheiten von SimpleScriptMax verdeutlicht. Features: • Variablen (Int, Float, Byte, String, Long, Short, Double) • Schleifen (Repeat – Until, repeat – Forever, while – wend, For – Next) , kombinierbar • If Abfragen (If, Else, Elseif) • Local/Global (Erweitertes Scoping, jede If Abfrage/Schleife eröffnet einen neuen Scope) • Große Funktionsvielfalt • Multidimensionale Arrays • Assoziative Arrays (Mischen von Wörter und Zahlen im ArrayIndes) • ForEach Support für Arrays • uvm. Download für MacOS X, Windows und Linux: http://coolo.kilu.de/files/Coo..._Final.zip Was gibts sonst noch zu sagen? Ahja dies ist sicherlich die letzte Version. Auf Anfrage gibts auch die ungekürzte Fassung welche man leicht in bestehende Projekte einbinden kann. Und außerdem ich werde den ganzen August lang (bis am 24/25 August) auf Urlaub sein, wenn ich bis dato nicht aktiv bin und ich vllt. gewonnen habe (Man weiß ja nie), verzichte ich auf mein Recht den nächsten BCC veranzustalten und der mit den 2. meisten Stimmen wird den BCC veranstalten dürfen. |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
hmm.. @coolo: ich hab noch ne frage: lohnt sichs für mich, dass ich meine scriptsprache fertig schreib? ich glaub, ich überlass dir lieber kampflos das feld... | ||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
@coolo: Wie schnell ist dein Pong/Spaceshooter bei dir? Bei mir ist es nämlich extrem langsam(1,666 GHz, 1024 MB RAM - Netbook).
Edit: Mir wird schon schwindlig wenn ich deine Featurelist mit meiner vergleiche. Zitat: • Variablen (Int, Single[=Float], String)
• bedingte und unbedingte Gotos(jmp,...)^^ • If Abfragen (cmp) • nur globale Variablen • möglichst wenig Befehle • maximal eindimensionale Arrays |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
- Zuletzt bearbeitet von Thunder am Do, Jul 23, 2009 17:50, insgesamt 2-mal bearbeitet
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Keine Chance mehr... ![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: ich glaub, ich überlass dir lieber kampflos das feld...
Zitat: Keine Chance mehr...
Ja das dachte ich auch, aber dann las ich das: Zitat: wenn ich bis dato nicht aktiv bin und ich vllt. gewonnen habe (Man weiß ja nie), verzichte ich auf mein Recht den nächsten BCC veranzustalten und der mit den 2. meisten Stimmen wird den BCC veranstalten dürfen.
Trotzdem kotzt mich mein Konzept selbst an, auch wenn es immerhin 2 Leuten hier gefiel... Aber es is so mühsam dass ich keine Lust mehr auf mein eigenes Skript habe... 2 unfertige und ungültige Beiträge hab ich jedenfalls gemacht... mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast Recht, es ist eine Hoffnung. Und ich fand deine erste Idee nicht schlecht, wenn du noch die Ratschläge von CGamer befolgst, wäre es noch besser. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7, 8, 9 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group