Reihe: Tutorials für Anfänger

Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials

Neue Antwort erstellen

M0rgenstern

Betreff: Reihe: Tutorials für Anfänger

BeitragSo, Jan 09, 2011 19:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute.
Ich bin dabei eine Tutorialreihe über Blitzmax zu schreiben.
Und wie von Bladerunner gewünscht werde ich die Tutorials komplett ins Forum kopieren.
Deshalb habe ich den Thread hier aufgemacht, denn hier werde ich dann alle Tutorials in der richtigen Reihenfolge reinkopieren.
Darum würde ich euch bitten Kritik in diesen Thread zu schreiben, damit das ganze nicht unübersichtlich wird.

Ich hoffe, dass das so in Ordnung ist.

Lg, M0rgenstern

M0rgenstern

Betreff: Vorwort

BeitragSo, Jan 09, 2011 19:14
Antworten mit Zitat
Benutzer-Profile anzeigen
Vorwort

Warum denn ein Vorwort zu einem Tutorial?
Ganz einfach: Ich möchte mit dieser Tutorial Reihe an die Leser herantreten. Bei vielen Tutorials hatte ich schon das Gefühl, dass der Autor irgendwie weit von den Lesern entfernt ist und dass ein Tutorial einfach direkt mit dem „Stoff“ den es vermitteln möchte beginnt. Es entsteht aber keine Nähe zum Leser beziehungsweise zum Autor.
Oft fühlt es sich, vor allem für totale Neulinge, auch so an, als würde der Autor total über dem Leser schweben, was viele Neulinge abschreckt oder einschüchtert.
Ich möchte hiermit die Lücke zwischen Autor und Leser schließen. Ich möchte nicht, dass der Autor den Leser durch das Tutorial hinter sich herschleift, sondern, dass er mit dem Leser durch das Tutorial geht. Dass er ihn begleitet und unterstützt.
Dieses Tutorial richtet sich in erster Linie an Leute, die noch nie zuvor programmiert haben. Deshalb fängt es wirklich bei 0 an.
Und deshalb möchte ich, dass der Leser nicht verschreckt oder verunsichert wird.
Programmieren soll Spaß machen.
Es kann auch sehr anstrengend sein, aber es lohnt sich, wenn man später sieht, was man geleistet hat.
Ich weiß nicht, ob ich meine Ziele erreichen kann, aber ich werde mir alle Mühe geben.
Vielleicht kann ich dadurch ja ein paar wenige zur Programmierung bringen.
Auf jeden Fall wünsche ich euch viel Spaß beim Lesen und Testen.

Noch ein Wort zum Ablauf des Tutorials:
Es ist eine Reihe, das heißt es werden in regelmäßigen Abständen neue Teile hinzukommen.
Wie viele Teile es werden, weiß ich noch nicht, aber was ich euch versprechen kann:
Im Laufe des Tutorials werden insgesamt 2 kleine Spiele programmiert.
Doch bevor wir mit den Spielen anfangen wird es einige Teile geben, in denen es eine allgemeine Einführung in die Programmierung mit Blitzmax geben wird.
Jede Woche und zum Teil jede Zweite Woche wird ein neuer Teil veröffentlicht, das kommt auch immer darauf an, wie ich selbst Zeit habe, aber ich versuche die zwei Wochen Grenze nicht zu überziehen.

So, genug geredet.
Heute gibt es auch direkt schon den ersten Teil.
Viel Spaß.

Liebe Grüße, M0rgenstern

M0rgenstern

Betreff: Teil 1 – Download, Installation und „Hallo Welt“

BeitragSo, Jan 09, 2011 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Teil 1 – Download, Installation und „Hallo Welt“

