 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
blümchen88
Anmeldungsdatum: 20.12.2004 Beiträge: 7 Wohnort: monzingen, Rheinland-Pfalz
|
Verfasst am: 20.12.2004, 20:24 Titel: grafiken: glas befüllen |
|
|
haben in unsrer neuen progamierer-AG ein problem!
es lautet wie folgt:
wir, die ag-schüler möchten, ein qbasic programm schreiben das eine apfelsaft-schorle herstellt! das programm läuft schon, alles funkioniert! aber wir möchten noch eine grafik auf dem bildschirm aufleuchten lassen wenn dies geschied in der man sieht wie ein becher befüllt wird....!
???könnt ihr uns helfen??? |
|
Nach oben |
|
 |
Eisbaer

Anmeldungsdatum: 16.10.2004 Beiträge: 354 Wohnort: Deutschland,Bayern
|
Verfasst am: 20.12.2004, 23:13 Titel: Re. Glas |
|
|
Ok, Hi...
Also wenn ihr zum Programm ein Bild oder den Code dazusetzen könntet, könnte man sich auch etwa vorstellen wie das wo und wie auszusehen hat, und was das für ein Aufwand zu erstellen ist also variablen übergabe zum Image, den verwendeten Screen ect.
Einfach mal ein paar genauere Angaben zu euerem Projekt.
mfg Eisbaer  _________________ Eigene Webseite:
http://www.eisbaer-studios.de |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 20.12.2004, 23:16 Titel: |
|
|
hm, meine Idee wäre etwa so:
Code: | sub drawGlas(fuellstand!)
line (100,100)-(200,400),15,B
line (101,100)-(199,398-fuellstand!*280),0,bf
line (101,398-fuellstand*280)-(199,399),14,bf
end sub
|
fuellsstand müsste dann als Prozentwert (von 0 bis 1, also 0.5 = halbvoll) übergeben werden, ist aber jetzt nur n Rechteckiges glas mit gelbem (glaub ich, 14 war doch so gelb, oder? ) Inhalt.. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Stormy

Anmeldungsdatum: 10.09.2004 Beiträge: 567 Wohnort: Sachsen - wo die schönen Frauen wachsen ;)
|
|
Nach oben |
|
 |
