BCC #28 - Scriptsprache

Übersicht Sonstiges Projekte

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9  Weiter

Neue Antwort erstellen

Nicdel

BeitragMi, Jul 15, 2009 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Nicht schlecht, aber die Töne sind nicht so schön... Rolling Eyes
Ich glaube nicht, dass du die DLL verwenden darfst. Mach das ganze lieber mit CommandLine.

Zu meine eigenen Fortschritten:
Arrow 3 Datentypen: Int, Float und String
Arrow Ganze 9 Befehle (da kommen noch mehr)
Arrow Einfacher Matheparser, der nicht mit Strings rechnet sondern aus Strings rechnet (ohne Punkt-vor-Strich)
Arrow If...EndIf
Arrow Sonderfähigkeit, die ich noch nicht verrate Wink
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

Xaymar

ehemals "Cgamer"

BeitragMi, Jul 15, 2009 16:36
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, wie ich geschrieben hab nur standard installation ohne userlibs
Warbseite

JimBobBalou

BeitragMi, Jul 15, 2009 19:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Also dann auch nich mit dem Beep-Befehl?

ozzi789

BeitragMi, Jul 15, 2009 19:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Könntest ja den Beepbefehl der user32 nehmen die ist auf jedem Windows System vorhanden
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Xaymar

ehemals "Cgamer"

BeitragMi, Jul 15, 2009 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
standartinstallation bedeutet, keine dll's(muss man das eigentlich oft erklären was standartinstallation bedeutet?^^)
Warbseite

Nova

BeitragMi, Jul 15, 2009 20:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Es heißt Standard, vielleicht kennen die Leute nur die Standardinstallation. Razz
AMD Athlon II 4x3,1GHz, 8GB Ram DDR3, ATI Radeon HD 6870, Win 7 64bit

Nicdel

BeitragMi, Jul 15, 2009 20:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht... Noch was neues: Nun geht auch goto (Und damit einfache Schleifen):
Code: [AUSKLAPPEN]
Goto zeile%
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

Geeecko

BeitragMi, Jul 15, 2009 22:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde es nicht mit Zeilen machen, sondern mit Spungmarken sowas wie...
#hier
Wenn man ganz oben eine Zeile einfügt, muss man alle Gotos ändern.
....
 

Ava

Gast

BeitragMi, Jul 15, 2009 23:39
Antworten mit Zitat
Meister_Dieb hat Folgendes geschrieben:
Wenn man ganz oben eine Zeile einfügt, muss man alle Gotos ändern.

Laughing das erinnert mich schmerzlich an die Anfänge von BASIC! Twisted Evil
 

aletes

Betreff: Terraformer Coredumb

BeitragDo, Jul 16, 2009 10:45
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja, ich habe nun auch angefangen eine Scriptengine zu basteln. Sie hat immerhin schon ganze 9(!!) Befehle.
Das sind sie(Die Variablen in den Klammern stehen für bestimmte Werte,'0f' als Wert heißt soviel wie garnix):

-mode[rm] = Startet den Script('rm' steht für Realmode)
-var[%i]='Variablenname' = Legt eine Integervariable fest(%=Integerzeichen,i=Integer)
-var[#f]='Variablenname' = Legt eine Floatvariable fest(#=Floatzeichen,f=Float)
-var[$s]='Variablenname' = Legt einen String fest($=Stringzeichen,s=String)
-gra[0f]<Höhe,Breite,Fartiefe,Modus> = Erstellt ein Grafikfenster mit den angegebenen Werten.
-buffer[bb] = Setzt den Backbuffer(bb=Backbuffer)
-buffer[fb] = Setzt den Frontbuffer(fb=Frontbuffer)
-flip[0f] = Genau wie 'Flip'
-print[0f]<Text> = Schreibt einen Text
-wait[k] = Wartet auf Tasteneingabe(k=Key)
-wait[m] = Wartet auf Mausdruck(m=mouse)
-cls[0f] = Löscht den Bildschirminhalt
-endmode[rm] = Beendet den Script(rm=Realmode)

Dann gibt es noch '}' um eine Zeile frei zu lassen und ';' für Kommentare

Das hier ist ein Hello World-Programm in meiner Scriptsprache:
Code: [AUSKLAPPEN]
mode[rm]                 ;Realmode(startet den script)
gra[0f]<640,480,32,1>    ;Grafikfenster
buffer[bb]               ;Backbuffer
}
}
print[0f]<Hello World!>  ;Text ausgeben
wait[k]                  ;Warten auf Tasteneingabe
endmode[rm]              ;Realmode beenden(beendet den script)


