Banner left   Banner center   Banner right

Germanenglish Home · News · Diary · Screenshots · Documentation (Wiki) · Downloads · Guestbook · Forum

Home · Benutzer registrieren · Suchen · Statistik · FAQ · Benutzerliste

Zur Zeit online: keiner ausser dir

 X-Force - Fight For Destiny - Forum —› X-Skript / Developer-Pack —› Verbesserungsvorschläge fürs Wiki (Tutorial)

Autor Mitteilung
verfasst am: 27.09.2007, 16:37 · Edited by: BlackBetty
Registrierdatum: 27.06.2007, 12:16

 Beiträge: 658
Ich hab mir den Tutorial mal angeschaut und mit sind einige Stellen aufgefallen, die den blutigen Programmieranfänger sehr verwirren:

Z.B.:

3.1 Das Grundgerüst für unsere UFO-Mission

Wie Ihr seht, ist es ganz einfach ein UFO zu erzeugen. Die Funktion ufo_api_CreateUFO wird genau wie game_api_MessageBox von X-Skript zur Verfügung gestellt. Auf den Unterschied zwischen Prozedur und Funktion werden wir später noch eingehen, da es an dieser Stelle keine Rolle spielt. Wie im Objektbrowser erkennbar, erwartet ufo_api_CreateUFO keine Parameter. Die Klammern (...) können in diesem Fall in X-Skript weggelassen werden.

Da der Unterschied zwischen Prozedur und Funktion hier im Moment ja sowieso unwichtig ist, kann man den fett hervorgehobenen Satz gleich weglassen. Die zwei neue Begriffe verwirren einfach nur. Diese könnte man anhand eines schlüssigen Beispiels (sofern nicht schon vorhanden) später erklären.
Hier könnte man z.B. auch als "Merksatz" einführen, dass bei Konstanten das Zeichen ":" benötigt wird. Zusammenhängende Sätze würde ich nur dann benutzen, wenn es darum gilt einen Zusammenhang zu erklären. Also: soll die Stellung des ":" erläutert werden, so empfinde ich stichwortartige Beschreibung/Verwendung sinnvoller. Das alles neben anderen (wie ":=" oder "=") übersichtlich gesammelt und möglichst bei der Einführung im Bereich "Strukutur eines Programms" untergebracht. (siehe zwei Absätze weiter -> Strukturgrafiken)

Beim unterstrichenen Satz würde ich mich als Neuling fragen, warum die Klammern weggelassen werden können. Da die Erklärung dafür bestimmt zu kompliziert (?) wäre, würde ich das ebenfalls weglassen und das an einer anderen Stelle wieder aufnehmen und anhand eines Beispiels erklären.

Da viele Menschen durch Bilder besser lernen können, könnte man z.B. einen Anweisungsblock "begin" bzw. "end" durch eine (Struktur-?) Grafik veranschaulichen; genauso z.B. auch mit "if", "then" oder "else". Ich denke, dass es wichtig ist, zuerst die Struktur eines Programms zu verstehen (mithilfe visueller Unterstützung) bevor man mehr oder weniger "komplexere" Programme schreiben kann.
Da ich das Glück habe und nächstes Jahr in die Programmiersprache von der Schule aus einsteige, hab ich dazu auch einiges an Infomaterial in Büchern gefunden und könnte evtl. anhand dessen Strukturgrafiken erstellen (bevor ich die Urheberrechte verletze ;) ) Als ich diese Grafiken gesehen habe, ist mir einiges klarer geworden.


Vor allen Dingen quält mich immer wieder die Frage, was ich alles an Variablen, Konstanten etc. brauche und wie ich das ganze anordnen muss, um bestimmte "Schalter" oder Effekte zu erzielen. Z.B:

- wie kann ich bei einem Abschuss eines UFOs ein Dialogfeld erscheinen lassen?
- wie kann ich einen bestimmten UFO Typ aus meinem Spielsatz erstellen und ihn erst bei Forschung einer Technologie aktivieren/deaktivieren?
- wie erstelle ich einen Einsatz mit einer bestimmten Einsatzbeschreibung/Einsatzziel?

