BCC #28 - Scriptsprache
Übersicht

Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7, 8, 9 Weiter
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich denk mal schon, da die Bilder so ähnlich wie Scripte sind. Das muss aber jemand anderes entscheiden. | ||
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 |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Zitat: //geht nicht... wie in "vernünftigen" Sprachen geht der Array von 1 bis (max-1)
Wohl eher von 0 bis Länge-1 ...zumindest in einer "vernünftigen" Sprache ^^ |
||
![]() |
peacemaker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mmh, schade kann ich HDSS nich einsenden.
Vielleicht mache ich auch mit, aber wohl eher nicht, hab irgendwie genug von Skriptsprachen ![]() mfG |
||
~Tehadon~
www.tehadon.de http://www.blitzforum.de/worklogs/14/ |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
@BlitzMoritz:
Esoterische Programmiersprachen sind doch erlaubt und egal ob sie nun gut ankommen oder im Vergleich zu anderen hier angekündigten Skripten nun "mächtig" oder "funktional" sind oder nicht: Ich arbeite grad an einer ![]() |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
miLORDBetreff: Bewertung |
![]() Antworten mit Zitat ![]() |
---|---|---|
Moin,
ich glaube die Bewertung dieses Contests wird nicht einfach ![]() Piet z.B. ist schon irre, ich frage mich wie das alles in Relation gesetzt werden kann... miLORD |
||
brqwq?! oO |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Erste Veröffentlichung meines Beitrages, der von der Idee her ein klitzekleines Bisschen an Ratchets Sprache angelehnt ist (Siehe Smalltalk), jedoch vollkommen auf meinem eigenen Mist gewachsen ist und einen ganz anderen Verwendungszweck hat:
CarScript Man erstellt Autos und lackiert sie, wählt einen passenden Motor aus und kann sogar die Straße definieren auf der sie fahren - um letztendlich Text auf dem Bildschirm anzuzeigen ![]() Parser inkl. "Runtime" (lol) ist 6.54kb groß, also sehr minimalistisch, geschrieben in B3D, sollte unter B+ lauffähig sein. Es handelt sich hierbei um eine esoterische Programmiersprache die just for fun entstand. Sie beherrscht keine Variablen, schon gar keine Arrays oder komplexe Datenstrukturen. Sie unterstützt keine Funktionen, keine mathematischen Berechnungen, ja nichtmal goto kennt sie ![]() Also gilt hier wie für esoterische Sprachen oftmals gilt: Vergesst alles, was ihr jemanls über Programmieren gelernt habt und fangt an Autos zu designen ![]() Download (inklusive einem Beispiel und der Doku, geschrieben in Word 2003. Exe ist nicht dabei, weil eine Exe herzlich witzlos wäre... Sie könnte lediglich "test.script" darstellen...) Änderungen vorbehalten! Auch überlege ich schon die ganze Zeit ob ich nicht was komplett anderes machen will... Aber fürs erste bin ich mal im Rennen ![]() mfG, Christoph EDIT: Ok, Mr.Keks hat nicht ganz unrecht. Die Sprache ist nicht Turing-Vollständig. Hab zwar bis heute noch nicht verstanden was das genau heißt (Ohja, ich hab auf Wikipedia schon nachgeschaut) aber dass man mit meinem "Skript" nicht wirklich Programmabläufe erstellen kann ist klar. Ich könnte auch damit leben "esoterisches HTML" entwickelt zu haben... Fragt sich ob das bei diesem Bewerb zugelassen ist? |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
- Zuletzt bearbeitet von Eingeproggt am Sa, Jul 11, 2009 16:08, insgesamt einmal bearbeitet
![]() |
TennisballBetreff: Re: Bewertung |
![]() Antworten mit Zitat ![]() |
---|---|---|
miLORD hat Folgendes geschrieben: Piet z.B. ist schon irre, ich frage mich wie das alles in Relation gesetzt werden kann...
z.b. so (nicht in Piet): gelber Punkt -> "print" grüner Punkt -> "input" So ähnlich ist mein Konzept. Klar, Piet ist schon krank, vor allem zum Lernen. @Eingeproggt: Cool ![]() |
||
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
.. Das ist esoterisches HTML, aber keine esoterische Skriptsprache.
Weit davon entfernt turingvollständig zu sein. Es gibt keine Programmiersprache ohne mindestens eine nicht-strikte Funktion. (Simpelsterweise If-Goto) Sorry, für das Informatik-Bla, aber eine Sprache sollte schon irgendwie das bedingte und mehrfache ausführen von Code ermöglichen und nach Möglichkeit auch sowas wie Variablen haben. Das kann auch gerne total versteckt sein, aber ohne den Hauch einer Möglichkeit dazu ist es eben keine Programmiersprache / Skriptsprache. |
||
MrKeks.net |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
So hallo ich meld mich auch mal wieder,
ich hab mich jetz entschieden, werd wahrscheinlich auch etwas mit bildern machen. Hab schon einige ideen, werd das jetz mal umsetzten. mfg ComNik |
||
WIP: Vorx.Engine |
![]() |
miLORDBetreff: Bewertung, die zweite |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ Tennisball:
Ursprünglich meinte ich die Relation dieser Scriptsprache zu den anderen bisher vorgestellten... "Piet", "Assembler", "Blitz" - Die Bewertung dieser so total unterschiedlichen Sprachen im einzelnen und dann im Verhältnis untereinander wird ne harte Nuss! miLORD |
||
brqwq?! oO |
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
So mein genaues konzeot hiermal (damit mir niemand vorgreifen kann ![]() Also bilder stehen ja bekanntlich aus pixeln. Ein pixel hat 3 werte: - r = rotanteil (rotes subpixel) - g = grünanteil (grünes subpartikel) - b = blauanteil (blaues subpixel) dürfte ja alles bekannt sein... So meine Sprache pixScript nutzt diese 3 Werte.( Anmerkung: Ich habe keinerlei ideen von Piet übernommen, jedenfalls nicht freiwillig. Ich habe den wikipedia artikel zu piet nie gelesen, ich weiss nicht was über die sprache drinsteht. Sämtliche ideen habe ich mir selbst ausgedacht!) ![]() Assembler Int's ![]() ![]() ![]() ![]() Der aufmerksame leser hat nun bemerkt das in pixScript eine "Variable" (ein pixel) gleichzeitig ein "Buchstaben" und eine Zahle enthalten kann. ![]() Ein Beispiel: Vor dem parser erstreckt sich ein wunderschönes 0,122,97 Pixel. Der parser schaut nun: 0=NOP ; kein Interrupt aufrufen. 122=New Int = 122 ; Eine Integer... 97='a' ; Der Buchstabe a. Weiter: Da kein Interrupt ausgeführt werden soll: weidder! Die Zahl 122 kommt innen Zahlenspeicher (Stack ähnlich... erläutere ich gleich) Der Buchstabe 'a' kommt innen Buchstabenspeicher(auch Stack ähnlich... auch gleich erläutern^^) NU: nächstes Pixel 21,100,98 (assembler proggrammierer werden sich bei der 21 schon was denken ![]() Die Interrupts stehen noch nicht fest aber 21 schien mir passend ![]() Das 21 Interrupt gibt jetz den "Buchstabenstack" von der letzten markierung ab, aus. In unserem Fall: 'ab'... Markierungen werden auch per Interrupt gesetzt btw. Das gleiche geht natürlich auch mit den zahlen, je nachdem ob addier, subtrahier, multiplizier oder dividier INT wird der stack entsprechend behandelt. (sehr verständlich ausgedrückt -.-') Mehr in den nächsten tagen. - mitsamt demo vllt? lg ComNik [EDIT] Markierungen werden so gesetzt: r = 10 ;Interrupt für Markierung g = 1 ;Markierungs ID in Integer form b = 20 ;Markierungs ID in Char form jede Markierung erzeugt einen neuen Buchstaben sowie Zahlen Stack. Bei INTs verhält es sich ähnlich: r = Interrupt g = Zahlen Stack (also markierung...) b = Buchstaben Stack (markierung...) wie ihr merkt kann man also stacks unterschiedlicher scopes kombinieren um das ultimative hochsprachen in den hintern tretende programmiererlebnis zu bekommen... [/EDIT] |
||
WIP: Vorx.Engine |
- Zuletzt bearbeitet von ComNik am Sa, Jul 11, 2009 18:33, insgesamt einmal bearbeitet
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mein Vorstellungscode besteht auch aus Bildern.
Nur bei mir sind halt z.B. rote Pixel Befehle, grüne Pixel Zahlen etc... Ich hoffe, dass unsere "Sprachen" sich nicht zu ähnlich sind, ComNik. ![]() (Das Beispiel Piet hatte ich nur gebracht, weil es eben diese Bildercodes hatte.) |
||
![]() |
ComNik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Nur bei mir sind halt z.B. rote Pixel Befehle, grüne Pixel Zahlen etc...
Bei mir doch auch??? Hmm ähneln sich die sprachen halt^^ Ich werde allerdings versuchen einen richtigen Compiler zu schreiben der das Bild in richtigen Assembler Code übersetzt. lg ComNik [EDIT] Hab mir mal den Piet Artikel reingehauen. Die bezeichnung Codel find ich ja ma obergeil!^^[/EDIT] [EDIT 2] So inzwischen erzeugt der lexer ganz annehmbarenn weiterverarbeitungswürdigen "Code". Morgen gehts dann an den Parser rder den ganzen schrott in assembler übersetzt. Hello World is im moment 13 pixel gross. [/EDIT2] |
||
WIP: Vorx.Engine |
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi.
Auch bei mir gibt es Fortschritte. (@ComNik: Bei mir ist das "Hallo Welt!"-Programm 14 Pixel groß ![]() Der bisherige Code und der dazugehörige "Code" eben: Hier bitte Viel Spaß. |
||
- Zuletzt bearbeitet von Tennisball am So, Jul 12, 2009 9:38, insgesamt einmal bearbeitet
![]() |
DAK |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich hab zuerst versucht, eine sinnvolle scriptsprache zu machen, hab dann aber gesehen, was coolo da abliefern will und mir dann gesagt, nein danke, das bringts nicht... keine chance mit einem 'direkten angriff'... also lieber hinternrum.
was ich jetzt gemacht habe ist eine sprache für einen virtuellen prozessor, der virtuelle gerätschaften (im moment gibt es ein display und ein fahrzeug, wird aber noch mehr und qualitativ hochwertiger) ansteuert. das 'besondere' daran ist dass diese ansteuerung über virtuelle ports/pins erfolgt. jeder dieser pins kann mit einem byte belegt werden, dass dann von beiden seiten ausgelesen werden kann. hier mal ein paar codefetzen: Code: [AUSKLAPPEN] out 0,72 wait out 0,101 wait out 0,108 wait out 0,108 wait out 0,111 wait out 0,32 wait out 0,87 wait out 0,111 wait out 0,114 wait out 0,108 wait out 0,100 wait out 0,33 wait so sieht im mom ein hello-world-programm aus. Code: [AUSKLAPPEN] out 2,255 'speed .loop out 3,[0] 'dir in 4,1 out 1,[1] wait out 0,10 wait add 0,10 goto loop jenes hier lässt das fahrzeug mit maximalgeschwindigkeit im kreis fahren. zur sprache: variablen werden nicht benannt per namen sondern per 'adresse'. die adresse kann reichen von 0 bis 255. eine variable an der position 5 zb würde so aufgerufen werden: [5] das lässt sich natürlich verschachteln. so würde 5 ![]() lässt man die klammern weg, so wird das ganze als zahl und nicht als variable interpretiert. einzig: wenn eine variable befüllt werden soll muss sie als zahl und nicht als variable angegeben werden (ja is bissal blöd, ich weiß...) um der variable an position 4 den wert der variable an position 5 zuzuweisen muss man also folgendes schreiben: 4 = [5] if-anfragen gehen ähnlich wie gewohnt, nur dass ein then verpflichtend is und dass die geschichte nur einzeilig sein darf... aber dafür verschachtelt. if [1]=7 then [1]=5 if [1]=5 then if [2]=3 then [1]=7 operatoren dazu sind =,!=,<,<=,=<,>,=>,>= zum rechnen kann man nicht machen 4 = 1+[3], sondern muss das so machen: add stelle,wert sub stelle,wert mul stelle,wert div stelle,wert also zb add 1,[2] wichtig, die stelle ohne [], da sie ja befüllt wird. um etwas auf den ports zu senden macht man nenes: out port, wert also zb out 5, [5] ports einlesen geht so: in port, variable also zb: in 4, 1 wichtig, die variable ohne [], da sie befüllt wird. um die welt außerhalb dieses einen prozessors weiterleben zu lassen (sollte nach jedem out aufgerufen werden, da jeder port immer nur einen wert gleichzeitig besitzen kann) verwendet man wait. was noch wichtig ist ist goto und gosub. funktionieren im grunde haar genau gleich wie in bb. labels werden markiert mit einem punkt davor, also zb .label und aufgerufen ohne punkt goto label gosub wird gleich aufgerufen nur kann ma da mit return wieder zum gosub springen. return und labels werden übergangen, wenn sie nicht gerade von goto/gosub verwendet worden sind. hui... bissal lang geworden.. was solls... |
||
Gewinner der 6. und der 68. BlitzCodeCompo |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mache auch mal mit und zwar mit einer ganz normalen Scriptsprache. Es geht langsam vorwärts aber da ich erst heute morgen angefangen hab gibt es erst 4 Befehle:
Code: [AUSKLAPPEN] Print txt$, x, y Color r,g,b WaitKey End Entsprechend einfach ist das Hallo-Welt-Programm. |
||
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 ![]() |
---|---|---|
Morgen ![]() @Tennisball: Meiner is nur 13 Pixel weil ich das ausrufezeichen vergessen hab ![]() Deine Sprache ähnelt meiner nicht so sehr, soweit ich das sehen kann. Sie hat ein ganz anderes system. Meine ähnelt eher einer Assembler umsetzung. Ich versuche ja auch richtigen Assemblercode zu erzeugen. Also ich denke mal wir machen beide einfach so weiter ![]() |
||
WIP: Vorx.Engine |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ich möchte nun Version 0.6 von SimpleScriptMax vorstellen http://coolo.kilu.de/files/Coo...iptMax.zip (Nur MacOS X Programm, sonst gibts noch den Source dazu). Gleich mit mitgeliefertem Scoping (Local, Global), welches wie in BMax funktioniert. Außerdem wurden tausende Bugs gekillt. Pong ist dabei, und eine PDF die alle Konstrukte erklärt. Als nächstes kommen Funktionen und OOP hinzu. Sowie kleinere sachen (Konstanten, IDE, Arrays,...) Btw. Wie wärs mit einer Erhöhung der maximalen Kb's? Ich bin im Moment knapp an der Grenze, und mir fehlen noch einige Dinge ... Muss nicht viel sein, vllt. 10-15 kb... |
||
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 ![]() |
---|---|---|
Besser keine Erhöhung, wir wollen auch noch eine Chance haben 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 |
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
@ComNik: Dann ist ja alles klar jetzt. ![]() @coolo: Du kannst ja nach dem BCC eine +version bringen. Ich finde 28KB reichen eigentlich für eine einfache Sprache schon aus. Bei mir wurde Hallo-Welt! noch größer, weil ich "Print" durch "Text" ersetzt habe. Der nächste große Schritt wären bei mir Variablen. Dann noch IFs (habe schon ein Konzept, Code wird dadurch aber noch unübersichtlicher.) und ein Pong ist auch geplant ![]() Edit: Wer mir ein Namensvorschlag gibt, bekommt 2 Kekse. ![]() Edit2: https://www.blitzforum.de/upload/file.php?id=6182 bewirkt: https://www.blitzforum.de/upload/file.php?id=6183 Ich werde meine "Sprache" wohl TBPL (Tennisball's Pixel Language) nennen. ![]() Edit3: Variablen z.T. funktionsfähig. SetColor, GoLine, SetInt eingebaut. Jetzt bin ich richtig motiviert. ![]() |
||
- Zuletzt bearbeitet von Tennisball am So, Jul 12, 2009 15:16, insgesamt 2-mal bearbeitet
Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6, 7, 8, 9 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group