Jetzt fragt ihr euch wahrscheinlich warum diese komischen Klammern([ ]) da sind. Das kann ich erklären: Meine Scriptsprache baut auf der Spracher der Terraformer aus den X-Büchern auf. Dort werden diese Terraformer auch Xenon gennant. Und da haben alle Befehle diese Klammern wo etwas drin steht. Die Sprache taucht in dem Buch 'X-Farnhams Legende' auf Seite 154 auf, wo diese Sprache als Terrafromercoredump(TCD) bezeichnet wird, deswegen heißt meine Scriptsprache jetzt auch so Very Happy
  • Zuletzt bearbeitet von aletes am Do, Jul 16, 2009 12:14, insgesamt 2-mal bearbeitet

Nicdel

BeitragDo, Jul 16, 2009 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Wenn man ganz oben eine Zeile einfügt, muss man alle Gotos ändern.


Klingt logisch... Dann ändere ich das wohl am besten gleich mal!

Edit:

Goto funktioniert jetzt so:

Code: [AUSKLAPPEN]

#label
...
Goto label


Ich werde wahrscheinlich im Laufe des Nachmittags eine lauffähige Version rausbringen.
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
 

aletes

BeitragDo, Jul 16, 2009 13:22
Antworten mit Zitat
Benutzer-Profile anzeigen
@Nicdel
Verdammt, genauso sieht mein Sprungmarkenzeichen auch aus, jetzt muss ich mir ein anderes suchen Very Happy

So, ich habe einige Befehle hinzugefügt:
-print[ct] = Schreibt die aktuele Zeit auf den Bildschirm(ct=Currenttime)
-print[cd] = Schreibt das aktuele Datum auf den Bildschirm(cd=Currentdate)
-wait[t]<Zeit> = Wartet solange, bis die Variable Zeit abgelaufen ist(Funktioniert wie 'Delay')
-goto[sl0]<Sprungmarke> = Springt zur Sprungmarke

Jetzt gibt es auch Grafikbefehle:
-color[rgb]<rotwert,grünwert,blauwert> = Ändert die Farbe nach den RGB-Werten
-px[0f]<x,y> = Zeichnet einen Pixel an die Position x,y
-line[0f]<x1,y1,x2,y2> = Zeichnet eine Linie von x1,y1 zu x2,y2
-rect[0f]<x1,y1,x2,y2,modi> = Zeichnet ein Rechteck von x1,y1 zu x2,y2 mit dem modus 'modi'(0=leer,1=voll)

Und: Donwload
Hinweis: Beim starten des Interpreters den Namen mit Dateiendung angeben, etwa so: helloworld.txt
Es sind 2 Beispiele dabei: Hello World-Programm, welches genügend kommentiert ist und ein Grafiktest, der überhaupt nicht kommentiert ist, viel spaß damit Very Happy

ys,aletes Very Happy

Nicdel

BeitragDo, Jul 16, 2009 15:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Nachdem ich noch ein bisschen getestet und eine Dokumentation geschrieben hab, gibts nun den

Download (ca. 550 KB)

3 Scripte und ein ReadMe sind beigelegt. Viel Spaß Wink
(Und ich bitte um Rückmeldung)
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
 

aletes

BeitragDo, Jul 16, 2009 16:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Och menno, du bist gemein, ich werd jetzt bestimt nicht mehr gewinnen Crying or Very sad
Nein, mal ehrlich, deine Scriptsprache ist dir wirklich gut gelungen Very Happy

Bei mir:
Rechnen ist nun ebenfalls möglich, und zwar so:
Code: [AUSKLAPPEN]
print[add]<9,1,8,8>

Das rechnet die Zahlen 9,1,8,8 zusammen, 'add' steht dabei für 'Addition'(Plusrechnen).
Dann gibts noch das:
-print[sub]<Zahl1,Zahl2...> = Subtraktion
-print[mul]<Zahl1,Zahl2...> = Multiplikation
-print[div]<Zahl1,Zahl2...> = Division

ys, aletes Very Happy

BlitzMoritz

BeitragDo, Jul 16, 2009 20:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich bin mir nicht ganz sicher, ob das Script-Projekt, das ich nun entwickelt habe, überhaupt hier 'reinpasst. Naja, vielleicht gefällt's ja einem. Ich werde das Projekt, das noch im Anfangsstadium steckt, auf jeden Fall mit Hingabe fortsetzen, sobald ich wieder etwas Zeit habe.
Dem zip-Ordner wurden Programm-Versionen für Windows und MacOS, Testskripte und eine ausführliche Dokumentation hinzugefügt. Darum spare ich mir jetzt erst 'mal weitere Ausführungen und wünsche Spaß beim Ausprobieren:
Download BlitzPoint 1.0

Edit: Hinsichtlich des BCC's werde ich leider keine Zeit mehr haben, etwas am Beitrag zu ändern...

Thunder

BeitragDo, Jul 16, 2009 22:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe es nun geschafft ein One-Man-Pong, in meiner Scriptsprache, zu schreiben:

Code: [AUSKLAPPEN]
.data
   x1 int 260
   x int 395
   y int 295
   xdir int 1
   ydir int 1
