Seite 3 von 6

Verfasst: 13.01.2009 23:16
von Xaby
Kruz und bündig:

- die meisten meiner Ideen und Themen zu Projekten drehen sich
schon in den letzten ~ 3 Jahren um eine Entwicklungsumgebung für Anfänger
mit der Option, dass sie auch für "Experten" noch interessant ist.
DarkDragon hat geschrieben: Allein im alter von 5 bis 16 Jahren ist man einigermaßen produktiv was programmieren anbelangt. Danach lernt man zuviel in der Schule darüber, als dass es einem noch Spaß machen würde.
Er hat's erfasst. Genau darum geht's.
Für Leute, die noch die Lust am Entwickeln haben.
Diese Leute haben aber meist noch nicht die Erfahrung.
Also entweder Erfahrung oder Motivation?
Oder aber man hat ein Tool, wo man auch ohne Erfahrung seine Idee umsetzen kann.

@BrainStorming.

Wenn ich wenig schreibe, heißt es immer,
dass ich ausführlich schreiben soll, wie ich es meine,
wie es funktionieren soll, was ich mir vorstelle ...

Wenn ich das dann mache, heißt es, ich schwafle oder
gebe zu viel vor oder sollte mich kürzer fassen.

>>>>>>>>>>>>>>>>>>

Ich habe über die Jahre an dem Konzept entwickelt.
Habe mehrere Tests durchgeführt und auch Kinder analysiert
und auch Erwachsene. Ich weiß also, worum es geht und
kenne die Meisten möglichen Fehler.

>>>>>>>>>>>>>>>>>>>>

Jetzt bin ich an einem Punkt, wo ich einfach programmiertechnisch
mit PureBasic an meine Grenzen gestoßen bin bzw. mich meine
Kraft, die Sache allein durchzuziehen, verlassen hat.

Der Grund, weshalb ich hier poste ist auch der, dass die
Syntax angenommen werden soll und nicht wie bei PureBasic
dann starke Syntaxänderungen statt finden.

Was die PB-Engine für andere Sprachen angeht, erstmal nebensächlich.

Es geht drum, dass PB-"Experten" damit EXE-Dateien erstellen können
und diese könnten dann auch Tools sein für die Übersetzung in andere
Sprachen.

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Ich benötige quasi die Engine, um damit ein Programm zu erzeugen,
was Programme für die Engine erzeugt.

So wie man mit PureBasic auch PureBasic programmieren könnte :D

@ZeHa und @Kaeru
Auf der einen Seite schreibe ich zu viel und auf der
anderen Seite habe ich angeblich das Konzept nicht richtig ausgearbeitet.

>>> Hat überhaupt schon jemand "Klacks.pbi" ausprobiert?

Ihr müsst euch schon mal den Code anschauen, der ist übersichtlich
und auskommentiert.
Und nicht hier schreiben, dass es scheitern wird oder noch nichts fertig ist.
Ihr würdet auch ein fertiges Programm nicht erkennen, wenn es euch beißt. :twisted:

Verfasst: 13.01.2009 23:35
von Kaeru Gaman
ok, dann werden wir mal konkret...

als aller erstes, wenn du jetzt mitarbeit bei Klacks haben willst,
solltest du eine saubere Dokumentation schreiben.

es ist ja schön und gut, wenn dein source so ausführlich kommentiert ist
wie ich das selten gesehen hab - aber damit damit jemand was schreibt,
muss es ausführlicher erklärt sein.

das eine Beispiel was ich gesehen hab ist ... etwas dünn.
ich hab es nur mal laufen lassen, war von der Optik der Symbole nicht so super begeistert, hab den Rahmenfehler gesehen (das springen)...
und das zusammen damit dass du mir das als Antwort auf meine ScreenMouse-Frage gepostet hattest, mit ungefähr den Worten
"willst du nicht oder kannst du nicht" und dass es über tausend zeilen hat wo netmaestros vorschlag nur 20 hatte von denen ich fünf brauche.......
macht vielleicht verständlich warum ich es auf den ersten versuch nicht mit offenen Armen empfangen hab.


also, damit da überhaupt was inne Gänge kommt, musst du das etwas schmackhafter machen.


... es ist sowieso immer etwas schlecht sowas im forum oder auch per PN zu diskutieren ...
wenn wir uns bei dir ins Wohnzimmer setzen würden, und uns Notizblöcke
und ein paar Flaschen Wein oder nen Kasten Bier nehmen würden,
dann könnten wir wahrscheinlich mehrere Tage diskutieren und
hätten danach ein wirklich umsetzbares gut durchdachtes Konzept.

... aber immer noch kein Team ...


PS:
> Ihr würdet auch ein fertiges Programm nicht erkennen, wenn es euch beißt.

nunja...
etwas was "include" heißt und nicht losläuft wenn man F5 drückt, ist kein fertiges Programm,
da brauche ich nicht Doktor Bob um das festzustellen...

(und wenn man dann auch noch Fehlermeldungen bekommt anstatt ein einfaches "finished"...)

Verfasst: 13.01.2009 23:43
von ZeHa
Auf der einen Seite schreibe ich zu viel und auf der
anderen Seite habe ich angeblich das Konzept nicht richtig ausgearbeitet.
Das Problem ist, daß das zu viel geschriebene halt eher sehr wirren Gedanken gleicht. Nimm's mir nicht übel, aber Du hättest das Zeug zum Professor :mrgreen:

Daß das nicht nach einem ausgearbeiteten Konzept aussieht, sollte einleuchten. Könntest Du nicht mal versuchen, auf ca. 5 Seiten (DIN A4) mal simpel, aber klar und deutlich Dein Konzept vorzustellen? Damit man eben auch sieht, daß es sich tatsächlich um ein Konzept handelt. Mit ganzen Sätzen und guten Skizzen, und nicht einfach nur eine Ansammlung von Ein-Satz-Absätzen, die immer wieder mal durch ein orangefarbenes >>>>>>>> unterbrochen werden. Wenn Du das nicht kannst (was man Dir nicht zum Vorwurf machen sollte), dann mußt Du für Dein Team auf jeden Fall auch einen Schreiber finden, also sowas wie einen "Marketing-Experten", sonst wird das Konzept niemals jemanden überzeugen können. Oder aber Du brauchst 'ne wirklich gute Demo (die eben über das Hello-World-Niveau hinausgeht, also z.B. bereits ein fertiges Breakout-Spiel oder sowas).
Ihr müsst euch schon mal den Code anschauen, der ist übersichtlich und auskommentiert.
Die wenigsten Leute wollen sich erstmal eine API-Doku durchlesen, da weiß man gar nicht wo vorne und hinten ist. Die meisten wollen erstmal ein lauffähiges Programm (und zwar eins, das überzeugt, nicht einfach nur ein Fenster wo man mit der Maus einen sich drehenden Buntstift bewegen kann). Wie gesagt, ein einfaches Breakout oder sowas könnte schon Wunder wirken.

Verfasst: 13.01.2009 23:58
von ts-soft
Zur FL_KLacks.pbi
Debugger hat geschrieben:---------------------------
PureBasic
---------------------------
Die folgende Prozedur wurde mittels 'Declare' deklariert, aber nicht definiert: AddObjects_FL2D.
---------------------------
OK
---------------------------
Eine Include mit soviel globalen Variablen, die noch wachsen soll ist einfach
unverwendbar. Es werden zwar ohne System mal Präfix oder Suffix
verwendet, aber das ist keine Lösung.

Da der Code auch noch unmöglich eingerückt ist und mein Standard Tool
zum Einrücken sich weigert diesen Code zu behandeln, sind wohl mehrere
Fehler vorhanden, würde ich daran sowieso nicht weiterarbeiten wollen.

Erklärungen gibts fast nur bei den Declares. Dort sollten nur die Aufgabe
der Procedure erklärt werden, Parameter und Funktionsweise besser in der
eigentlichen Procedure, wo man es braucht.

Weder Spieleprogrammierung, noch Konzept interessieren mich, wollte
mir aber den Code wenigstens mal angeguckt haben :mrgreen:

PS: Entschuldigung das ich nicht so ausschweifend lang schreibe, ich bin
eben keine Kaffeetante, ich konzentriere mich lieber auf das wesentliche,
auch eine art rationell zu arbeiten.