blümchen88
Anmeldungsdatum: 20.12.2004 Beiträge: 7 Wohnort: monzingen, Rheinland-Pfalz
|
Verfasst am: 22.12.2004, 16:37 Titel: |
|
|
Hallo!
erst mal danke für eure antworten!
@ Stormy: wie funktioniert das mit dem "gif-loader"?
Also unser Projekt ist ein Automat der auf Knopfdruck 3 verschiedene Mischungsverhältnisse für Apfelsaftschorle produziert und das in 2 verschiedenen Größen (200ml und 300ml)!
Jetzt möchten wir wenn die Schorle produziert wir, dass ein Bild oder Animation erscheint.
Das währe bei 1210, 1310, 1410 und 2210, 2310, 2410 (siehe Programm).
Unser Programm sieht so aus (wir benutzen ein mulitface-74 Duo da):
1 CLS
5 PRINT
10 PRINT
20 REM Programm von **** & ****
30 REM MixFix - Apelschorle auf Knopfdruck
35 REM Abfrage ob kleine oder groáe Apelsaftschorel
40 PRINT "Guten Tag! M”chten sie eine leckere Apelsaftschorle geniesen?"
45 PRINT
50 PRINT "Bitte w„hlen sie!"
55 PRINT
60 INPUT "M”chten sie eine kleine Apfelsaftschorle mit 200ml (j/n)"; kl
70 PRINT
80 INPUT " Oder eine groáe Apfelsaftschorle mit 300ml (j/n)"; gr
90 IF kl = n THEN GOTO 80
100 IF kl = j THEN GOTO 1000
110 IF gr = j THEN GOTO 2000
120 IF gr = n THEN PRINT "Vielen Dank f?r ihren Besuch!": GOTO 1
1000 REM Kleine Apfelsaftschorle
1010 PRINT "Sie haben sich f?r eine kleine Apfelsaftschorle entschieden"
1020 PRINT "Es stehen ihnen 3 verschiedene Mischungsverh„ltnisse zur Verf?gung"
1030 PRINT "W„hlen sie eine zahl!"
1040 PRINT "1) 50% Apfelsaft - 50% Sprudel"
1050 PRINT "2) 75% Apfelsaft - 25% Sprudel"
1060 PRINT "3) 25% Apfelsaft - 75% Sprudel"
1070 INPUT "F?r welches Verh„ltniss haben sie sich entschieden (Zahl) "; V
1160 IF V = 1 THEN GOTO 1200
1170 IF V = 2 THEN GOTO 1300
1180 IF V = 3 THEN GOTO 1400
1200 REM kleine Apfelsaftschorle: Verh„ltniss 1: 50% Apfelsaft - 50% Sprudel
1210 ein 1
1220 ein 8
1230 FOR A = 1 TO 16000: NEXT
1240 aus 1
1250 aus 8
1300 REM kleine Apfelsaftschorle: Verh„ltniss 2: 75% Apfelsaft - 25% Sprudel
1310 ein 1
1320 ein 8
1330 FOR A = 1 TO 8000: NEXT
1340 aus 8
1350 FOR A = 1 TO 16000: NEXT
1360 aus 1
1400 REM kleine Apfelsaftschorle: Verh„ltniss 3: 25% Apfelsaft - 75% Sprudel
1410 ein 1
1420 ein 8
1430 FOR A = 1 TO 8000: NEXT
1440 aus 1
1450 FOR A = 1 TO 16000: NEXT
1460 aus 8
2000 REM Groáe Apfelsaftschorle
2010 PRINT "Sie haben sich f?r eine groáe Apfelsaftschorle entschieden"
2020 PRINT "Es stehen ihnen 3 verschiedene Mischungsverh„ltnisse zur Verf?gung"
2030 PRINT "W„hlen sie eine Zahl!"
2040 PRINT "1) 50% Apfelsaft - 50% Sprudel"
2050 PRINT "2) 75% Apfelsaft - 25% Sprudel"
2060 PRINT "3) 25% Apfelsaft - 75% Sprudel"
2070 INPUT "F?r welches Verh„ltniss haben sie sich entschieden (Zahl)"; V
2160 IF V = 1 THEN GOTO 2200
2170 IF V = 2 THEN GOTO 2300
2180 IF V = 3 THEN GOTO 2400
2200 REM groáe Apfelsaftschorle: Vrh„ltniss 1: 50% - 50%
2210 ein 1
2220 ein 8
2230 FOR A = 1 TO 22555: NEXT
2240 aus 1
2250 aus 8
2300 REM groáe Apfelsaftschorle: Verha„ltniss 2: 75% - 25%
2310 ein 1
2320 ein 8
2330 FOR A = 1 TO 11277
2340 aus 8
2350 FOR A = 1 TO 33833
2360 aus 1
2400 REM groáe Apfelsaftschorle: Verh„ltniss 3: 25% - 75%
2410 ein 1
2420 ein 8
2430 FOR A = 1 TO 11277
2440 aus 1
2450 FOR A = 1 TO 33833
2460 aus 8
Zuletzt bearbeitet von blümchen88 am 25.03.2007, 23:09, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 23.12.2004, 13:17 Titel: |
|
|
Hallo !
Wenn ihr das so machen wollt, das während des Befüllens der Flüssigkeitspegel in der Bechergrafik ansteigt, müsstet ihr das jedesmal in die Warteschleifen zwischen Ein- und Ausschalten einbauen. Das würde die Laufzeiten der Schleifen allerdings wieder beeinflussen. Wäre wahrscheinlich besser, ihr würdet Apfelsaft- und Sprudelzulauf mit TIMER messen. Die Frage ist, welchen Aufwand ihr mit der Grafik treiben wollt. Wenn es eine einfache Strichgrafik tut, ist das relativ einfach. Der LINE-Befehl reicht dazu eigentlich schon aus. Wie wär's denn noch mit ner Lichtschranke, um zu prüfen ob wirklich ein Becher unterm Zapfhahn steht ?
Ihr arbeitet mit einem Multiface ? Vielleicht könnt ihr ja jemandem weiterhelfen. Seht mal hier nach: http://forum.qbasic.at/viewtopic.php?t=126&start=0&postdays=0&postorder=asc&highlight=
Gruss
Skilltronic |
|
Nach oben |
|
 |
blümchen88
Anmeldungsdatum: 20.12.2004 Beiträge: 7 Wohnort: monzingen, Rheinland-Pfalz
|
Verfasst am: 23.12.2004, 16:10 Titel: |
|
|
gute idee mit der lichtschranke.
leider sind momentan ferien!
kann also erst in 2 wochen wieder an den schulcomputer und testen...
wie mach ich das mit der lichtschranke?
...muss ich das an den digital-analog wandler anschliesen? :fragezeichen:
wollte eigendlich schon eine anspruchsvollere grafik! weiß aber nicht ob das die alten pc´s mit machen!
die haben alle nur win 3.1 in der schule!
außerdem müsst ich dann ja selbst ne amimation programieren
und das liegt leider noch weit überdem rand meines wissens!  |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
|
Nach oben |
|
 |
blümchen88
Anmeldungsdatum: 20.12.2004 Beiträge: 7 Wohnort: monzingen, Rheinland-Pfalz
|
Verfasst am: 23.12.2004, 17:04 Titel: |
|
|
hab schon en bissel gegoogelt aber nix brauchbares gefunden! muss also warscheinlich en bild selber malen
hab von grafik in basic keine ahnung! könntes jemand mal en kleines beispiel posten?
@Skilltronic: wie kann ich die "for-next schleife" durch "timer" ersetzten? und warum ist der gif-loader nit gut? bzw wie funktionert der überhaupt?
!danke für alle antworten!
grüße vom blümchen88 |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 23.12.2004, 17:20 Titel: Antworten |
|
|
Hallo.
Einen GIF-Loader für animierte GIFs in QB gibt es soweit ich weiß noch gar nicht. Der kommt als "Weltpremiere" vermutlich mit der neuen AK-Lib.
Bei google unter Bildersuche wird sich doch wohl ein Saftglas finden?!
Zur Schleife: Auf einem 486er dauert ein FOR i%=1 TO 20000:NEXT i% ewig und auf einem Athlon XP 2800+ merkt man die gar nicht. Mit Timer kann man die genaue Wartezeit in Sekunden und Sekundenbruchteilen angeben.
Beispiel:
Code: | t! = TIMER
DO:LOOP UNTIL TIMER>t! +1.4 |
Diese kleine Anweisung verursacht eine Wartezeit von 1,4 Sekunden.
Das ist viel genauer.
Ich mach dir mal gerade in QB ein Saftglas mit LINE und dann kannst du ja schauen, ob dir das gefällt.
Unter www.qbasic.de kannst du dir im Downloadbereich QuickBasic 4.5 herunterladen. Damit kannst du dann auch prima testen, wie's dir gefällt.
GET und PUT brauchst du nur, wenn dir das mit LINE nicht reicht.
Viele Grüße!
Sebastian |
|
Nach oben |
|
 |
Mecki Igel

