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:

Kreise die um kreise kreisen
Gehe zu Seite 1, 2  Weiter
 
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
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 16:18    Titel: Kreise die um kreise kreisen Antworten mit Zitat

Ich will ein Universum für ein spiel machen und dafür benötige icheinen Kreis in der Mitte und darum herum kreise die auf bahnen kreisen. Ich habe so etwas schon einmal gesehen weiß aber nicht mehr wo. Könnt ihr mir helfen? Danke schon mal.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 22.04.2008, 16:28    Titel: Antworten mit Zitat

Läßt sich leicht mit ausrechnen, wenn Du z. B. für die X-Koord. Sinus und für die Y-Koord. den Cosinus von irgendwas nimmst.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 16:30    Titel: Antworten mit Zitat

das kapier ich nich so ganz. also sin und cos und so kenn ich aber kannst mir vll ein codebeispiel geben?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 22.04.2008, 16:33    Titel: Antworten mit Zitat

Ja, habe aber im Moment nicht griffbereit. Heute abend dann zwinkern
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 16:44    Titel: Antworten mit Zitat

ok danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Klößchn
1x verwarnt


Anmeldungsdatum: 22.03.2008
Beiträge: 77
Wohnort: Donauwörth

BeitragVerfasst am: 22.04.2008, 17:27    Titel: Antworten mit Zitat

Code:

Dim X As Integer
Dim Y As Integer
Dim I As Single
screen 18
Do
screenlock
cls
pset(x,y),15
screenunlock
sleep 1
x = (sin(i)*320)+320
y = (sin(i)*240)+240
i += .01
Loop Until Multikey(1)

Sollte so gehn
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 17:41    Titel: Antworten mit Zitat

lächeln lächeln das ja lustig. Sry aber sinn der sache war dass sich der kreis um etwas dreht und nicht auf einer linie hin und her fetzt.
gibts denn irgendwo ein tutorial dafür (ausser beim freebasicportal )?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 22.04.2008, 17:54    Titel: Antworten mit Zitat

Ist es das, was du meinst?
Code:

Dim As Integer x,y
Dim As Single i
Screen 16, 32
Do
   i += 0.01
   x = Sin(i)*50 + 200
   y = Cos(i)*50 + 200
   screenlock
   Cls
   Circle (x,y), 10, &hFFFFFF
   PSet (200,200),&hFFFFFF
   ScreenUnLock
   Sleep 1
Loop Until LCase(InKey) = "q"


MfG Caran

Edit:
Jetzt noch mal etwas besser. happy
Code:
Dim As Integer x,y
Dim As Integer x1,y1
Dim As Single i
Screen 16, 32
Do
   i += 0.005
   x = Sin(i)*100 + 200
   y = Cos(i)*100 + 200
   x1 = Sin(i*2)*75 + x
   y1 = Cos(i*2)*75 + y
   screenlock
   Cls
   Circle (x,y), 50, &hFFFFFF
   Circle (x1,y1), 10, &hFFFFFF
   PSet (200,200),&hFFFFFF
   ScreenUnLock
   Sleep 1
Loop Until LCase(InKey) = "q"

_________________
Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 18:00    Titel: Antworten mit Zitat

genau danke. aber trotzdem noch die Frage gibts für das zeichnen mit Befehlen und das bewegen auf linien und so irgendwo ein tutorial?

und wie kann man den kreis füllen?

das mit der änderung ist perfekt, danke. Nun muss ich nur noch rauskrigen wie ich das auch selber machen kann.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Caran



Anmeldungsdatum: 11.03.2007
Beiträge: 290
Wohnort: Lörrach

BeitragVerfasst am: 22.04.2008, 18:05    Titel: Antworten mit Zitat

Ein Tutorial wüsste ich auf Anhieb nich, aber wie man den Kreis ausfüllt weis ich:
Code:
Circle (x,y), 50, &hFFFFFF,,,,F

Hierzu kann man ja mal in die Befehlsreferenz schauen, was die Funktion Circle noch alles kann.

MfG
_________________
Eine Erkenntnis von heute kann die Tochter eines Irrtums von gestern sein.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 22.04.2008, 18:24    Titel: Antworten mit Zitat

Hier mein Proggy, ursprünglich für QBasic geschrieben (und auch ein bißchen fehlerhaft, aber funzt happy )
Es produziert ein Sonnensystem mit 3 Planeten und einen Mond.
Code:
DECLARE SUB Mond (X!, Y!, K!, G!, P!, Bogen)
DECLARE SUB Zeichnen (X0!, Y0!, K!, G!, P!, Bogen)
DIM SHARED P(1 TO 4): ' Index der Planeten
FOR Ph = 1 TO 4
P(Ph) = Ph
NEXT Ph
DIM SHARED X(1 TO 4), Y(1 TO 4):  'Variablen der aktuellen Parameter
DIM SHARED XA(1 TO 4), YA(1 TO 4):   'Variablen der alten Parameter
DIM SHARED G0(1 TO 4): ' AusgangsgrӇe des Kreises
DIM SHARED G(1 TO 4):  'sichbare Gr”áe des Kreises
DIM SHARED GA(1 TO 4):  ' Gr”áe des alten Kreises
DIM SHARED K(1 TO 4):  ' Kreisbahn
DIM Bogen: Bogen = 3.141592654# / 180
K(1) = 0: K(2) = 0: K(3) = 0: K(4) = 0
CONST X0 = 320, Y0 = 240: 'Variablen der Ausgangskoordinaten
G0(1) = 7: G0(2) = 10: G0(3) = 18: G0(4) = 3 'AusgangsgrӇen der Planeten
SCREEN 12: ' Graphikdarstellung
CLS
CIRCLE (X0, Y0), 25, 15: ' Sonne
DRAW "P15,15"
DO
    FOR PL1 = 0 TO 1
        FOR PL2 = 0 TO 1
            FOR PL3 = 0 TO 2
                CALL Zeichnen(X0, Y0, K(1), G(1), P(1), Bogen)
                K(1) = K(1) + 1
                IF K(1) = 360 THEN K(1) = 0
                Taste$ = INKEY$
                IF Taste$ <> "" THEN EXIT DO
                FOR M = 1 TO 2
                    K(4) = K(4) + 1
                    CALL Mond(X(4), Y(4), K(4), G(4), P(4), Bogen)
                    IF K(4) = 360 THEN K(4) = 0
                NEXT M
            NEXT PL3
            K(2) = K(2) + 1
            CALL Zeichnen(X0, Y0, K(2), G(2), P(2), Bogen)
            IF K(2) = 360 THEN K(2) = 0
        NEXT PL2
        K(3) = K(3) + 1
        CALL Zeichnen(X0, Y0, K(3), G(3), P(3), Bogen)
        IF K(3) = 360 THEN K(3) = 0
    NEXT PL1