Vielleicht kann man den Tutorial so gestalten, dass (ähnliche) Fragen klar beantwortet werden (ja, ich weiß dass die Fragen die ich oben angeführt hab für ein Anfänger zu anspruchsvoll sind!! ;) Aber es wäre eine Möglichkeit, die mir persönlich viel helfen würde)



Vielleicht sollte der Tutorial mehr zusammenhängend geschrieben werden, so im Stile von Schritt-für-Schritt-Anleitungen? (z.B. Blender 3D-Dokumentation in Wikipedia/Wikibooks)
Ich stelle mir das ungefähr so vor:

Man fängt wie gehabt ganz klein an: Erstellen eines Dialogfelds im GeoScape. Alles schön und gut, aber mich würde es interessieren, wie man dieses Erstellen eines Dialogfelds mit dem Erzeugen eines UFOs verknüpfen kann, z.B. (wie bereits gesagt) beim Abschuss/Erscheinen eines UFOs.
Dazu muss man logischerweise beide Befehle kennenlernen. Das wäre der erste Schritt. Der zweite Schritt zeigt dann, was gebraucht wird, um den Befehl "Dialogfeld bei Zerstörung/Erscheinen des UFOS" auszugeben. Als Einleitung dazu könnte man alle Funktionen, Prozeduren etc. die dort enthalten sind, nehmen und eine kurze Erklärung stichwortartig abgeben. ("hmm, für was brauch ich denn die Funktion XYZ?!?!?!")

Das Tutorial ist an sich logisch aufgebaut und nachvollziehbar, nur kann ich das, was ich dort gelernt habe im Moment nicht wirklich auf andere Skripte übertragen, eben weil ich nicht weiß, was da alles hingehört (kann allerdings auch daran liegen, dass ich den Tutorial noch nicht durchhabe). Für mich als Anfänger fällt es auch schwer, den Text zu verstehen, da er mit Begriffen wie Anweisung, Funktion, Variable etc. vollgestopft ist. Ich sehe, dass es eine Seite als Lexikon dient, aber wie ist z.B. eine Variable aufgebaut bzw. was gehört dazu? Was bedeutet die das erste Wort/Zahl, was die zweite? (z.B.: UFO:TUFO) Was kann man dabei generell sagen?
Oder: Was ist ein String? Was kann man mit ihm anstellen? Wozu dient er?

Naja, das mal so als Verbesserungsvorschlag.
verfasst am: 27.09.2007, 21:28 · Edited by: Natter
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Ähhh??? Welches Tutorial hast du gelesen? Ich finde deine Hinweise etwas verwirrend, da ein Teil der Vorschläge doch von Anfang an realisiert sind (das Tutorial ist eine Schritt-für-Schritt-Anleituntg, und fängt mit einem einfachen Nachrichtenfenster im Geoscape an...).

Zitat: BlackBetty
Wie im Objektbrowser erkennbar, erwartet ufo_api_CreateUFO keine Parameter. Die Klammern (...) können in diesem Fall in X-Skript weggelassen werden.

Hier wurde die Erklärung für das Weglassen der Klammern nicht etwa weggelassen (weil zu kompliziert), sondern das Fehlen von Parametern erlaubt das weglassen der Klammern (zwischen den Klammern würde ja eh nix stehen) - der Grund steht also direkt davor.

Den Satz zu Prozeduren und Funktionen kann man leider nicht ohne Weiteres weglassen, da zumindest die Begriffe zwangsweise im Text verwendet werden müsssen. Eigentlich soll der Satz den Leser nur beruhigen, das er sich damit erstmal noch nicht weiter beschäftigen muss.

Zitat: BlackBetty
lso: soll die Stellung des ":" erläutert werden, so empfinde ich stichwortartige Beschreibung/Verwendung sinnvoller. Das alles neben anderen (wie ":=" oder "=") übersichtlich gesammelt und möglichst bei der Einführung im Bereich "Strukutur eines Programms" untergebracht. (siehe zwei Absätze weiter -> Strukturgrafiken)

