Functional Robot


2008-08-30 09:24 #1
Huhu, hier ist ja wirklich noch was los! Super!
Nachdem mein alter Robot-Clone, mein allererstes Programmierprojekt, nun schon ein paar Jahre auf Eis liegt (manmanman, wie die Zeit vergeht), hab ich in der
Zwischenzeit eine Menge gelernt. Mit Abstechern nach C, C++ und ein paar anderen Sprachen.
Inzwischen wäre mit all dem Zeugs was ich gelernt habe sicherlich programmiertechnisch (!, mehr wohl kaum) ein schöner Robot-Clone drin (vor allem Parserbau
war eine nützliche Lektion), aber darin liegt kein kein großer Reiz, wo heutzutage die verfügbaren Resourcen für so ein Spiel gegen unendlich tendieren.
Jedenfalls habe ich deswegen mal was neues angefangen, quasi schon wieder ein Lernprojekt.

Dieser 100-Zeiler ist in Haskell geschrieben, und mein erstes Haskell-Programm überhaupt. Ob nun daraus was wird lässt sich natürlich stark anzweifeln, aber
ich wollte hier trotzdem mal wieder was posten. 😉
2008-08-30 11:01 #2
Bis ich dein Posting las besass ich den festen Glauben daran, das es sich bei Haskell um etwas handelt mit dem man Informatikstudenten quält 😉 So hörte es
sich jedenfalls bei zwei Bekannten von mir an, wenn sie mir ihr Haskell-leid klagten *lach* Für mich bleiben Haskell und andere funktionale Sprachen ein Buch
mit sieben Siegeln, und daran werde ich auch nichts ändern 😉
Sieht doch aber schon mal nicht schlecht aus! Weiter so 😃
2008-08-30 14:58 #3
Hallo Fausti,
ob Haskell wirklich so toll ist sei dahingestellt. Im Moment würde ich mich noch aus der Quälerei rausreden, indem ich behaupte, die Vorzüge der Sprache noch
nicht völlig erkannt zu haben. Aber eigentlich macht es Spaß, denn man lernt Programmieren quasi noch einmal (nicht so wie wenn man von einer imperativen
Sprache auf eine andere wechselt).
Inzwischen kann man übrigens auch Rubine aufsammeln und kriegt 5 Punkte dafür 😃 (ging vorher noch nicht). Hier mal eine kleine Liste was ich basteln möchte:
- Parser für Scriptsprache in Haskell (keine Lust die Spiellogik wie Roboter, Scleuder etc. funktional zu programmieren, und vielleicht baut dann ja jemand das
ein oder andere Script). Außerdem hoffe ich hier die Vorteile von Haskell kennenzulernen.
- Simpler Editor in BlitzMax / Basic: Keine große Sache, aber besser als keiner.
- Finetuning: z.B. schöne Bewegungsanimationen
PS: Übrigens liest man noch ein "PacMan" im Fenstertitel, weils auch mal eins werden sollte. Dann konnte ich aber doch nicht widerstehen 😀
---
EDIT: Habe mal schnell den Editor zusammengekloppt. Kann sogar schon Maps laden und speichern.
2008-08-30 18:47 #4
ob Haskell wirklich so toll ist sei dahingestellt.
Ich meinte ja auch eher deinen Screenshot und nicht den Quellcode 😉 Denn Haskellquellcode sieht für mich gelinde gesagt irgendwie total
ausserirdisch aus *lach* Und Programmieren noch einmal neu erlernen? Schwebt mir eher nicht vor.
2008-09-02 17:59 #5
herc
krasse sache! ein fast komplettes spiel in haskell...
erinnert mich an mein studium. da hatte ich nibbles (erinnert ihr euch ? dieses qbasic spiel wo man einen wurm durch ein labyrinth steuert) in haskell
programmiert (allerdings nur ascii darstellung), und meine studien-kollegen hielten das für unmöglich. aber klar geht sowas. und funktional programmieren macht
irgendwie auch spass.
kann man auch soundausgabe inzwischen in haskell realisieren? hab mir haskell seit 8 jahren nicht mehr angesehen.
ach - wenn jemandem langweilig ist - schaut euch mal den aktuellen zustand meines tetris spieles an:
http://www.cubestorm.com
ist aber noch im alpha stadium. und am besten mit firefox oder opera anschaun - iexplorer meldet nen seltsamen javascript fehler. nur dumm, dass man
javascript so schlecht debuggen kann. oder kennt ihr ein gutes tool?
2008-09-02 18:52 #6
Zum Javaskript debuggen hätte ich eventuell eine Idee... hatte mir letztens die Visual Studio C++ Express 2008 Version (kostenlos, musst mal nach googeln)
installiert und jetzt kommt bei irgendwelchen Javaskriptfehlern wenn ich möchte der Debugger aus dem Ding. Sah ganz brauchbar aus.
2008-09-05 13:53 #7
herc: Ich habe mich wegen Sound noch nicht informiert, zumindest OpenGL gibts ja (werde probieren dadrauf bald umzustellen), und OpenAL kommt dann sicher auch
bald.
Dein Tetris-Spiel sieht übrigens super aus... von der Umsetzung absolut überzeugend. Hab jetzt leider kaum Zeit gehabt es mir genauer anzuschauen, werde ich
aber auf jeden Fall noch tun!
---
Zum Haskell-Dingso: Muss mal schauen, wie ich das jetzt weitermache. Geplant ist wie gesagt eine impreative Scriptsprache ähnlich Pascal oder C. Eigentlich ist
Haskell ideal für solche Sachen wie Parser und Lexer, hab aber leider noch keine Ahnung wie so ein funktionaler Ansatz dafür aussieht, und leider habe ich
momentan auch kaum Zeit. Wird sich zeigen, wann und ob ich das hinbekomme...