Anmeldungsdatum: 10.09.2004 Beiträge: 985 Wohnort: Niederbayern
|
Verfasst am: 23.12.2004, 19:08 Titel: |
|
|
Doch, es gibt schon GIF-Loader, wo man einstellen kann, welches Bild geladen werden soll. Da gibts dann aber Probleme, wenn das Bild ein vorhergehendes (das ja nicht gezeichnet wurde, wegen der "Direktanzahl") nur erweitert, also nur einen Teil austauscht.
Und auch, wenn man die Animation am Stück laufen lassen will, dauert das Dekomprimieren der GIF leider viel zu lange.
Aber geben tuts alles Und wenn nicht, dann sollte man's mal machen
Grüßle und bis heute im Chat,
Mecki _________________ » Yodl.de: So sucht man gestern.
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 23.12.2004, 21:45 Titel: |
|
|
Ich hatte mal ganz früher noch in GW-BASIC etwas ganz Ähnliches programmiert: Herunterbrennende Kerze. Download unter
http://beilagen.dreael.ch/QB/KERZE2.BAS
Übrigens hatte dieses Programm eine zur jetzigen Weihnachtszeit passende Entstehungsgeschichte: In der Firma, wo ich seinerzeit als Azubi angestellt war, durfte man aus brandschutzsicherheitstechnischen Gründen keine Kerze in den Büros während der Adventszeit anzünden. Da hatte jener Werkstattmeister, wo ich gerade tätig war, aus Spass die Idee gesagt, ob man nicht auf dem PC wenigstens eine Kerze anzünden dürfe. Und so entstand das oben gezeigte Programm.
Übrigens verwendet es technisch einen XOR-PUT-"Stempel" um jeweils die Kerze um einen Pixel zu verkleinern. Das Trinkglasproblem hier kann man übrigens ganz ähnlich lösen! :-)
In dem Sinn steht also für morgen jedem der geeignete Kerzenersatz hier als Programm zur Verfügung. :-) _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 23.12.2004, 22:39 Titel: Glas |
|
|
Hallo.
Aus dreaels Kerzenprinzip lässt sich sicher was Schöneres machen, wie ich hier gerad zusammengeklimpert habe, aber es ist ganz einfach und nicht mal 1KB groß...
Code: | 'Primitiv-Programm "Saftanimation"
'Grafisch nicht aufwendig, aber einfach.
SCREEN 9, , 0, 1
fuellstand% = 0
DO
fuellstand% = fuellstand% + 1
GOSUB GlasZeichnen
GOSUB SaftAnzeigen
GOSUB Eichstriche
PCOPY 0, 1
GOSUB Warten
LOOP
END
GlasZeichnen:
LINE (0, 0)-(640, 350), 0, BF
LINE (220, 20)-(420, 330), 7, B
LINE (221, 20)-(419, 20), 0
RETURN
Eichstriche:
FOR i% = 50 TO 320 STEP 20
LINE (220, i%)-(240, i%), 7
NEXT i%
RETURN
SaftAnzeigen:
G% = 308
EinProzent% = G% / 100
FuellHoehe% = FIX(CSNG(EinProzent% * fuellstand%))
LINE (221, G% - FuellHoehe%)-(419, 329), 14, BF
IF G% - FuellHoehe% < 21 THEN
SOUND 200, 1
SOUND 500, 1
SOUND 200, 1
SOUND 500, 1
SLEEP: END
END IF
RETURN
Warten:
t! = TIMER
DO: LOOP UNTIL TIMER > t! + .05
RETURN |
Viele Grüße!
Sebastian |
|
Nach oben |
|
 |
ah8982