Dies ist der erste Teil des Anfängertutorials für Blitzmax.
Dieses Tutorial ist wirklich für totale Anfänger in der Programmierung gedacht, damit wirklich jeder einen Einstieg in die Programmierung und vor allem die Programmiersprache Blitzmax finden kann.
Jedoch gibt es schon einige Grundanforderungen, die ihr erfüllen solltet:
1. Ihr solltet lesen und schreiben können.
2. Ihr solltet wissen, wie man Programme auf dem Computer installiert, denn das müsst ihr als erstes tun.
3. Einige Englischkenntnisse wären nicht schlecht, sind jedoch nicht zwingend notwendig.
4. Durchhaltevermögen und logisches Denken. Ohne diese beiden Dinge wird es schwierig, wenn man programmieren möchte.
Fangen wir also an.
Zuerst einmal braucht ihr zwei Programme. Das erste wäre Blitzmax: Es enthält den Compiler (dieser übersetzt euren Programmcode in eine für den PC verständliche „Sprache“), einige Module und eine IDE. Die IDE ist das Werkzeug, mit dem ihr eigentlich arbeitet, hier tippt ihr euren Code ein, führt ihn aus und könnt ihn debuggen (dazu später mehr).
Das Programm gibt es sowohl für MacOs als auch für Windows auf folgender Webseite zum Download (Das oberste Produkt):
Blitzmax Downloadseite

Leider ist dies eine 30 Tage Testversion, aber wenn euch das Programmieren Spaß macht, dann könnt ihr euch die Vollversion kaufen.

Das zweite Programm, das ihr benötigt ist BLIde, eine IDE für Blitzmax.
Wahrscheinlich werdet ihr euch jetzt fragen: Wofür NOCH eine IDE?
Diese Frage ist natürlich berechtigt. Ihr könnt gerne die Blitzmax interne IDE benutzen, jedoch finde ich BLIde viel schöner. BLIde hilft Projekte zu verwalten, bietet Autovervollständigung und einige andere angenehme Dinge an. Ich persönlich arbeite sehr gerne damit, da es vieles einfacher macht.
ACHTUNG: Ich persönlich halte BLIde für eine geniale IDE. Sie könnte jedoch für Anfänger überladen und verwirrend wirken. Ich zeuge euch hier also, wie ihr BLIde einrichtet und in diesem Teil auch, wie ihr es benutzt, jedoch müsst ihr es nicht nutzen. Ihr könne genauso gut auch die von Blitzmax mitgelieferte IDE nutzen. Alles was hier gezeigt wird funktioniert sowohl mit BLIde als auch mit der original IDE.
Der folgende Link bringt euch direkt zu dem Download der Free Version von BLIde, diese ist auch nicht zeitlich beschränkt:
BLIde direkt Download

Wenn ihr beides heruntergeladen habt, dann solltet ihr beides noch installieren.
Achtung: ZUERST Blitzmax, dann BLIde.
Wenn ihr BLIde dann das erste mal öffnet, oder auch schon direkt nach der Installation, wird sich ein Fenster mit dem Namen „Configuration Wizard“ öffnen.
Im ersten Fenster klickt ihr einfach auf „Next“. Im folgenden Fenster müsst ihr dann den Speicherort eurer Blitzmax Installation auswählen. Ihr braucht hierzu nur im Fenster nach dem Ordner für Blitzmax zu suchen, dieser heißt standardmäßig „BlitzMax“. Klickt dann auch „Next“.
Im nächsten Schritt könnt ihr dann das Farbschema auswählen, welches euch am besten gefällt. Klickt dann wieder auf „Next“.
Jetzt könnt ihr euren Namen und andere Daten eingeben, müsst ihr aber nicht. Klickt danach einfach wieder auf „Next“. Setzt im nächsten Fenster das Häkchen, damit BLIde automatisch nach Updates sucht. Wenn ihr das nicht möchtet, lasst das Häkchen weg.
Dann wieder auf „Next“.
Im nächsten Fenster könnt ihr auswählen, was BLIde tun soll, wenn ihr es startet. Das ist auch ganz euch überlassen. Und wieder auf „Next“ klicken (langsam könnt ihr euch das wahrscheinlich denken).
Das nächste Fenster gibt euch die Möglichkeit zu entscheiden, welche Hilfeseite euch angezeigt werden soll, wenn ihr in BLIde Hilfe zu Befehlen sucht. Ich empfehle hier die BLIde Help Page, da ich diese als informativer empfinde.
In dem folgenden Fenster solltet ihr dann ein Häkchen bei „Autocomplete brackets…“ machen. Dadurch werden Klammerpaare und Anführungszeichen automatisch geschlossen.
Im nächsten Fenster macht hier kein Häkchen sondern klickt einfach auf „Next“.
Jetzt könnt ihr wählen, ob BLIde euch viele Toolbars und Fenster anzeigen soll, oder nur wenige. Ich würde euch hier zu dem „Complete Layout“ raten, da ihr damit während dem Programmieren alle Informationen auf einen Blick habt. Keine Angst, das sieht auch absolut nicht unübersichtlich aus.
Wählt im nächsten Fenster den obersten Punkt aus und klickt auf „Next“.
Klickt danach einfach auf „Start BLIde“.
Glückwunsch, jetzt könnt ihr mit dem Programmieren anfangen.