Verfasst: 14.01.2009 02:08
von Xaby
Hier mal als PDF:

http://www.folker-linstedt.de/pureforum/FL_Klacks.pdf

Hab auf Prefixe und Suffixe verzichtet, Namen sind erstmal nur als Gedanke.
Nicht alle Befehle, die Klacks schon kann sind aufgelistet, eine ausführliche
Dokumentation ist in meinen Augen unsinnig, da ja die Syntax Kerndiskussionsthema ist.

Es geht ja auch darum, dass ihr euch mein Include mal anschaut,
um halt Vorschläge zu machen, wie man die gleiche Funktionsweise auf einem
besseren Wege realisieren kann.

Da hilft es übrigens mir wenig, wenn man nur sagt, was ungünstig ist.

Dass globale Variablen und vordefinierte Listen nicht das gelbe vom Ei sind,
weiß ich auch, aber es ist auch eher eine Skizze.
Ihr wollt immer gleich was fertiges, was ihr dann auch noch kaputt machen könnt

Wenn jeder nur fertige Sachen präsentieren darf, ist das Board hier Unsinn.
Dann machen wir nur ein Pure-Area und gut ist es.

>>>>>>>>>>>>>>>>>>>>>>>>

Die Sache mit dem Debugger ist doof, ich weiß, aber den Kompromiss
musste ich eingehen. Man kann ja in PureBasic keine Prozeduren überladen.

Ich wollte aber auch verhindern, dass man eine umständliche Repeat-Until-Schleife
mit immer den gleichen 10 Befehlen und noch ne Prozedur zum
Initialisieren der Umgebung erstellen muss. So hat man eine sehr
übersichtliche Struktur wie ich finde.

:roll:

Muss natürlich nicht das letzte sein. Ist nur ein Angebot von mir,
vielleicht hat ja jemand ne bessere, schönere Lösung.

Verfasst: 14.01.2009 03:05
von Xaby
Einziger Nachteil hierbei ist,
dass man Variablen Global hier definieren muss

Hier vier Wände und ein "Ball" :D

Code: Alles auswählen

Global LR.f=1, OU.f=1

XIncludeFile "FL_Klacks.pbi" ;

StartMyProgram_FL2D()

Procedure AddObjects_FL2D()
  AddOBJ_FL2D("Ball","",0,-100,10,10,RGB(255,0,0))
  AddOBJ_FL2D("Links","",-200,0,5,400,RGB(0,0,250))
  AddOBJ_FL2D("Rechts","",200,0,5,400,RGB(0,0,250))
  AddOBJ_FL2D("Oben","",0,-200,400,5,RGB(0,0,250))
  AddOBJ_FL2D("Unten","",0,200,400,5,RGB(0,0,250))
  
EndProcedure

Procedure Events_FL2D()
    MoveOBJ_FL2D("Ball",LR,OU)
    
  If OverOBJ_FL2D("Ball","Links")
    LR=1  
  EndIf
  
  If OverOBJ_FL2D("Ball","Rechts")
    LR=-1  
  EndIf
  
  If OverOBJ_FL2D("Ball","Oben")
    OU=1  
  EndIf
  
  If OverOBJ_FL2D("Ball","Unten")
    OU=-1  
  EndIf
  
EndProcedure

Klacks unferändert mit allen "Fehlern"
http://www.folker-linstedt.de/pureforum/FL_Klacks.zip

Verfasst: 14.01.2009 05:13
von Xaby
Kleiner Bildbetrachter
Um zwischen den Bildern weiter zu schalten, einfach neben das Bild klicken,
diese Version von Klacks kennt keinen Unterschied zwischen
NUR Klicken und Klicken und Ziehen.
Doppelklick gibt es auch noch nicht.

>>> Ist halt nur ne Skizze

Code: Alles auswählen

; Folker Linstedt
; 2008-07-07, 2008-07-10
; Tutorial FL2D, DGS-Lite, KidsWin

; Ermöglicht die Benutzung der DGS-Befehle
XIncludeFile "FL_Klacks.pbi" ; Unit für JAVA, JAVAScript, C# individuell
DisableExplicit

