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:

grafiken: glas befüllen
Gehe zu Seite 1, 2  Weiter
 
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
blümchen88



Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: monzingen, Rheinland-Pfalz

BeitragVerfasst am: 20.12.2004, 20:24    Titel: grafiken: glas befüllen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Eisbaer



Anmeldungsdatum: 16.10.2004
Beiträge: 354
Wohnort: Deutschland,Bayern

BeitragVerfasst am: 20.12.2004, 23:13    Titel: Re. Glas Antworten mit Zitat

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 zwinkern
_________________
Eigene Webseite:
http://www.eisbaer-studios.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 20.12.2004, 23:16    Titel: Antworten mit Zitat

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? grinsen ) 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
Benutzer-Profile anzeigen Private Nachricht senden
Stormy



Anmeldungsdatum: 10.09.2004
Beiträge: 567
Wohnort: Sachsen - wo die schönen Frauen wachsen ;)

BeitragVerfasst am: 21.12.2004, 06:47    Titel: Antworten mit Zitat

Ach hier habt die technische Seite abgedeckt? Interessant, also ich würde die Grafiken in einer Gif-Animation erstellen und mit einem GIF-Loader anzeigen lassen.

Im Internet finden sich auch einige Quellen dazu... (zB Google-Bildersuche)
_________________
+++ QB-City +++ Die virtuelle Stadt für jeden Freelancer - Join the community!
Projekte: QB-City,MysticWorld (RPG), 2D-OpenGL-Tutorial
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
blümchen88



Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: monzingen, Rheinland-Pfalz

BeitragVerfasst am: 22.12.2004, 16:37    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Skilltronic



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

BeitragVerfasst am: 23.12.2004, 13:17    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
blümchen88



Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: monzingen, Rheinland-Pfalz

BeitragVerfasst am: 23.12.2004, 16:10    Titel: Antworten mit Zitat

gute idee mit der lichtschranke.
leider sind momentan ferien! weinen
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! traurig
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 23.12.2004, 16:17    Titel: Antworten mit Zitat

Hi Blümchen lächeln


Also ich würde vorschlagen, lediglich ein schönes Hintergrundbild mit einem Glas drauf aus dem Netz zu laden, und die "Ellipse", die den 3d-Füllstand anzeigt, anschließend einmal zu GETten und mit PUT steigen und fallen zu lassen.
Von der GIF-Lösung halte ich sehr wenig.

Grüßle,
Mecki
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
blümchen88



Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: monzingen, Rheinland-Pfalz

BeitragVerfasst am: 23.12.2004, 17:04    Titel: Antworten mit Zitat

hab schon en bissel gegoogelt aber nix brauchbares gefunden! muss also warscheinlich en bild selber malen mit den Augen rollen

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 23.12.2004, 17:20    Titel: Antworten Antworten mit Zitat

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. zwinkern

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. lächeln

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mecki
Igel


Anmeldungsdatum: 10.09.2004
Beiträge: 985
Wohnort: Niederbayern

BeitragVerfasst am: 23.12.2004, 19:08    Titel: Antworten mit Zitat

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 lächeln Und wenn nicht, dann sollte man's mal machen zwinkern

Grüßle und bis heute im Chat,
Mecki
_________________
» Yodl.de: So sucht man gestern. verwundert
» Geld verdienen im Netz + ICQ.
» Firefox!
» 100€ zu gewinnen
» FreeBASIC.de
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name Yahoo Messenger MSN Messenger
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 23.12.2004, 21:45    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 23.12.2004, 22:39    Titel: Glas Antworten mit Zitat

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ß... zwinkern

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ah8982



Anmeldungsdatum: 11.09.2004
Beiträge: 62
Wohnort: Ba-Wü

BeitragVerfasst am: 25.12.2004, 14:47    Titel: Code Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
blümchen88



Anmeldungsdatum: 20.12.2004
Beiträge: 7
Wohnort: monzingen, Rheinland-Pfalz

BeitragVerfasst am: 25.12.2004, 17:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 25.12.2004, 17:24    Titel: Motor Antworten mit Zitat

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. zwinkern
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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ah8982



Anmeldungsdatum: 11.09.2004
Beiträge: 62
Wohnort: Ba-Wü

BeitragVerfasst am: 25.12.2004, 22:31    Titel: re Antworten mit Zitat

@blümchen88

Das mit dem Motor hab ich jetzt net berücksichtig, aber das kannst du ganz einfach einfügen. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Skilltronic



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

BeitragVerfasst am: 28.12.2004, 20:58    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ah8982



Anmeldungsdatum: 11.09.2004
Beiträge: 62
Wohnort: Ba-Wü

BeitragVerfasst am: 07.01.2005, 21:55    Titel: Antworten mit Zitat

Hab mir nochmal sie Mühe gemacht, und MixFix für Windows geschrieben. Zunge rausstrecken Auf wunsch werde ich den Code posten. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 07.01.2005, 22:18    Titel: Antworten mit Zitat

Bin von dem Programm und dieser tollen Aufmachung echt begeistert... Zunge rausstrecken
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail 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 1, 2  Weiter
Seite 1 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