.text
main:
   app "One-Man-Pong"
   gfx 800,600
mainloop:
   jmp moveball
   w1:
   jmp movepl
   w2:
   jmp kontroll
   w3:
   jmp draw
   w4:
   int downkey,ESC
   cmp kbd,1
   jne mainloop
   end

moveball:
   mov cx,xdir
   mul cx,2
   add x,cx
   mov cx,ydir
   mul cx,2
   add y,cx
   cmp 5,x
   jg mb1
   mov x,6
   neg xdir
   mb1:
   cmp 790,x
   jl mb2
   mov x,789
   neg xdir
   mb2:
jmp w1

movepl:
   int downkey,LEFT
   cmp kbd,0
   jz mp1
   sub x1,2
   mp1:
   int downkey,RIGHT
   cmp kbd,0
   jz mp2
   add x1,2
   mp2:
jmp w2

kontroll:
   cmp 570,y
   jl kontroll2
   cmp 575,y
   jg kontroll2
   cmp x1,x
   jl kontroll2
   mov cx,x1
   add cx,80
   cmp cx,x
   jg kontroll2
   mov y,569
   neg ydir
jmp kontroll2

kontroll2:
   cmp 590,y
   jl kontroll3
   mov x,395
   mov y,295
   int delay,1000
jmp kontroll3

kontroll3:
   cmp 0,y
   jg w3
   mov y,1
   neg ydir
jmp w3

draw:
   cls
   org x1,575
   rect 80,5
   org x,y
   oval 10,10
   flip
jmp w4



Ziemlich unübersichtlich der Code, aber solange das parsen und ausführen schnell genug ist, kann ich darüber hinweg sehen. Ist jetzt auch im Downloadpaket: https://www.blitzforum.de/upload/file.php?id=6264
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit
 

da_poller

BeitragFr, Jul 17, 2009 10:05
Antworten mit Zitat
Benutzer-Profile anzeigen
so das ich mich auch mal wieder bemerkbar mache hier meine aktuellsten infos:

24 befehle und 3 interrupts wurden getestet und funktionieren einwandfrei..

es ist möglich 256 variablen und 256 sprungmarken(für schleifen und entscheidungen) zu erstellen und auch zu verwenden..

hier mal der aktuellste download:
https://www.blitzforum.de/upload/file.php?id=6266

und eine befehlsübersicht:Code: [AUSKLAPPEN]
Befehle:
00000000  interrupt
00000001  addiere register a und b (int)
00000010  subtrahiere register a und b (int)
00000011  multipliziere register a und b (int)
00000100  dividiere register a und b (int)
00000101  kopiere wert nach register
00000110  kopiere variable nach register
00000111  kopiere register nach register
00001000  tausche register
00001001  setze variable auf wert von register
00001010  sprung wenn nicht gleich(register a und b)
00001011  sprung wenn gleich(register a und b)
00001100  sprung wenn register a größer b
00001101  sprung wenn register a kleiner b
00001110  sprungmarke(label)
00001111  variable intereger
00010000  variable float
00010001  variable string
00010010  variable löschen
00010011  addiere register a und b (float)
00010100  addiere register a und b (string)
00010101  subtrahiere register a und b (float)
00010110  -
00010111  multipliziere register a und b (float)
00011000  -
00011001  dividiere register a und b (float)


interrupts:
00000000  programm beenden
00000001  auf tastendruck warten
00000010  print inhalt von register D


wer lust hat scripte zu machen wäre sehr gut(gibt kekse)

viel spaß damit nun

ps: verbesserungsvorschläge, kritik etc sind gerne gesehen..
pss: den quellcode gibts erst kurz vor ende des kontests

edit: verwendung: einfach die txt datein auf die exe ziehen.. in der ersten zeile befindet sich die zeilenanzahl des scriptes(wird bis ende ncoh geändert).
 

da_poller

BeitragFr, Jul 17, 2009 17:04
Antworten mit Zitat
Benutzer-Profile anzeigen
im eingangspost stand was von abgabetermin 31.7. ist der noch aktuell oder wurde auf den 7.8. erweitert wie als möglich angesprochen?

würde dies gerne wissen, da ich in den urlaub fahre und nicht weiß ob ich zum 31. schon wieder im lande bin.

Xaymar

ehemals "Cgamer"

BeitragFr, Jul 17, 2009 18:15
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich erweitere es gerne. allerding smüssen dafür mindestens 2 leute das wollen
Warbseite

ComNik

BeitragFr, Jul 17, 2009 18:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hier haste den 2ten!
Mir isses egal aber das entspannt ein bisschen, und ich kann evtl noch bisschen mehr einbauen.
WIP: Vorx.Engine

Gehe zu Seite Zurück  1, 2, 3, 4, 5, 6, 7, 8, 9  Weiter

Neue Antwort erstellen


Übersicht Sonstiges Projekte

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group