Also, los geht’s:

Ihr wollt jetzt bestimmt sofort loslegen. Gerne. Aber zuallererst müssen wir noch ein paar Dinge einrichten.

Öffnet dazu zu allererst BLIde.
Dann müsst ihr zuerst noch ein paar Einstellungen vornehmen.
Zum einen versichert euch, dass ihr die komplette Ansicht gewählt habt. Geht dazu in der Leiste oben auf „Windows“ -> „Interface Layout“ -> Complete Layout“.
Dadurch werden einige weitere Fenster in BLIde entstehen, wozu die alle sind erkläre ich in späteren Tutorials, immer dann, wenn sie gebraucht werden.
Um die nächste Einstellung vorzunehmen, müsst ihr zuerst eine Codedatei öffnen.
Merkt euch diesen Schritt, denn ihr werdet ihn noch öfter brauchen.

Klickt dazu in BLIde oben auf „File“ -> „New“ -> „New Single File“. Wahlweise geht das auch mit der Tastenkombination STRG+N.
Wählt dann „BlitzMax File“ aus und tippt bei „Name“ einen Dateinamen ein. Wichtig: das „.bmx“ am Ende muss stehen bleiben.
Klickt dann auf „Force Folder Selection“ und schließlich auf „Ok“.
Wählt im sich nun öffnenden Fenster noch einen Speicherort für die Datei aus. Am besten legt ihr euch für die Programmierung einen eigenen Ordner an.
In der Standard IDE geht das etwas einfacher: Dort klickt ihr einfach oben links auf das Symbol das ein Blatt Papier mit einem kleinen Stern darstellt. Dadurch entsteht ein neuer Tab der "untitled1.bmx" heißt.

Um nun die letzte Einstellung vorzunehmen klickt oben in der Leiste auf „Tools“ -> „Define editor’s color scheme“. Sucht euch dann einen Eintrag der Liste aus und klickt auf „Done“. Solltet ihr später merken, dass auch das gewählte Farbschema doch nicht gefällt, könnt ihr es jederzeit ändern.

Das erste Programm:

Jetzt geht’s endlich mit dem Programmieren los.
Also. Wir wollen ein Programm schreiben, das „Hallo Welt“ schreibt.
Eine kleine Anmerkung noch.
Alles was ihr in BLIde eintippen müsst schreibe ich so:

BlitzMax: [AUSKLAPPEN]
Programmieren macht richtig Spaß!


Das erste was ihr eintippen solltet ist:
BlitzMax: [AUSKLAPPEN]
SuperStrict



Wozu das da ist werde ich später noch erklären, ihr solltet euch jedoch angewöhnen dieses Wörtchen immer ganz oben in den Code zu schreiben.

