Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

objekt automatisch bewegen
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 30.03.2007, 16:08    Titel: Antworten mit Zitat

Hier hat Skilltronic extra für dich beschrieben, wie die Hilfe aufgerufen wird..
..probiers..
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Skilltronic



Anmeldungsdatum: 10.09.2004
Beiträge: 1148
Wohnort: Köln

BeitragVerfasst am: 30.03.2007, 21:48    Titel: Antworten mit Zitat

Ok, weil ich gerade so gute Laune habe, versuch' ich's nochmal.

Code:

5 CLS
10 SCREEN 9
20 CLS


CLS (=clear screen) löscht den Bildschirm, ist in Zeile 5 und 20 doppelt gemoppelt, eins davon ist überflüssig. SCREEN 9 schaltet in den Bildschirmmodus 9, der hat eine Auflösung von 640 Pixeln in der Breite (von rechts nach links von 0-639 laufend) und 350 in der Höhe (von oben nach unten von 0-349 laufend).

Code:

30 FOR fuellstand = 0 TO 1 STEP .01
40   LINE (100, 100)-(200, 300), 15, B
50   LINE (101, 100)-(199, 299 - fuellstand! * 180), 0, BF
60   LINE (101, 299 - fuellstand! * 180)-(199, 299), 14, BF
70 zeit = TIMER: DO: LOOP WHILE TIMER < zeit + .1
80 NEXT
90 SLEEP


In der FOR...NEXT-Schleife in Zeile 30/80 wird die Variable "fuellstand" von Null bis Eins hochgezählt, in Schritten von 0.01 (STEP .01), die Null vor dem Komma braucht man nicht zu schreiben. Im ersten Durchgang ist fuellstand also 0, dann 0,01, dann 0,02 usw.

Zeile 40 Zeichnet ein leeres, weisses Rechteck, 15 ist die Farbe Weiss, das B am Ende steht für Rechteck, sonst würde nur eine Linie zwischen den angegebenen Koordinaten gezogen.

In Zeile 50 wird ein schwarzes, ausgefülltes Rechteck in das weisse hineingezeichnet. BF steht für ein gefülltes Rechteck, 0 ist die Farbe Schwarz. Damit wird die obere Linie des weissen Rechtecks übermalt, damit es so aussieht als wäre es oben offen. Die Ränder links und rechts (101 und 199) sind dabei um eins nach innen versetzt, damit die nicht auch schwarz übermalt werden. Der obere Rand ist fest bei 100, das weisse Rechteck bewegt sich ja nicht. Der untere Rand wird aus der Variablen fuellstand errechnet. Bräuchte man zwar nicht so zu machen, aber egal. also der "Boden" des Gefässes ist auf 300, damit der nicht übermalt wird fängt das schwarze bei 299 an. Im ersten Schleifendurchgang ist ja fuellstand noch = 0. Von 299 wird also nichts abgezogen. Das schwarze Rechteck wird von ganz unten bis ganz oben gezeichnet. Dann wird fuellstand nach und nach grösser und damit wird auch mehr von 299 abgezogen und der untere Rand des schwarzen Rechtecks wandert jedesmal ein Stück nach oben. Die gesamthöhe ist 180. Am Ende der Schleife ist füllstand = 1, damit wird die gesamte, maximale Füllhöhe abgezogen.

In Zeile 60 das gleiche. Hier wird ein gelbes (14) Rechteck gezeichnet, nur wird hier der obere Rand berechnet, der untere ist fest. Wie in Zeile 50 wandert dieser Rand mit wachsendem Wert für fuellstand nach oben.

In Zeile 70 wird dann eine Zehntelsekund (nicht eine Sekunde wie ich zuerst geschrieben hatte, da hab ich mich verkuckt) gewartet, das mit dem TIMER hatte ich ja schon beschrieben.

So, wenn du's jetzt immer noch nicht verstehst, dann kann ich dir auch nicht mehr helfen. Nur noch ein Tip. Wenn du sowas nicht verstehst, dann Spiele einfach mal damit rum, indem du ein paar Zahlen änderst und einfach mal schaust, was dann passiert. Wenn du schwarze Rechteck z.B. in einer anderen Farbe zeichnen lässt, kannst du schon besser sehen was passiert. Oder setze mal das Tempo runter, indem du z.B. eine Sekunde wartest jedesmal. Dann kannst du den Ablauf besser verfolgen.

Gruß
Skilltronic
_________________
Elektronik und QB? www.skilltronics.de !
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz