Kritik an Midimaster-Tutorials
Übersicht

Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6 Weiter
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Midimaster hat Folgendes geschrieben: Hier ist es (anders als in BlitzMax) nicht möglich eine neue Variable t als Kopie der original p in der Funktion zu manipulieren, ohne dass sich auch t ändert.
Auch in BMax wird das Originalobjekt verändert, wenn man nicht explizit eine Kopie anfertigt. Anders als in C/++ wird bei einer Zuweisung der Type referenziert und nicht kopiert. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
count-doku |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
midimaster, deine Tutorials sind echt gut ![]() Wäre es aber nicht sinnvoller im Programmablauftutorial das laden von Bildern,Sounds usw. was du immer am Anfang machst, in eine Funktion zu packen und diese am Anfang aufzurufen? mfg, count-doku |
||
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nur ein paar Bemerkungen zum Code von mir:
https://www.blitzforum.de/foru...610#355610 Im vorletzten Code steht: Code: [AUSKLAPPEN] Spieler\X=Spieler\+1
https://www.blitzforum.de/foru...849#355849 Zitat: For G.GegnerTyp = Each GegnerTyp
Delete g Next Könnte man auch (afaik) so schreiben: Code: [AUSKLAPPEN] Delete Each GegnerTyp
Ist aber kein Fehler, kann man ja machen wie man will. mfg, Tennisball |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke, Tennisball,
ich bring es gleich in Ordnung @count-doku bin mir noch nicht sicher, ob ich es schon an so früher Stelle bringen will. aber der Gedanke ist natürlich richtig! |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: verschiedene Level trennen
Ist damit so etwas wie "eigenes Levelformat entwerfen und verwenden" gemeint? Wenn nein würde ich das noch reinmachen ![]() |
||
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 |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
So speziell möcht ich es in der Überschrift nicht benennen. Ich will den Anfängern nur die Angst nehmen, mit Dateien zu arbeiten. ES geht nur um die sinnvolle Kombination der FILE-Befehle READFILE(), READLINE() CLOSEFILE().
Und (und da kennst Du mich ja nun schon) das Weglassen der Befehle, die der Anfänger für eine elementare Lösung zunächst nicht braucht: FILESEEK(), READINT(),etc... Eben alles, was der Optimierung dient, lasse ich weg. Außerdem geht es um die Problematik, wie man einem Paramter zweifelsfrei die richtige Zeile in der INI-Datei zuordnet. Wie man mehrere Werte für den gleichen Parameter ermöglicht (Levels).Dabei soll der (ich nenn ihn jetzt mal) "Student", selbst auf das Problem gestossen werden. Im Tutorial werde ich daher auf Spiel-Levels und ihre Parameter eingehen.Aber eben auch auf nicht existierende Dateien und Probleme mit de Eindeutigkeit bei Parameternamen ( z.B. "Spiel" und "Spieler") |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ah, gut zu wissen ![]() Deine FileExists-Funktion ist etwas sinnlos. Dafür gibt es schon FileType ![]() |
||
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 |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
@nicdel:
dein vorschlag gefällt mir besser, ich werde es übernehmen. es bleibt aber bei der "sinnlosen" FileExists(), weil ich damit später noch etwas vorhabe... |
||
![]() |
hamZtaAdministrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zum Files-Tutorial: Du schreibst dort immer INI-Datei. Der Aufbau einer solchen Datei ist allerdings wie folgt:
Code: [AUSKLAPPEN] [Sektion]
Feld=Wert Feld2=Wert [Sektion2] Feld3=Wert ... Siehe hier. Du liest eine ganz normale Textdatei ein. Um Verwirrungen zuvorzukommen solltest du das ausbessern. |
||
Blog. |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Antwort auf Fredko:
Zitat: ...wäre vielleicht auch noch eine kleine Skriptsprache für Neulinge
wohl interressant, z.B. wenn in einer Zeile "X 1004" steht, dass irgendein X Wert befüllt wird. Somit könne man vorallem bei einer Informationsliste Einträge von außen erstellen, wo dann noch a) keine Ordnung der Datei und b) vordefinierte Werte genutzt werden können, sodass man nicht immer alles angeben muss.... Die "Script-Sprache", wie Du sie nennst kommt tatsächlich! Aber eben erst im nächsten Kapitel. Ich will den Leser nicht mit einer fertigen, optimalen Lösung konfronieren, er selbst soll in mehreren Stufen darauf kommen, das Modell I zwar funktioniert, aber Schwächen hat, weshalb er dann Lektion III lesen will. Ich nenne das das "System der halben Wahrheiten". Dabei wird immer eine machbare Lösung vorgeführt und daraus der nächste Ansatz entwickelt. Jeder entscheidet selbst, wie weit er das Tutorial durchhalten will, und wann der Aufwand für sein Projekt genügt. @hamZta Genau da will ich den User hinkriegen, aber eben durch Erkenntnis der Notwendigkeit. Deshalb in 3 Stufen (3 Lektionen) reine Auflistung (gut bis 10 Werte) Zitat: Hubert
23 100.90 Bezeichner und Parameter (gut bis 100 Werte) Zitat: Name=Hubert
Alter=23 Geld=100.90 vollständige INI-Diktion Zitat: [Spieler]
Name=Hubert Alter=23 [Level 1] Geld=100.90 ... |
||
Fredko |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sicher, dass
BlitzBasic: [AUSKLAPPEN]
nicht ein klein wenig schlechter ist als BlitzBasic: [AUSKLAPPEN]
bzw. was ähnliches mit right ![]() ![]() auch so unerlässlich, da diese die Länge des Strings angibt. Sonst schaut Kapitel 3 Ende ganz gut aus ![]() |
||
! |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Fredko
danke für den Hinweis. Solche eine Schlamperei kommt noch aus meiner VB6 Zeit. Aber in ein BB-Tutorial gehört es so natürlich wirklich nicht hinein. In BB geht es nämlich schöner, ich hab mich schlau gemacht. Leider übernehme ich jetzt aber nicht deinen Code sondern das, was in der Hilfe zu Mid$ steht: -1 Zitat: ...Anzahl der zu kopierenden Zeichen (ab 1)
Hinweis: bei -1 wird alles bis zum Ende kopiert... |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man braucht nichtmal -1 anzugeben, das ist nämlich Standard in Blitz dass man alle Zeichen bis zum Ende zurück bekommt von Mid. | ||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schönes Tutorial, wie man es von dir gewöhnt ist ![]() |
||
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 |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Im Type Tutorial, letztes Beispiel: Was macht das "40ee593738" da drinnen? | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Xeres
Danke für den Hinweis, ich seh es auch, kann es aber im Editor nicht wiederfinden: Zitat: ...
PRINT Strasse(MyPos)\Miete[0] + " EUR als unbebautes Grundstück." For i=1 to 4 PRINT Strasse(MyPos)\Miete[i] + " EUR mit " + i + " Haus." Next PRINT Strasse(MyPos)\Miete[5] + " EUR mit einem Hotel" .... ich lösch mal die ganze Zeile und schreib sie einfach neu. Aber vielleicht sollte man die Beobachtung als Fehlermeldung ins Forum-Thread stellen. So, gelungen nu isses weg. |
||
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu deinem Tutorial in Bezug auf Programmaufbau würde ich noch eine Option hinzufügen, die ich meistens wähle:
MeinProjekt.bb: BlitzBasic: [AUSKLAPPEN]
HauptDatei.bb BlitzBasic: [AUSKLAPPEN]
Für Mich hat sich dieser Programmaufbau sehr bewärt, da ich auch in anderen Schleifen dann nur noch CompleteUpdate() aufrufen muss, und ich habe immer alle Updates der Systeme beisammen. Auch könnte man innheralb von CompleteUpdate nochmal unterschiedlich gruppieren, je nach Bedarf. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
- Zuletzt bearbeitet von Jo0oker am Do, Feb 04, 2010 14:53, insgesamt 2-mal bearbeitet
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
@JoOoker
da ist grundsätzlich nichts dagegen zu sagen. Es sprengt zwar den Umfang des Wissenstand eines Total-Anfängers, aber warum nicht nach den ersten Kapiteln jetzt mal einen Code-Rahmen für fortgeschrittenere Programme... Also meinetwegen könnten wir das unten dranhängen. ABER: Bis jetzt sieht es eher aus wie etwas fürs Code-Archiv. Da es ja ein Tutorial sein soll, ,müsstest Du schon erläutern wozu die einzelnen Block sind und warum das jeweils so gut sein soll. Außerdem wär ein Absatz über das Includen sehr sinnvoll. Das wäre noch ein ganzes Stück Arbeit für Dich.... In dem Code finde ich die massenweise Doppelpunkte eher unübersichtlich. Wie sieht es mit Unterstrichen über nur die Hälfte der Breite aus? BlitzBasic: [AUSKLAPPEN] ; Und die Tutorial-Erklärungen würde ich nicht als Kommentare in den Code einfügen. Das wäre jetzt deine Aufgabe das didaktisch sinnvoll rüberzubringen. Was denkst du? |
||
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das war nur ein Vorschlag, ich dachte du würdet das nochmal überarbeiten ![]() lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ach so...
nee, mach du doch!!! Mein Thema ist ja eher immer der total verlorene Anfänger ohne irgendwelche Kenntnisse von gutem Programmierstil. Leute, die OOP und Kapselung irgendwie verpasst haben... So einer will zunächst den Code wenigstens auf einer Code-Seite stehen haben. Ich finde es z.B. erschreckend wieviele der Anfänger nicht wissen, dass Functionen auch nach der END-Anweisung und damit nach der Repeat/Until-Mainschleife stehen dürfen (bzw....stehen sollen). Ich weiss gar nicht wie die drauf kommen eine Function plötzlich und unvermutet mitten in ein Spaghetti-Desaster zu erstellen. Irgendwo müssen die das ja aufgeschnappt haben... Bin da grad an zwei Baustellen dran. Ich seh zwar die Probleme, die die Leute da haben, kann ihnen auch gut helfen, aber weiß aber nicht recht, wie ein Tutorial aussehen könnte, damit es denen (im Selbststudium) geholfen hätte. Bis dahin helf ich in "Einzelberatung". |
||
Gehe zu Seite Zurück 1, 2, 3, 4, 5, 6 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group