Das lässt sich aber kaum/ garnicht mit einer Schritt-für-Schritt-Anleitung vereinbaren. Wo sollte man solche Elemente einführen? Macht man das am Anfang, erschlägt man den Leser mit unzähligen Strukturelementen, deren Bedeutung der Laie eh nicht versteht. Will man das später machen, fehlt dieses Wissen aber bei den 1. Skripten. Folglich bleibt nur der Weg, neue Strukturelemente an der Stelle zu erklären, an der sie erstmals verwendet werden.


Zitat: BlackBetty
Vor allen Dingen quält mich immer wieder die Frage, was ich alles an Variablen, Konstanten etc. brauche und wie ich das ganze anordnen muss, um bestimmte "Schalter" oder Effekte zu erzielen. Z.B:

- wie kann ich bei einem Abschuss eines UFOs ein Dialogfeld erscheinen lassen?
- wie kann ich einen bestimmten UFO Typ aus meinem Spielsatz erstellen und ihn erst bei Forschung einer Technologie aktivieren/deaktivieren?
- wie erstelle ich einen Einsatz mit einer bestimmten Einsatzbeschreibung/Einsatzziel?

Vielleicht kann man den Tutorial so gestalten, dass (ähnliche) Fragen klar beantwortet werden (ja, ich weiß dass die Fragen die ich oben angeführt hab für ein Anfänger zu anspruchsvoll sind!! ;) Aber es wäre eine Möglichkeit, die mir persönlich viel helfen würde)

Die Frage, welche Variablen man braucht, kann nicht pauschal beantwortet werden - darum muss sich der Programmierer selbst kümmern. Beispiele gibt es im Tutorial aber genug. 2 deiner Vorschläge kommen so direkt im Tutorial vor.

Zitat: BlackBetty
nur kann ich das, was ich dort gelernt habe im Moment nicht wirklich auf andere Skripte übertragen, eben weil ich nicht weiß, was da alles hingehört (kann allerdings auch daran liegen, dass ich den Tutorial noch nicht durchhabe).

Wie weit bist du denn? Ich hab das Gefühl, du bist noch ganz am Anfang (Kapitel 3.1 oder so ähnlich).
verfasst am: 27.09.2007, 21:44
Registrierdatum: 27.06.2007, 12:16

 Beiträge: 658
Mit Tutorial meinte ich natürlich das mit der Nachricht "Hallo Welt!" im Geoscape :>.

Zitat: Natter
Her wurde die Erklärung für das weglassen der Klammern nicht etwa weggelassen (weil zu kompliziert), sondern das Fehlen von Parametern erlaubt das weglassen der Klammern (zwischen den Klammern würde ja eh nix stehen).

Eben deswegen verwirrt es ja: Warum stehn da keine Parameter? Oder: Was SIND Parameter?! ;) (im Sinne der Programmiersprache)


Zitat: Natter
Den Satz zu Prozeduren und Funktionen kann man leider nicht ohne Weiteres weglassen, da zumindest die Begriffe zwangsweise im Text verwendet werden müsssen. Eigentlich soll der Satz den Leser nur beruhigen, das er sich damit erstmal noch nicht weiter beschäftigen muss.

Auf mich wirkte das in dem Moment eher verunsichernd als beruhigend, deswegen habe ich das ja auch erwähnt... Aber wenn man das verständnishalber nicht wegmachen sollte, dann soll es auch so bleiben.


Zitat: Natter
Das lässt sich aber kaum/ garnicht mit einer Schritt-für-Schritt-Anleitung vereinbaren. Wo sollte man solche Elemente einführen? Macht man das am Anfang, erschlägt man den Leser mit unzähligen Strukturelementen, deren Bedeutung der Laie eh nicht versteht. Will man das später machen, fehlt dieses Wissen aber bei den 1. Skripten. Folglich bleibt nur der Weg, neue Strukturelemente an der Stelle zu erklären, an der sie erstmals verwendet werden.

War auch nur eine Idee, hat mich wohl meine Formelsammlung, die mich drauf gebracht hat, aufs Kreuz gelegt...;)

Schlecht wäre es aber nicht, wenn man solche Struktogramme dort anführt, wohin sie auch passen. Dann kann man sich die Arbeitsweise eines Programms besser veranschaulichen. Wie gesagt, mir persönlich hat's geholfen.

Zitat: Natter