Global D$=PathRequester("Bilderordner auswählen",GetPathPart(ProgramFilename())); im Ordner liegen in dieser Ebene (also ohne Unterordner)

StartMyProgram_FL2D(0) 

Procedure AddObjects_FL2D()  
   UseJPEGImageDecoder() ; Muss innerhalb von AddObjects_FL2D() stehen, da es sonst nicht berücksichtigt wird    
   AddOBJ_FL2D("Maus")
   MouseCursor_FL2D("Maus",16,16) ; "Maus", also das Stift-Symbol wird verschoben, so dass auch die StiftSpitze der Mauszeiger ist.      
  
  ExamineDirectory(0,D$,"*.JPG")
  ; Bilder sollten nicht größer ~ 600 x 900 sein, da das Laden sonst sehr lange dauert     
  i=0  
  While NextDirectoryEntry(0) And (i < 15) ; Auf 15 Bilder beschränkt !!! ACHTUNG, wenn Bedingungen eine Endlosschleife verursachen !!!
    If DirectoryEntryType(0)=#PB_DirectoryEntry_File
      AddOBJ_FL2D(Str(i),D$+DirectoryEntryName(0)) ; Objekte bekommen eine laufende Nummer
      SetOBJVisible_FL2D(DirectoryEntryName(0),0) ; Da ja die Bilder sich gegenseitig verdecken, reicht es auch aus,
            
      i+1
    EndIf  
  Wend    

EndProcedure

Procedure Events_FL2D()
; Wenn Klick, dann oberstes Bild nach ganz unten, dieses unsichtbar
; machen und das nach dem Mauszeiger folgende sichtbar machen

DragDrop_FL2D(GetNameUnder_FL2D("Maus"))

If MouseClicked_FL2D() And Not (OverOBJ_FL2D(MouseCursor_FL2D(),GetNameUnder_FL2D("Maus")))
  SetOBJVisible_FL2D(GetNameUnder_FL2D("Maus"),0)
  Lowest_FL2D(GetNameUnder_FL2D("Maus"))
  SetOBJVisible_FL2D(GetNameUnder_FL2D("Maus"))
EndIf  
  
EndProcedure

Verfasst: 14.01.2009 05:34
von Xaby
Weitere Beispiele, um zu verstehen, was die Engine leisten können könnte
http://www.walterzorn.de/dragdrop/dragdrop.htm

Eine weitere Dokumentation und weitere Programme mit dieser Version
von Klacks sind unsinnig, da diese jetzt damit geschriebenen Programme
alle so wie so überarbeitet werden müssten, um mit neuer Syntax zu funktionieren.

Auch sind noch einige Sturkturen nicht 100% sicher, und es wird noch
mehr Optionen geben müssen, zum Beispiel das Einschränken der
Bewegungen in verschiedene Richtungen.

Aber diese Dinge braucht man erst hinzuzufügen, wenn das Grundgerüst
steht und das bedeutet, dass die zurzeit vorhandenen Fehler ausgemerzt werden müssten

Und das kann ich nicht allein. Deshalb stelle ich euch diese frühe Version vor,
weil es jetzt noch überschaubarer Code ist, zu diesem Zeitpunkt, kann man
auch die Syntax neu überarbeiten, aber das wird schwer, wenn die Engine
umfangreicher ist und schon Leute mit dieser Engine Projekte angefangen haben

Ihr könnt auch gern mal alle ein Wohenende nach Berlin kommen,
meine neue Wohnung ist groß genug für die ganze PureBasic-Gemeinde :D

Lasst uns gemeinsam einen Standard verabschieden
:)

Verfasst: 14.01.2009 10:07
von tmjuk
OffTopic

@Xaby
Was willst du mit grünen Steinen?


Torsten

Verfasst: 14.01.2009 13:27
von Xaby
Was willst du mit grünen Steinen?
Das sind WunschSteine. Die helfen mir bei meinen Projekten und lösen die Probleme,
die man so im Leben und im Board haben könnte.

Ich finde, jeder braucht solche Steine. Können auch blaue Steine sein oder
Steine aus echtem Stein. Steine zum in die Hosentasche tun oder zum Sammeln.

Wir brauchen mehr Mineralien, wir haben nicht genügend Stein :mrgreen: