Kritik an Midimaster-Tutorials

Übersicht BlitzBasic Allgemein

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

Neue Antwort erstellen

Jamagin

BeitragDo, Dez 24, 2009 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
@BladeRunner

Ein wahres Wort, tja hm...das Rad wird ja doch immer wieder neu erfunden!
Und ich muß sagen, die OnlineHilfe ist nicht schlecht, man sollte diese auf jeden fall nützen!

Noch ein Wort in eigener Sache. Auf der BlitzBasic CD gibt es massenhaft Beispiele und Programmcodes, warum sind die Neulinge nicht fähig, so ein Programm zu zerlegen und daraus zu lernen. Wir oder einige von uns haben es ja auch nicht anders gelernt.

Zu meiner Zeit, wo der C64, MSX, Atari, Amiga und so weiter existierten, habe ich seitenweise Listings abgetippt und analysiert. Ellenlange Data Zeilen, wo, wenn man nur eine HexZahl falsch abgetippt hat gleich mit Syntax Error bestraft wurde. Es gab auch keine Compiler so wie heute, der uns gnädig sogar die Fehlerbeschreibung anzeigt!!

Man kann die Leute eh nicht ändern und wie BladeRunner schon sagt, diese Fragen wird es in ein paar Monaten wieder geben.

Hm, da stellt sich ja gleich die Frage, warum machen wir (wer halt Lust hat) so in der Art eine BlitzBasic Revue, wie damals die Zeitschrift 64er oder MSX-Revue oder MSX-Spezial und was weiß ich was es noch gibt. Aber wer bezahlt dann sowas, denn sowas auf die Beine stellen ist schlichtweg ein Horror, weil da sehr viel zeit drauf geht. Ich wollte das in der Art einmal machen, jedoch fehlt mir irgendwie die Motivation dazu!

Und auch wenn man jemanden alles erklärt, bleibt dennoch die Frage ob er/sie das wirklich verstanden hat. Programmieren lernt man nun mal nicht durch abtippen sondern man wird auch nur besser wenn man alles ausprobiert und wenn es noch so falsch oder sinnlos ist!

Auch ein Profi hat als Newbie begonnen...

lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

TimBo

BeitragDo, Dez 24, 2009 12:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Vor 2,5 Jahren, als ich von Silver_Knee zu B3D gelenkt wurde, klatschte er mir das Robs BB Tutorial vor.
Und damals wusste ich ned mal mehr was eine Variable ist, weder aus dem Matheunterricht nocht aus der Informatik.

Dann habe ich mit dem Halbwissen einfach losprogrammiert.

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Jamagin

BeitragDo, Dez 24, 2009 12:30
Antworten mit Zitat
Benutzer-Profile anzeigen
@TimBo

Das wundert mich aber das das geht! Scheint aber nicht Coderichtig zu sein, weil RGB Werte von 0 - 255 sind.

Einleuchtender wäre dann schon

Color $FF, $00, $FF --> für lila

Weil $FF00FF mag schon lila sein, aber ist nicht korrekt, so wie du das anschreibst da!! Weil $FF ist ja schon Dezimal 255.

lg. Jamagin
Bevor du etwas neues beginnst, erledige das alte

TimBo

BeitragDo, Dez 24, 2009 12:33
Antworten mit Zitat
Benutzer-Profile anzeigen
also der Code geht und das nicht ohne Grund.
Mark hat es anscheinend so gemacht, dass die Zahlen von rechts nach links aufrücken, wenn sie größer als 255 sind.

Wäre ja echt ätzend Farben immer in RGB Speichern zu müssen.

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Jamagin

BeitragDo, Dez 24, 2009 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
@TimBo

ich kritisiere Dich ja nicht wirklich. Es war ja auch nur ein Gedanke, weil mir das unlogisch vorkommt. Aber ich hab grad in die OnlineHilfe geblickt und da steht das gleiche Beispiel mit $FFFFFF.

Aber wenn ich genau deinen Wert als Color 0, Dein Wert, 0 eingebe, dann hab ich grün! Uhhh, das ist dann inkorrekt, weil der Hexwert für Grün ja eh schon 255 ist.

Das es geht ist schon okay, nur wer macht sowas. Ich hab das mit iRed, iGreen und iBlue ja nur als Beispiel herangezogen. Da ich nicht viel mit dem Befehl Color arbeite, schreib ich meinen Farbwert sowieso immer als Color Wert1, Wert2, Wert3 in dezimaler Form rein.

Ich würde mir das nie antun, die Farben so zu bestimmen, weil ich dadurch dann ein falschen Bild der Farbskala hätte auch wenn es funktioniert, siehe Photoshop oder andere Grafikprogramme, da werden die Farben auch durch eben diese 3 Werte eingestellt.

Bitte ich will deine Meinung nicht schlechtreden, aber es ist einfach so nicht korrekt auch wenn es funktioniert! Weil will jemand Grün haben wird der sicher nicht

Code: [AUSKLAPPEN]

const gruen = $FF00FF
color 0, gruen, 0


schreiben, sondern schlicht und einfach color 0, 255, 0


lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

TimBo

BeitragDo, Dez 24, 2009 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
nein man nimmt die Farbvariable immer in den Blau Wert.

Code: [AUSKLAPPEN]
Const green=$00FF00

Color 0,0,green
Text 0,0,"Hallo Welt"

WaitKey()


sry wenn ich dich angegriffen habe, war nur leicht verwirrt. Surprised
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Jamagin

BeitragDo, Dez 24, 2009 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
@TimBo

ich weiß das grün = $00FF00 aber um dein Beispiel zu verdeutlichen schreib einfach mal in deinem Testbeispiel Color 0, Lila, 0 und Lila hast du als const $FF00FF deklariert.

Gut, danke das du meine Verwirrtheit entschuldigst! *gg*

Würde sagen, wir lassen diesen Thread wieder dafür, wozu er geschaffen wurde...!

lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

Holzchopf

Meisterpacker

BeitragDo, Dez 24, 2009 13:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Midimaster hat Folgendes geschrieben:
@Holzchopf:
Zitat:
...wenn man Variablen "von Aussen" in einer Funktion manipulieren oder darauf zugreifen will....
Deine Ansicht über Funktionen klingt für mich sehr verdreht. Variable in Funktionen "leben" nicht. Man kann sie nicht von außen manipulieren. Funktionen sind kleine Codebrocken die samt code und Parametern kurz auf den Stack geworfen werden um anschließend ins Nirwana zu verschwinden. Würde eine Funktionen nichts zurückgeben, überlebte nach der Abarbeitung des Codes nichts von Ihr.

Tja, Midimaster, in dem Fall verstehst du mich gerade sehr verdreht Rolling Eyes
Es ging mir darum, dass man Variablen die von "aussen" (also aus dem globalen Variablenscope) kommen, in der Funktion drin sieht (also darauf zugreifen, sie lesen und verändern kann) - nicht, wie es für dich klang, was man denn von ausserhalb der Funktion mit dem Innenleben der Funktion anstellen kann. Mir ist sehr wohl bewusst, wie man Funktionen anwendet und wie sie funktionieren. Und genau so bewusst sollte es auch einem Neuling sein: nämlich, dass man trotz der kompletten Abkapselung dank Global die Möglichkeit hat, Variablen im ganzen Programm zugänglich zu machen.

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Jamagin

BeitragDo, Dez 24, 2009 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
@Holzchopf

Yeah, das ist es! Kurz und bündig!! Es lebe GLOBAL wie LOKAL...


lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

Midimaster

BeitragDo, Dez 24, 2009 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
@holzchopf

ah,...jetzt hab ich verstanden wie Du es gemeint hast.

Zitat:
...wenn man Variablen "von Aussen" in einer Funktion manipulieren oder darauf zugreifen will....


ist zu verstehen wie :

Zitat:
...wenn man außen definierte Variablen in einer Funktion manipulieren oder darauf zugreifen will....


Vielen Dank noch mal an alle, dass Ihr Euch mit der Diskussion aus dem eigentlichen Ttorial raushaltet.

mpmxyz

BeitragDo, Dez 24, 2009 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/foru...248#354248 / 4. Code / SetMyColor()
Da wird der Farbparameter zwei mal auf den Wert "Orange" überprüft...

Sonst habe ich nichts an den Tutorials zu meckern. Smile
mfG
mpmxyz
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer

Eingeproggt

BeitragDo, Dez 24, 2009 13:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Zitat:
Oder wie wäre es mit dieser Funktion:
Code:
RectTrans 100,100,200,300,0.5
Sie zeichnet ein halbtransparentes Rechteck in Dein Spiel. Geht nicht?`Geht doch...


Transparenz in 2D is ja n sehr heikles Thema und wenn mans händisch machen will braucht man schon einige Tricks, die über das Können der von dir angesprochenen Anfänger hinaus geht.
Du beschreibst in keinster Weise WIE denn diese Funktion "RectTrans" aussehen soll. Gut, das is auch nicht Thema deines Tuts aber da könntest du gleich schreiben
Code: [AUSKLAPPEN]
PhantasticMMMORPG()

Geht doch...

mfG, Christoph.

EDIT @ Jamagin:
Auf Wunsch von Midimaster wollen wir hier absoluten Anfängern weiterhelfen. Daher scheiden Libs wie Draw3D oder Sprite Candy schonmal aus. Sie sind genial, aber ihre Anwendung kann manche Leute schnell überfordern.
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9
  • Zuletzt bearbeitet von Eingeproggt am Do, Dez 24, 2009 14:07, insgesamt einmal bearbeitet

Jamagin

BeitragDo, Dez 24, 2009 14:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Um nochmals vom Thema abzuweichen wie wäre es mit Sprite Candy!
Eindrucksvoller kann man eine SingleSurface Engine gar nicht mehr machen!

Seit ich BB3D mit SpriteCandy zusammen nütze sind Transparents in 2D absolut kein Problem mehr...! Da braucht man gar nicht mehr zu tricksen!

Geschweige denn eine Bildrotation in 2D, das geht mit SpriteCandy alles in einem Befehl und das nicht mal langsam...!

Nur so mein Gedanke und nun halt ich mich raus bis ich zum aktuellen Thema wieder was beitragen kann!


lg. Jamagin Cool
Bevor du etwas neues beginnst, erledige das alte

hamZta

Administrator

BeitragDo, Dez 24, 2009 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Als Tipp: Verwende bei Codebeispielen nicht den [code]-Tag sondern [syntax="bb"], damit hast du sofort Syntax-Highlighting und man kann auf die Befehle klicken um direkt in die Hilfe zu springen (du kannst auch beim Schreiben auf den BB-Knopf drücken Wink ).

Ich hab dir das hier beim ersten Code mal reineditiert, als Beispiel.
Blog.

Midimaster

BeitragDo, Dez 24, 2009 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
@hamZta

sieht ja toll aus. Da hab ich noch nie probiert! Werde es gleich in alle Code-Beispiele übernehmen.

@Eingeproggt
Zitat:
...Du beschreibst in keinster Weise WIE denn diese Funktion "RectTrans" aussehen soll...

Wohl hab ich!!! PlotTrans() wird beschrieben, und wie man daraus eine übergeordnete RectTrans() macht dürfte doch klar sein, oder?

Näher darauf einzugehen sprengt den Rahmen dieses Tutorial. Klar kommt dieses Beispiel nicht an eine benutzbare Performance heran, aber die Arbeitsweise ist auch von einem Anfänger nachvollziehbar.

Außerdem geht es ja darum, darauf hinzuweisen, dass komplexe Funktionen aus relativ harmlosen Unterfunktionen erwachsen können.
 

mDave

BeitragMo, Dez 28, 2009 7:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Midimaster,
also dein neues ""Fehler suchen"-Tutorial" ist einfach köstlich!
Wunderbar deliziös geschrieben, optimale Gliederung (das Auge isst ja bekanntlich mit) und die Würze ist perfekt.
Ich hätte niemals gedacht, dass man als Programmierer soviel beachten muss.

Auch deine anderen Tutorials sind wirklich hilfreich. Obwohl ich schon einige Zeit dabei bin, konnte ich von deinen Tutorials viel lernen.
Ich finde, deine Tutorials sind wirklich Vorzeige-Tutorials und sollten Vorbilder für anderer Leute Tutorials werden!

Weiter so!

Holzchopf

Meisterpacker

BeitragMo, Dez 28, 2009 12:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Kleiner Schönheitstipp (wäre wirklich das Tüpfelchen auf dem I):

Du könntest jeweils im Eröffnungsbeitrag das Inhaltsverzeichnis (oder die Kapitelübersicht, wie auch immer man die nennen mag), so anpassen, dass die Überschriften Direktlinks zum jeweiligen Beitrag sind. Alle Beiträge haben oben rechts, gerade links vom Datum, so ein kleines File-Symbol, dahinter versteckt sich der Direktlink zum jeweiligen Beitrag und diesen könntest du dann als URL hinter dem Titel hinterlegen. Noch ist das vielleicht ein überflüssiges Feature, aber falls du mal mehr als eine Seite schreibst, würde dies die Navigation doch noch vereinfachen.

mfG
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Midimaster

BeitragMo, Dez 28, 2009 13:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Holzchopf

das ist eine tolle Idee, ich mach es gleich!

Bitte nicht so vorsichtig kritisieren. Jede Kritik ist SUPER WILLKOMMEN !!!

Alfadur

BeitragMo, Dez 28, 2009 13:55
Antworten mit Zitat
Benutzer-Profile anzeigen
mDave hat Folgendes geschrieben:
Hallo Midimaster,
also dein neues ""Fehler suchen"-Tutorial" ist einfach köstlich!
...
Weiter so!


Dem wollte ich mich einfach mal anschließen und meiner Wertschätzung hiermit Ausdruck verleihen Smile
A Cray is the only computer that runs an endless loop in less than four hours.

TimBo

BeitragMo, Dez 28, 2009 14:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi MidiMaster,

wie wäre es, wenn du im FehlerSuchenTutorial mal die IDE IDEal ansprichst. Durch das geniale Highlighten wird der Code um einiges lesbarer als in der Standart IDE.

Was ich noch hinzufügen würde , wäre der explizite Hinweis Local zu benutzen.

Code: [AUSKLAPPEN]
Function Muster()
    local x , y , i , ii
 
    der eigentliche Code
End Function


das ist daher sinnvoll, dass man ein Missverständnis verhindern kann.

Code: [AUSKLAPPEN]
Global x=5
Debuglog NewX()
Debuglog X


Function NewX()
  Local X

  X=Rand(0,4)
  return X
 
End Function


ich hoffe durch mein Beispiel wird klar, dass Local am Anfang einer Funktion und insbesonders am Anfang der Mainschleife sinnvoll ist.

Ansonsten muss ich sagen , dass dein Tutorial doch sehr genial ist. Gerade für Anfänger ist dieses Werk mehr als zu Empfehlen !!
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

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

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group