Wie weit bist du denn? Ich hab das Gefühl, du bist noch ganz am Anfang (Kapitel 3.1 oder so ähnlich).

Ich hab mich in den letzten Stunden bis Kapitel 6.4 oder 6.3 durchgeschlagen - ich muss sagen, dass ich schon aus verschiedenen Vorlagen/Skripten schon das zusammenbasteln kann was, ich brauche (hab meinen Spielsatz ordentlich mit Skripten ausgerüstet *hehe*;) ). Man muss nur suchen, verdammt... war anscheinend zu faul dazu xD

Meine "Verbesserungsvorschläge" waren deswegen wohl zu voreilig :X

Hab den Tutorial maßlos unterschätzt... ich nehm alles zurück was ich gesagt hab :X
verfasst am: 28.09.2007, 01:38
Programmierer, allgemeines

Registrierdatum: 06.06.2004, 17:19

 Beiträge: 3186
Zitat: BlackBetty

Hab den Tutorial maßlos unterschätzt... ich nehm alles zurück was ich gesagt hab :X

Naja. immerhin hat mal wieder jemand was zum Tutorial gesagt ;)

Zitat: BlackBetty
Eben deswegen verwirrt es ja: Warum stehn da keine Parameter? Oder: Was SIND Parameter?! ;) (im Sinne der Programmiersprache)

Zitat: BlackBetty
Auf mich wirkte das in dem Moment eher verunsichernd als beruhigend, deswegen habe ich das ja auch erwähnt... Aber wenn man das verständnishalber nicht wegmachen sollte, dann soll es auch so bleiben.

Hmm, mal sehen, ob mir da noch was besseres einfällt.
verfasst am: 28.09.2007, 07:25
Admin, Spielsatz GalWar

Registrierdatum: 31.08.2005, 21:51

 Beiträge: 5596
Zitat: BlackBetty
Auf mich wirkte das in dem Moment eher verunsichernd als beruhigend, deswegen habe ich das ja auch erwähnt... Aber wenn man das verständnishalber nicht wegmachen sollte, dann soll es auch so bleiben.

Zitat: Natter
Hmm, mal sehen, ob mir da noch was besseres einfällt.

Das Problem ist das solche Fragen imho zu grundsätzlich sind für ein Tutorial - wenn man dies im Tutorial einbaut, dann wird der Text für diejenigen mit minimalen Vorkenntnissen zu lang.

Das einzige was man machen kann ist die Begriffserklärung zu erweitern, da gibt es ja auch schon Erklärungen für Begriffe wie Funktion etc. Auch für Parameter gibt es da schon einen (noch leeren) Eintrag.

Und eventuell sollte man im ersten Kapitel des Tutorials noch erwähnen, das die Markierungen für diese Begriffe gleichzeitig Links auf Erklärungen sind, denn ich habe den Verdacht das BlackBetty das nicht gesehen hat - sie sehen ja auch anders aus als normale Links...
verfasst am: 28.09.2007, 14:40
Registrierdatum: 27.06.2007, 12:16

 Beiträge: 658
Zitat: DirkF
Und eventuell sollte man im ersten Kapitel des Tutorials noch erwähnen, das die Markierungen für diese Begriffe gleichzeitig Links auf Erklärungen sind, denn ich habe den Verdacht das BlackBetty das nicht gesehen hat - sie sehen ja auch anders aus als normale Links...

Jain. Ich hab das erst gesehen, als ich gestern aus Neugierde drauf geklickt habe :X. Dass man das ganz am Anfang erwähnen sollte, dafür wäre ich auch, man denkt ja nicht sonderbar darüber nach was diese Markierungen sollen...
verfasst am: 27.01.2022, 13:28
Registrierdatum: 27.01.2022, 13:07

 Beiträge: 318
You're more helpful than you realize. https://cleaningservicesbismarcknd.com
verfasst am: 13.06.2022, 17:59
Registrierdatum: 29.10.2021, 14:57

 Beiträge: 763
Excellent post keep it up and share more. customclosetsdesignomaha.com



Du musst dich registrieren um auf dieses Thema zu antworten.
Login :: » Name » Passwort

Ladezeit (sec.): 0.005 · Powered by miniBB 1.6 with parts of 1.7 © 2001-2003