LOOP


SUB Mond (X!, Y!, K!, G!, P!, Bogen)
    X(4) = X(2) + SIN(K(4) * Bogen) * P * (15 + 2 * COS(K(2) * Bogen))
    Y(4) = Y(2) + COS(K(4) * Bogen) * P * (6 + 2 * COS(K(2) * Bogen))
    G(P) = G0(P) + COS(K(2) * Bogen) + COS(K(4) * Bogen)
    CIRCLE (XA(P), YA(P)), GA(P), 0: ' alten Kreis berzeichnen
    CIRCLE (X(P), Y(P)), G(P), 7: 'neuen Kreis zeichnen
    XA(P) = X(P): YA(P) = Y(P): GA(P) = G(P): ' šbergabe der Altparameter
END SUB


SUB Zeichnen (X0!, Y0!, K!, G!, P!, Bogen)
    X(P) = X0 + SIN(K(P) * Bogen) * 100 * P: 'Berechnung X-Position aus X0
    Y(P) = Y0 + COS(K(P) * Bogen) * 42 * P: 'Berechnung Y-Position aus Y0
    G(P) = G0(P) + (G0(P) / 2) * COS(K(P) * Bogen): 'Berechnung der Gr”áe aus G0
    CIRCLE (XA(P), YA(P)), GA(P), 0: ' alten Kreis berzeichnen
    CIRCLE (X(P), Y(P)), G(P), 7: 'neuen Kreis zeichnen
    XA(P) = X(P): YA(P) = Y(P): GA(P) = G(P): ' šbergabe der Altparameter
    FOR V = 1 TO 4000: NEXT V: ' Verz”gerung
END SUB

Die Berechnung der Kreisbahn liet in der Sub "Mond".
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 18:33    Titel: Antworten mit Zitat

wow danke nochmal an alle dir mir geholfen haben. Allerdings funzt das letzte nicht in freebasic ohne es zu verändern.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 22.04.2008, 18:54    Titel: Antworten mit Zitat

Ein bisschen Eigeninitiative wäre wünschenswert... Ich seh da eh nicht viel, was es zu ändern gäbe, höchstens die !-Suffice in AS SINGLE umzuwandeln...
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

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

jaja die änderungen werde ich natürlich selbst vornehmen. habe mich falsch ausgedrückt sry. missbilligen missbilligen missbilligen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 19:45    Titel: Antworten mit Zitat

doch noch eine Frage wie kann ich denn nun noch die Farbe der Kreise ändern und was sind das für viele f's?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 22.04.2008, 19:48    Titel: Antworten mit Zitat

Hallo,

du solltest unbedingt mal ein bisschen in der FreeBASIC-Befehlsreferenz stöbern. Beispielsweise diese Seite könnte dir die gesuchte Antwort liefern: http://www.freebasic-portal.de/index.php?s=reftopic&id=98

Außerdem sollten Doppelpostings vermieden werden. Wenn man seine Beiträge im Nachhinein noch ergänzen möchte, kann man die Edit-Funktion des Forums benutzen. zwinkern

Viele Grüße!
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
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 19:51    Titel: Antworten mit Zitat

ok habe ich bisher auch vermieden, das war ein versehen. und mit dem color befehl gehts net, hab ich schon versucht. trotzdem danke.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
nemored



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

BeitragVerfasst am: 22.04.2008, 20:07    Titel: Antworten mit Zitat

Die Farbe bei Kreisen kannst du in der Befehlsreferenz unter dem Befehl CIRCLE finden. Ansonsten empfehle ich, allgemein zu Grafik, all die anderen Befehlslinks, die unten auf der CIRCLE-Seite zu finden sind (insb. auch SCREEN für Auflösung und Farbenzahl).
_________________
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
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 22.04.2008, 20:14    Titel: Antworten mit Zitat

Sippo hat Folgendes geschrieben:
und mit dem color befehl gehts net, hab ich schon versucht. trotzdem danke.

Würdest du den Artikel, den ich dir nicht ganz grundlos verlinkt habe, freundlicherweise bitte wenigstens bis zum Ende durchlesen? Der Abschnitt ab "Die Farbnummern und die zugehörige Farbe [...]" beantwortet deine Frage nach den Fs.
_________________

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
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 22.04.2008, 20:19    Titel: Antworten mit Zitat

sry aber ich glaube ich programmiere heute schon zu lange. peinlich
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
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