Nun sagen wir unserem Programm, dass es Hallo Welt schreiben soll.
Das geht ganz einfach mit dem „Print“ Befehl.
Der ist folgendermaßen aufgebaut: Print <String>
Das <String> steht einfach für eine Zeichenkette. Das kann eine Variable sein (dazu kommen wir in späteren Tutorials). Man kann aber auch direkt angeben, was geschrieben werden soll.
Dass kommt dann in Anführungszeichen, also so:
BlitzMax: [AUSKLAPPEN]
Print "Hallo Welt"


Um euer Programm zu testen drückt einfach F5 oder klickt wahlweise auf das grüne Dreieck in der Symbolleiste.
Unten links in BLIde ist ein Fenster das den Namen „Console“ trägt. Dort sollte jetzt „Hallo Welt“ stehen
(ohne „“).
In der Standard IDE startet ihr das Programm über das Symbol der abhebenden Rakete.
Dadurch öffnet sich ein neuer Tab, in welchem einige Dinge stehen, unter anderem auch unser Satz "Hallo Welt". Um wieder zum Code zu kommen klickt einfach oben auf den tab der wahrscheinlich "untitled1.bmx" heißt.

Im ganzen sieht unser Programm also so aus:

BlitzMax: [AUSKLAPPEN]
SuperStrict
Print "Hallo Welt“


Herzlichen Glückwunsch, ihr habt euer erstes Programm geschrieben.
Wenn ihr mögt, könnt ihr ja ein wenig mit Print experimentieren.
Wie sähe zum Beispiel ein Programm aus, das „Hallo Welt“ und in der nächsten Zeile „Heute ist ein schöner Tag“ ausgibt?

Ich hoffe, dass auch das Tutorial gefallen hat.
Bitte schreibt im entsprechenden Thread Kommentare, damit ich weiß, was ich verbessern kann.
Das Tutorial soll wirklich für totale Anfänger geeignet sein.

Liebe Grüße, M0rgenstern

Kurzer Nachtrag:
Alle Tutorials werden jetzt auch als Videotutorials verfasst, für Leute, die nicht so viel lesen möchten.
Zu finden ist Teil 1 hier: http://www.youtube.com/watch?v=7yqnlRScANs

M0rgenstern

Betreff: Teil 2

BeitragDi, Jan 18, 2011 18:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Teil 2 – Variablen und Kommentare

Willkommen zum zweiten Teil der Tutorialreihe.
Diesmal geht es um Kommentare und Variablen.
Wenn ihr von beidem noch nie was gehört habt: Keine Sorgen, das klärt sich alles.


Beginnen wir mit den einfachen Dingen:

Kommentare

Oft ist es schwierig seinen Code noch nach Wochen zu verstehen, wenn man ihn nirgendwo explizit erklärt hat.
Dann denkt man sicher nach einer Woche: „Was hab ich denn da veranstaltet?“
Das ging mir persönlich auch schon viel zu oft so und deshalb sollte man es sich von Beginn an angewöhnen seinen Code zu kommentieren.
Doch, was sind Kommentare überhaupt?
Ganz einfach: Das sind Codezeilen, die vom Compiler nicht beachtet werden. Diese Zeilen machen bei der Ausführung des Programms gar nichts, sie werden einfach ignoriert. Gut, aber wofür brauchen wir dann so was, wenn sie doch nichts tun?
Auch ganz einfach: Wir können damit Erklärungen in unseren Code einfügen, um ihn auch nach Wochen noch zu verstehen.
Kommentare werden einfach mit einem Anführungszeichen oben eingeleitet. Auf der Tastatur rechts neben dem „ä“, also dieses Zeichen: ’
Nehmen wir einfach mal das Programm aus Teil 1 und kommentieren es:

BlitzMax: [AUSKLAPPEN]
SuperStrict 'Sehr wichtiger Befehl, immer an den Anfang setzen!

Print "Hallo Welt" 'Gibt den Satz Hallo Welt in der Konsole aus.