Anmeldungsdatum: 11.09.2004 Beiträge: 62 Wohnort: Ba-Wü
|
Verfasst am: 25.12.2004, 14:47 Titel: Code |
|
|
Hallo,
habe mal erlaubt den Code neu zu schreiben. Finde ihn so viel übersichtlicher.
Code: | DECLARE SUB ApfelsaftKlein ()
DECLARE SUB ApfelsaftGross ()
' +-----------------------------------+
' | MixFix - Apfelschorle nach Wunsch |
' | Von Andreas Hoever, 2004 |
' +-----------------------------------+
CLS
DO
LOCATE 1, 24
PRINT "MixFix - Apfelschorle nach Wunsch"
LOCATE 3
PRINT "Guten Tag! M”chten Sie ein leckeres Apfelsaftschorle genieáen?"
PRINT "Bitte w„hlen Sie:"
PRINT
PRINT "Kleines Apfelsaftschorle ... [1]"
PRINT "Groáes Apfelsaftschorle .... [2]"
PRINT
PRINT "Beenden .................... [X]"
Taste$ = UCASE$(INKEY$)
SELECT CASE Taste$
CASE IS = "1"
CALL ApfelsaftKlein
CASE IS = "2"
CALL ApfelsaftGross
CASE IS = "X"
CLS
END
END SELECT
LOOP
SUB ApfelsaftGross ()
CLS
LOCATE 1, 24
PRINT "MixFix - Apfelschorle nach Wunsch"
LOCATE 3
PRINT "Sie haben sich f?r ein groáes Apfelsaftschorle enschieden."
PRINT "Es stehen Ihnen drei verschiedene Mischungsverh„ltnisse zur Verf?gung."
PRINT
PRINT "Bitte w„hlen Sie:"
PRINT "50 % Apfelsaft - 50 % Sprudel ... [1]"
PRINT "75 % Apfelsaft - 25 % Sprudel ... [2]"
PRINT "25 % Apfelsaft - 75 % Sprudel ... [3]"
DO
Key$ = UCASE$(INKEY$)
SELECT CASE Key$
CASE IS = "1"
T! = TIMER
PRINT "Folgendes Getr„nk wurde gew„hlt: 50 % Apfelsaft - 50 % Sprudel"
DO: LOOP UNTIL TIMER > T! + 2.4
CLS
EXIT SUB
CASE IS = "2"
T! = TIMER
PRINT "Folgendes Getr„nk wurde gew„hlt: 75 % Apfelsaft - 25 % Sprudel"
DO: LOOP UNTIL TIMER > T! + 3.1
CLS
EXIT SUB
CASE IS = "3"
T! = TIMER
PRINT "Folgendes Getr„nk wurde gew„hlt: 25 % Apfelsaft - 75 % Sprudel"
DO: LOOP UNTIL TIMER > T! + 3.1
CLS
EXIT SUB
END SELECT
LOOP
END SUB
SUB ApfelsaftKlein ()
CLS
LOCATE 1, 24
PRINT "MixFix - Apfelschorle nach Wunsch"
LOCATE 3
PRINT "Sie haben sich f?r ein kleines Apfelsaftschorle enschieden."
PRINT "Es stehen Ihnen drei verschiedene Mischungsverh„ltnisse zur Verf?gung."
PRINT
PRINT "Bitte w„hlen Sie:"
PRINT "50 % Apfelsaft - 50 % Sprudel ... [1]"
PRINT "75 % Apfelsaft - 25 % Sprudel ... [2]"
PRINT "25 % Apfelsaft - 75 % Sprudel ... [3]"
PRINT
DO
Key$ = UCASE$(INKEY$)
SELECT CASE Key$
CASE IS = "1"
T! = TIMER
PRINT "Folgendes Getr„nk wurde gew„hlt: 50 % Apfelsaft - 50 % Sprudel"
DO: LOOP UNTIL TIMER > T! + 1.4
CLS
EXIT SUB
CASE IS = "2"
T! = TIMER
PRINT "Folgendes Getr„nk wurde gew„hlt: 75 % Apfelsaft - 25 % Sprudel"
DO: LOOP UNTIL TIMER > T! + 2.1
CLS
EXIT SUB
CASE IS = "3"
T! = TIMER
PRINT "Folgendes Getr„nk wurde gew„hlt: 25 % Apfelsaft - 75 % Sprudel"
DO: LOOP UNTIL TIMER > T! + 2.1
CLS
EXIT SUB
END SELECT
LOOP
END SUB |
Wenn du willst, kannst du ihn benutzen.
Gruß
ah8982
PS: Die Grafikausgabe hab ich nicht implementiert. |
|
Nach oben |
|
 |
blümchen88
Anmeldungsdatum: 20.12.2004 Beiträge: 7 Wohnort: monzingen, Rheinland-Pfalz
|
Verfasst am: 25.12.2004, 17:02 Titel: |
|
|
DANKE SEBASTIAN!!!
DANKE AH8982!!!
seid beide echt zwei schatzis!
die saftanimation is klasse! aber wie schaffe ich es das die animation paralell zum motor läuft also zum beispiel in meinem programm nach 1220?
geht das überhaubt bei basic?
das doofe ist, ich kann erst wieder am 9 jan. es mit dem multiface ausprobieren, weil ich ja immernoch ferien hab!
@ AH8982: wo werden im deinem code die motoren (ein 1; ein 8, aus 1;...) geschaltet?
ich versteh da en paar befehle nit (bin ja erst ANFÄNGER)!
gibts es ne page wo alle befehle stehen? |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 25.12.2004, 17:24 Titel: Motor |
|
|
Hallo.
Du könntest stoppen, wie lange das Einfüllen dauert und dann die Animation entsprechend hinzögern oder verkürzen.
Unter Warten: müsstest du 0.05 gegen einen anderen Wert austauschen oder zur Not gegen eine Schleife (FOR i%=1 TO 1000:NEXT i%) austauschen, obwohl das normalerweise nicht so gut ist.
Da sich das Ganze aber nach einem Bastelprojekt anhört, wird es vermutlich auch nur auf einem PC laufen sollen. Denn:
FOR i%=1 TO 1000:NEXT i% dauert auf einem 486er vielleicht 0,2 Sekunden und auf einem heutigen Athlon ist es schon nicht mehr messbar schnell.
Das muss also auf den jeweiligen PC abgestimmt werden.
Die andere Möglichkeit, die wohl auch viel schwerer ist, ist, mit Lichtschranken den Füllstand zu überprüfen und das Glas anhand dieser Informationen zu animieren. Auch möglich wäre eine Waage unterm Glas, die ihre Werte an den PC liefert, um nach dem Gewicht die Animation zu steuern.
Viele Grüße & frohe Weihnachten!
Sebastian _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
ah8982

Anmeldungsdatum: 11.09.2004 Beiträge: 62 Wohnort: Ba-Wü
|
Verfasst am: 25.12.2004, 22:31 Titel: re |
|
|
@blümchen88
Das mit dem Motor hab ich jetzt net berücksichtig, aber das kannst du ganz einfach einfügen.  |
|
Nach oben |
|
 |
Skilltronic

