++++++++++++++++++++++++++++++++++++++++++++++++++++ + Skript, Teil 5 zum QBasic-Kurs I + + Von Robert Jessenberger + ++++++++++++++++++++++++++++++++++++++++++++++++++++ Noch ein neuer Befehl --------------------- Um es gleich zu sagen, es ist eine neue Art von Schleife. Aber keine Angst, sie ist wirklich simpel zu verwenden. Beispiel: FOR q%=1 TO 5 PRINT q% NEXT q% Ergebnis: 1 2 3 4 5 Fünf Zahlen stehen untereinander auf dem Bildschirm. Die FOR-Schleife zählt also die angegebene Variable entsprechend der angegebenen Zahlen schrittweise hoch und führt in jedem Schritt die Befehle in der Schleife aus. Den Nutzen der FOR-Schleife werdet ihr schnell bei der bewegten Graphik erkennen. Die FOR-Schleife kann man auch andersherum zälen lassen: Beispiel: FOR q%=5 TO 1 STEP -1 PRINT q% NEXT q% Ergebnis: 5 4 3 2 1 Oder auch in Zweier-Schritten: Beispiel: FOR q%=1 TO 7 STEP 2 PRINT q% NEXT q% Ergebnis: 1 3 5 7 Bewegte Graphik --------------- Bewegte Graphik ist wohl in jedem kommerziellen Game enthalten. Man kann folgendermaßen vorgehen, will man etwas über dem Bildschirm wandern lassen: 1) Graphikmodus einschalten 2) Man überlege sich Variablen, die die aktuelle Position des Objektes enthalten. Vorschlag: x% , y% 3) Von diesen Variablen ausgehend, zeichne man das Objekt. Beispiel: LINE (x%,y%)-(x%+40,y%+40),15,BF Nehmen wir an, ein Viereck (kann ja später ein Auto, Flugzeug... werden ) soll von links nach rechts wandern. Links auf dem Bildschirm ist die Position bekanntlich(!?) 0, ganz rechts ist die Position 639. Bei der Bewegung von links nach rechts hat unser Viereck jede Position zwischen 0...639. Weiterhin ist zu beachten, daß dort, wo unser Objekt schon war, wieder der alte Hintergrund zum Vorschein kommt. Wenn er einfarbig ist, brauchen wir nur mit einem Viereck dieser Farbe unser Objekt zu übermalen. Nun ein Beispiel: SCREEN 9 CLS y%=100 FOR x%=0 TO 639 LINE (x%,y%)-(x%+40,y%+40),15,BF LINE (x%-1,y%)-(x%-1,y%+40),0 NEXT x% Eigentlich ganz simpel. Hier noch ein Beispiel mit anderer Schrittweite: SCREEN 9 CLS y%=100 FOR x%=0 TO 639 STEP 5 LINE (x%,y%)-(x%+40,y%+40),15,BF LINE (x%-1,y%)-(x%-6,y%+40),0,BF NEXT x%