Achtung: Alles was hinter dem ’ steht wird ignoriert. Dahinter können wir also keine Befehle mehr schreiben. Was man aber tun kann, ist Befehle auskommentieren um zum Beispiel Fehler zu finden.
Das war’s auch schon, was es zu den Kommentaren zu sagen gibt.
Nur eine wichtige Sache noch: Kommentiert wo immer es geht. Während man programmiert kommen immer mal wieder Phasen wo man nicht weiß, wie man weitermachen soll oder wo kurzzeitig die Inspiration fehlt um neuen Code zu schreiben. Nutzt diese Phasen um euren Code zu kommentieren. Zum einen kommt man dadurch oft auf neue Ideen und zum anderen wisst ihr dann auch nach Wochen noch, was ihr an dieser oder jener Stelle tun wolltet beziehungsweise wozu diese Stelle da ist.


Jetzt kommen wir zu einem etwas schwierigeren, aber sehr wichtigen Teil der Programmierung:

Variablen:

Zuallererst sollten wir klären, was Variablen sind und wozu sie da sind.
Variablen sind sozusagen Container für eine bestimmte Sache. Es gibt verschiedene Sorten von „Containern“ und jeder dieser „Container“ kann nur eine bestimmte Art von Ding aufnehmen.
Zu vergleichen ist das mit Abfallcontainern. In den einen darf man nur Grünglas werfen, in einen anderen nur Braunglas und einen anderen wiederum nur Papier.
Natürlich handelt es sich hier nicht um Papier oder Glas und es ist auch kein Abfall, aber das Beispiel sollte den Grundgedanken von Variablen vermitteln.
Man kennt Variablen auch aus der Mathematik. So kann man zum Beispiel sagen:

X = 9
X ist hier die Variable, die stellvertretend für die Zahl 9 steht. In der Mathematik kann man jetzt ganz einfach mit der Variable rechnen:
Y = 2*X

Da wir wissen, dass X = 9 ist ergibt sich für Y daraus 18.
Man kann dem X auch einen neuen Wert zuweisen.
Genauso funktionieren Variablen in der Programmierung auch.
Jede Variable kann immer nur EINEN Wert annehmen, nicht mehrere. Der Wert ist aber änderbar.
In Blitzmax gibt es folgende Variablentypen:
Integer: Das sind Variablen, die eine ganze Zahl zwischen speichern können.
Float: Eine Float Variable kann eine Fließkommazahl speichern. Floatvariablen haben eine einfache
Genauigkeit, sind also auf etwa 7 Stellen hinter dem Komma genau.
Double: Eine Double Variable speichert, wie eine Floatvariable eine Fließkommazahl, ist jedoch doppelt so
genau wie eine Floatvariable, also auf ungefähr 15 Stellen hinter dem Komma.
String: Eine Stringvariable speichert eine Zeichenkette ab. Das kann ein einzelnes Wort sein oder ein
ganzer Satz.
Zusätzlich zu diesen Typen gibt es noch einige weitere, auf die im Moment aber noch nicht eingegangen werden muss.

Achtung: Wenn wir eine Kommazahl schreiben möchten, so ist das Komma in der
Programmierung immer ein Punk. Also die Zahl 2 Komma fünf wäre: 2.5 und nicht
2,5

Wie benutzt man jetzt Variablen?
Das ist eigentlich simpel: Wir deklarieren dazu eine Variable BEVOR sie benutzt
werden soll. Das geht so:

BlitzMax: [AUSKLAPPEN]
Global X:Int


Int ist hier die Abkürzung für Integer. Man muss also den Typ bei der Deklaration immer mit angeben.
Man kann einer Variable auch direkt bei der Deklaration einen Wert zuweisen, also so:

BlitzMax: [AUSKLAPPEN]
Global X:Int = 20



Das Wörtchen Global steht einfach dafür, dass die Variable im kompletten Programm zur Verfügung stehen soll. Im Gegensatz zu Global steht Local, aber dazu kommen wir in einem anderen Teil noch genauer.
Versuchen wir uns doch jetzt einfach an einem kleinen Programm, das einige Zahlen
Zusammenaddiert.
Also:

BlitzMax: [AUSKLAPPEN]
SuperStrict 'Sehr wichtiger Befehl, immer an den Anfang setzen!

Global X:Int = 20
Global Y:Int = 5
Global Z:Int

Z = X + Y 'Z ist 20 + 5

Print "Z hat den Wert: " + Z 'Wir können eine Variable einfach mit Print ausgeben lassen, indem wir ein + dranhängen.

X = 5 'Jetzt hat X den Wert 5

Z = X*Y 'Z ist jetzt 5*5 also 25

Print "Jetzt hat Z den Wert: " + Z 'Nochmal, einfach Z anhängen!


Unsere Ausgabe sieht jetzt so aus:

user posted image

Das ganze funktioniert auch mit Strings. Schreiben wir doch einfach unser Hallo Welt
Programm ein wenig um:

BlitzMax: [AUSKLAPPEN]
SuperStrict 'Sehr wichtiger Befehl, immer an den Anfang setzen!

Global Name:String 'Variable für den Namen deklarieren
Global Antwort:String = "Auf wiedersehen, " 'Antwort als String speichern


Name = Input("Hallo, wie heißt du? ") 'Eingabe über die Tatstatur annehmen
Antwort= Antwort+ Name 'Antwort + Name = Auf Wiedersehen, [Name]
Print Antwort 'Antwort schreiben


Wir haben hier auch einen neuen Befehl: Input. Input nimmt eine Eingabe über die
Tastatur entgegen, die mit Enter bestätigt werden kann. Diese Eingabe wird dann in
Name gespeichert. Das was in den Klammern steht soll geschrieben werden, bevor
die Eingabe erfolgt.
Das ganze sieht zuerst so aus:

user posted image

Und nach der Eingabe haben wir folgendes Bild:

user posted image

Ihr seht also: Man kann auch Strings addieren. Nur subtrahieren kann man sie nicht
und auch nicht multiplizieren oder dividieren. Mit Integern und Floats allerdings geht
das sehr wohl.

Eine wichtige Sache zum Schluss: man kann Variablen auch umwandeln.
Wenn man zum Beispiel über die Tastatur eine Zahl einlesen möchte, geht das so
(Programmausschnitt):

BlitzMax: [AUSKLAPPEN]
Global Zahl:Int

Zahl = Int(Input("Hallo, wie heißt du? ")) 'Eingabe über die Tatstatur annehmen und zu einer Zahl konvertieren


Input() gibt einen String zurück. Das Int() außen herum sorgt dafür, dass der String in
einen Integer, also eine Zahl konvertiert wird und somit auch in einer Integer Variable
gespeichert werden kann.
Alles andere würde einen Fehler verursachen.
Zu beachten ist hierbei: Wenn man jetzt statt einer Zahl Text eingibt, dann hat Zahl
den Wert 0.
Man kann so auch Floats in Integer konvertieren und umgekehrt. Das geht einfach
mit Float(). Oder auch mit Double().

Im Prinzip war das auch schon alles für dieses mal.
Zusammenfassend noch mal:
- Kommentare sind wichtig um den Code übersichtlich zu halten und ihn zu erklären.
- Variablen müssen Deklariert werden, bevor man sie benutzen kann.
- Die Variable, der etwas zugewiesen wird steht immer LINKS von dem
Gleichheitszeichen, rechts steht, was zugewiesen wird.
- Variablen können konvertiert werden, indem man den Typen davor setzt, z.B.: X =
int(Eingabe)

Zum Schluss eine kleine Aufgabe: Wie sähe ein Programm aus, das vom Benutzer
Zwei Zahlen einliest und diese addiert und das Ergebnis wieder ausgibt?

Ich hoffe es hat euch gefallen.
Beim nächsten Mal kommen dann endlich Grafiken ins Spiel.

Videotutorial Teil 2: http://www.youtube.com/watch?v=MHZiJK_mjhc


Lg, M0rgenstern

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG FAQs und Tutorials

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group