>>>>>>>>Der Basic-Kurs fr Fortgeschrittene<<<<<<<<<<<<< Kursbersicht: ================================ I. Teil Maussteuerung (mit PowerBasic) II. Teil Bewegte (kleine) Grafiken III. Teil Einlesen des DIR's mal anders IV. Teil CHAIN, COMMON und hnliches V. Teil strukturierte Programmierung mit SELECT CASE Der Rest steht noch nicht fest. ================================ >>>>>>>>>>>>>>>>>>>Heute: ================================ II. Teil Bewegte (kleine) Grafiken ================================ Hallchen and Welcome to the second part of the Basic-Kurs! Heute wollen wir uns mal einer Mglichkeit fr kleine (!) bewegte Grafiken zuwenden. Vieleicht erinnert ihr euch noch an die Grafikbefehle: PSET x,y setzt einzelne Punkte LINE (x1,y1)-(x2,y2),color setzt eine Linie CIRCLE (x,y),radius,color setzt einen Kreis DRAW x$ zeichnet individuelle Grafiken Wobei x$ folgendes sein kann: Dx x Zeichen nach unten Ux x Zeichen nach oben Rx x Zeichen nach rechts Lx x Zeichen nach links Ex x Zeichen nach oben & rechts Fx x Zeichen nach unten & rechts Gx x Zeichen nach unten & links Hx x Zeichen nach oben &links Hierbei kann man x durch eine beliebige Zahl ersetzen. x$ kann aber auch folgendes sein: Cx Farbe x (Farbwert von 0 bis zu 15) Mx,y springt zu Punkt x,y (zeichnet dabei auch!) Und wenn ihr wollt, da ein(!) Grafikbefehl (also z.B.: Dx oder Ux) nicht gezeichnet werden soll, aber trotzdem ausgefhrt werden soll, dann setzt einfach ein B vor den Befehl. Beispiele: ====================Programm: BEISPIEL:BAS================ SCREEN 9 'schaltet in den EGA-Modus DRAW"R4 D5 BL2 R4" 'naja, was sinnvolles wird's grade 'nicht! =========================================================== Hier jetzt ein Beispiel fr eine bewegte Grafik mit Punkten: ====================PSET1.BAS=============================== SCREEN 12 'schaltet in den VGA-Modus FOR i= 1 TO 300 'Schleife von 1 bis zu 300 FOR t= 1 TO 200 'Schleife von 1 bis zu 200 PSET (i,t),15 'setzt einen Punkt PSET (i,t),0 'lscht einen Punkt NEXT t,i 'Schleifenende ============================================================= Hier jetzt die Erklrung: Die Punkte werden zuerst gestzt, danach wieder gelscht. Das Ergebnis: * (1.Durchlauf) * (2.Durchlauf) * (3.Durchlauf) * (4.Durchlauf) usw Dabei fllt auf, da die Punkte nicht sehr gut zu sehen sind. Also wre es sinnvoll, eine Verzgerungsschleife einzubauen: ====================PSET1.BAS=============================== SCREEN 12 FOR i= 1 TO 300 FOR t= 1 TO 200 PSET (i,t),15 FOR x= 1 to 100:next x 'Verzgerungsschleife PSET (i,t),0 NEXT t,i ============================================================= Jetzt sind die Punkte viel besser zu sehen! (Fr den Fall, da die Punkte bei Euch immer noch nicht gut zu sehen sind, empfehle ich den 2. Wert der Verzgerungsschleife zu erhhen.) So, jetzt schaut euch mal die Dateien BEISPIEL.EXE & BEISPIE2.EXE an. (Danach mal die Basic-Listings.) Vieleicht sind dort ja mal ein paar Routinen, die ihr gebrauchen knnt. Verwendet aber bitte nicht die Bildchen, ich habe daran Stunden geseen und mchte nicht, da mir die jemand klaut. (Bitte bitte tut es nischt!) So, jetzt zurck zum Kurs: Das System ist bei den anderen Grafikbefehlen genauso: Bild setzten, dann wieder lschen. (Dieses Verfahren benutze ich schon jahrelang, es hat natrlich auch einen groen Nachteil: Es ist sehr, sehr langsam, deshalb lohnt sich der Einsatz maximal in compilierten Dateien.) So, das war's diesmal leider auch schon wieder. Es war dieses mal zwar sehr kurz, aber dafr hab' ich euch ja zwei lange Listings mit auf dem Weg gegeben! Wenn ihr auch tolle (bewegte) Grafiken programmiert habt und wollt, da andere auch davon lernen knnen, dann immer her damit. Schickt sie an das MC-Orga-Team oder an mich! Falls ihr Fragen zu den Themen habt, stellt sie uns ruhig, wir nehmen uns Zeit und versuchen, eure Fragen zu beantworten. Fragt ruhig, euch lacht schon keiner aus. Jeder hat mal klein angefangen. (Und wenn doch einer lacht, dann bekommt er eins auf die Mtze!) Ciao, bis zum nchsten Mal! Euer Dark Crusher