Anmeldungsdatum: 10.09.2004 Beiträge: 1148 Wohnort: Köln
|
Verfasst am: 28.12.2004, 20:58 Titel: |
|
|
Hallo !
Ich habe auch mal was geschrieben. Mein Programm deckt eigentlich alles ab. Die Auswahl, das Schalten der Pumpen sowie eine parallel dazu laufende einfachst-Grafik. Der einzige Schönheitsfehler ist noch, dass der Pegel nicht langsamer steigt, wenn nur noch eine Pumpe läuft. Dafür funktioniert die Steuerung mit TIMER und nicht mit Warteschleifen. So sollte es unabhängig von der Rechnergeschwindigkeit funktionieren. Dazu musst du nur die Zeit stoppen, die eine Pumpe braucht um 25ml zu fördern. Dieser Wert in Sekunden muss dann noch anstelle der 1 in Zeile 10 für t25 eingesetzt werden. Vielleicht messt ihr mal die Zeit für 250ml und teilt das durch 10 oder so. Und beide Pumpen müssen gleich schnell sein, aber das scheint ja der Fall zu sein.
Natürlich musst du bei den Anweisungen für das multiface wie "ein = 1" noch die Gleichheitszeichen wegmachen. Die hab' ich nur eingesetzt, um das Programm ohne den Rahmen der mface.bas laufen lassen zu können.
Code: | 10 t25 = 1 'Zeitkonstante f?uer 25ml Saft oder Sprudel
20 SCREEN 12
22 KEY(1) ON
23 ON KEY(1) GOSUB 2000 'Notaus
30 '********************** Auswahlmenue *************************
40 CLS : LOCATE 30, 1: PRINT "Notaus mit F1": LOCATE 1, 1
50 PRINT "Waehlen sie bitte."
60 PRINT
70 PRINT "(1) kleine Apfelsaftschorle"
80 PRINT "(2) grosse Apfelsaftschorle"
90 taste$ = INKEY$
100 IF taste$ = "" THEN 90
110 gr = ASC(taste$) - 48
120 IF gr < 1 OR gr > 2 THEN 90
130 IF gr = 2 THEN gr = 1.5
140 CLS : LOCATE 30, 1: PRINT "Notaus mit F1": LOCATE 1, 1
150 PRINT "Sie haben sich fue?r eine ";
160 IF gr = 1 THEN PRINT "kleine"; ELSE PRINT "grosse";
170 PRINT " Apfelsaftschorle entschieden."
180 PRINT : PRINT "Waehlen sie nun das Mischungsverhaeltnis:"
190 PRINT
200 PRINT " Saft Sprudel"
210 PRINT "--------------------"
220 PRINT "(1) 75% 25%"
230 PRINT "(2) 50% 50%"
240 PRINT "(3) 25% 75%"
250 PRINT "(0) Zurueck"
260 taste$ = INKEY$
270 IF taste$ = "" THEN 260
280 mv = ASC(taste$) - 48
290 IF mv < 0 OR mv > 3 THEN 260
300 IF mv = 0 THEN 20
1000 '********************* Befuellen **************************
1010 CLS : LOCATE 30, 1: PRINT "Notaus mit F1": LOCATE 1, 1
1020 PRINT "Bitte warten..."
1030 LINE (99, 100)-(201, 261), 15, B 'Glas zeichnen
1040 LINE (100, 100)-(200, 100), 0
1050 tsaft = t25 * (4 - mv) * 2 * gr
1060 tlimo = t25 * mv * 2 * gr
1070 IF tsaft > tlimo THEN tmax = tsaft ELSE tmax = tlimo
1080 ein = 1 'Saft an
1090 ein = 8 'Limo an
1100 tstart = TIMER
1110 dt = TIMER - tstart
1120 IF dt >= tsaft THEN aus = 1 'Saft aus
1130 IF dt >= tlimo THEN aus = 8 'Limo aus
1140 hoehe = 260 - 100 * gr * dt / tmax 'Saftgrafik steigt
1150 LINE (100, 260)-(200, hoehe), 14, BF
1160 IF dt < tsaft OR dt < tlimo THEN 1110
1170 LOCATE 1, 1
1180 PRINT "Fertig. Bitte entnehmen sie den Becher."
1190 SLEEP 3 '3 Sek. warten
1200 GOTO 30 'zurueck z. Anfang
2000 '********************** Notaus *****************************
2010 aus = 1
2020 aus = 8
2030 END
|
Wenn du noch eine Lichtschranke o.ä. einbauen willst, schreibe noch mal. Das multiface hat soweit ich weiss auch einen analogen Eingang. Damit sollte das ganz leicht zu machen sein.
Gruss
Skilltronic _________________ Elektronik und QB? www.skilltronics.de ! |
|
Nach oben |
|
 |
ah8982

Anmeldungsdatum: 11.09.2004 Beiträge: 62 Wohnort: Ba-Wü
|
Verfasst am: 07.01.2005, 21:55 Titel: |
|
|
Hab mir nochmal sie Mühe gemacht, und MixFix für Windows geschrieben. Auf wunsch werde ich den Code posten.  |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
|
|
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.
|
|