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:

Und das mit so wenig Zeilen^^

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 02.11.2007, 21:11    Titel: Und das mit so wenig Zeilen^^ Antworten mit Zitat

Code:
DIM SHARED AS SINGLE circlex, circley,fx1
dim as integer sw,sw2
SCREENres 320,240

DO

if sw=0 then circlex-=1 else circlex+=1
if sw2=0 then circley-=1 else circley+=1
if circlex < INT(RND * 2)+1 then sw = 1
if circlex > 320 then sw = 0
if circley < INT(RND * 2)+1 then sw2 = 1
if circley > 240 then sw2=0
fx1+=1
CIRCLE (circlex, circley), 10, 64+fx1 mod 64

LOOP UNTIL INKEY$ = "Q" or INKEY$ = "q"

_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 02.11.2007, 21:34    Titel: Antworten mit Zitat

Schon mal probiert, mit 'q' zu beenden? zwinkern
Na gut, wenn du es zweimal ganz schnell hintereinander drückst, könnte es sogar klappen. Ich würde lieber
Code:
LOOP UNTIL UCASE(INKEY) = "Q"

nehmen.
_________________
Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



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

BeitragVerfasst am: 02.11.2007, 22:47    Titel: Antworten mit Zitat

altbekannter fehler, wenn Inkey$="q" wird inkey$ bei prüfung auf "Q" geleert, bei der prüfung auf "q" ist inkey also leer.

=>
dim t as string
t=inkey
loop until t="q" or t="Q"

oder in dem q und Q fall eben mit UCASE bzw LCASE. aber du darfst halt nur inkey pro schlaufendurchlauf einmal abrufen sonst verlierst du dein zeichen ständig.
_________________
"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
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 21.12.2007, 14:04    Titel: Antworten mit Zitat

Und schon wieder ein neuer Effekt zwinkern
Code:
const rx = 1024
const ry = 768
screenres rx,ry,,,1
dim as double dx
dim as double speed = .05
dim as double angle = 1
dim control as string
dim as integer x
setmouse ,, 0

do

'if speed < 0 then speed = .005
 speed = .05
 dx+=speed
control = INKEY
    if control = "+" then angle +=.1
    if control = "-" then angle -=.1
    if dx > 250 then dx = speed
    color
    x+=1
    x = x mod 20
line(1,1)-(rx,ry),1,bf
if dx = 0 then exit do
for i as double = 1 to 256 step dx
if x+64 > 128 then x = 15
 color x+64
    line( i  +sin(i)*i/angle,i +cos(i)*i/angle)-( i+1  +sin(i+1)*i+1/angle, i+1 +cos(i+1)*i+1/angle)
    line( i  +sin(i)*i/angle,ry/2 +i +cos(i)*i/angle)-( i+1  +sin(i+1)*i+1/angle, ry/2 + i+1 +cos(i+1)*i+1/angle)
    line(rx/2 +i  +sin(i)*i/angle,ry/2+i +cos(i)*i/angle)-(rx/2 + i+1  +sin(i+1)*i+1/angle,ry/2 + i+1 +cos(i+1)*i+1/angle)
    line( rx/2+i  +sin(i)*i/angle,i +cos(i)*i/angle)-( rx/2+i+1  +sin(i+1)*i+1/angle, i+1 +cos(i+1)*i+1/angle)
next
sleep 10 ' Nicht weglassen..
cls
loop until multikey(&h01)
sleep

_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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