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:

progsteel für spiele nicht gut!

 
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
Hugo



Anmeldungsdatum: 13.11.2005
Beiträge: 32

BeitragVerfasst am: 12.08.2006, 16:14    Titel: progsteel für spiele nicht gut! Antworten mit Zitat

Code:
dim xt as double
dim yt as double
screen 20
yt=732


do

for i=1 to 5 step 1
   
getmouse xm,ym,rm

xe=xm-xt
ye=ym-yt

factor=sqr(xe^2+ye^2)

endfactor=factor/19

xok=xe/endfactor
yok=ye/endfactor

if multikey(&h4b) then
    xt-=0.35
end if

if multikey(&h4D) then
    xt+=0.35
end if


line (xt,yt)-(xok+xt,yok+732)
circle (xt,yt),5,3
next
sleep (20)
cls
   
   
loop until multikey(&h01)


das ist mein tipischer prog.steel, aber wenn ich dieses spielchen hier aufmotzen (bzw. mehr objekte machen) will wird es immer zu langsam.
wer weiß hilfe?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

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

Hi,
jeder hat so seinen eigenen Programmierstiel zwinkern

Die langsame Programmausführung hast du durch
Code:
sleep 20  'warte 20ms
cls       'lösche den ganzen Screen
eingebaut.
Mein Vorschlag:
Code:
Dim As Integer i,xm, ym, rm, xt, yt, endfactor, b, h
Screen 19
Screeninfo b,h 'so funktioniert das auch bei anderen Auflösungen
yt=h-6
Do
  Circle (xt,yt),30,0,,,,F          'überschreibt altes Objekt
  Getmouse xm,ym,rm
  xe=xm-xt
  ye=ym-yt
  endfactor=Sqr((xe*xe)+(ye*ye))/19
  If endfactor <1 Then endfactor=1 'Maus auf dem Objekt?
  xok=xe/endfactor
  yok=ye/endfactor
  If Multikey(&h4b) Then
    xt-=5
  End If
  If Multikey(&h4D) Then
    xt+=5
  End If
  If xt < 5 Then xt=5      'sonst verschwindet das Objekt
  If xt > b-5 Then xt=b-5
  Line (xt,yt)-(xok+xt,yok+yt),15
  Circle (xt,yt),5,3
  Screensync               'wartet bis Screen dargestellt
  Sleep 1                  'senkt die cpu-Last
Loop Until Multikey(&h01)
Wenn du weitere Objekte einbaust werden die nicht automatisch gelöscht (wie bei cls), du musst sie überschreiben.
Gruß Volta
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hugo



Anmeldungsdatum: 13.11.2005
Beiträge: 32

BeitragVerfasst am: 12.08.2006, 22:28    Titel: jup Antworten mit Zitat

cool danke! des sieht schon profesioneller aus!
ich hätt noch ne frage dazu:
mit dem circle(....),,,,F <- also das mit dem F hab ich geblickt! aber des geht net mit ner linie... geht des au mit nem viereck oder so?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hugo



Anmeldungsdatum: 13.11.2005
Beiträge: 32

BeitragVerfasst am: 12.08.2006, 23:01    Titel: Antworten mit Zitat

achso ich glaub ich blicks, du füllst da nähmlich einen stinknormalen kreis aus! klar! drum wird in den alten spielen warscheinlich auch immer in vierecken programmiert. Weil sie da einfach ein viereck rausschneiden!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael Frey



Anmeldungsdatum: 18.12.2004
Beiträge: 2577
Wohnort: Schweiz

BeitragVerfasst am: 13.08.2006, 09:00    Titel: Re: jup Antworten mit Zitat

Hugo hat Folgendes geschrieben:
aber des geht net mit ner linie... geht des au mit nem viereck oder so?

Meinst du das?
Code:
screen 20
LINE (10, 10)-(50, 90),4, BF
sleep

Code:
screen 20
LINE (10, 10)-(50, 90),4, B
sleep

_________________
http://de.wikibooks.org/wiki/FreeBasic Jede Hilfe für dieses Buch ist Willkommen!
http://de.wikibooks.org/wiki/FreeBasic:_FAQ FAQ zu Freebasic (im Aufbau, hilfe Willkommen)
Neu mit Syntax Highlight
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Hugo



Anmeldungsdatum: 13.11.2005
Beiträge: 32

BeitragVerfasst am: 13.08.2006, 09:32    Titel: Antworten mit Zitat

ah, ok danke!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dusky_Joe



Anmeldungsdatum: 07.01.2005
Beiträge: 1007
Wohnort: Regensburg/Oberpfalz

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

Da du die Flags von CIRCLE und LINE noch nicht kennst, denke ich mal, dass dir bis jetzt auch die Befehlsreferenz unbekannt sein dürfte. Hier der vorläufige Link:

http://home.arcor.de/ssteiner/fbref/

Da steht zu jeden Befehl so ziemlich alles drin.
_________________
fully biological degradable

Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Hugo



Anmeldungsdatum: 13.11.2005
Beiträge: 32

BeitragVerfasst am: 14.08.2006, 10:20    Titel: Antworten mit Zitat

auch ein danke für des teil, des sieht echt gut aus, d.h. ist echt voll gut erklärt! Hammer Yahooo!!!!

Editiert durch Moderator: Überflüssige Smilies entfernt. Ich weise darauf hin das dies hier ein Forum ist und nicht Imageshack! (A.K.)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Michael712
aka anfänger, programmierer


Anmeldungsdatum: 26.03.2005
Beiträge: 1593

BeitragVerfasst am: 14.08.2006, 14:11    Titel: Antworten mit Zitat

Sorry, aber musst du immer so viele Smilies machen?
In mindestens 2 posts von dir wurden schon viele smilies entfernt, und du machst immer noch weiter.
Das nervt, und desswegen bitte ich dich, beim nächsten mal HÖCHSTENS 3 smileys zu machen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Hugo



Anmeldungsdatum: 13.11.2005
Beiträge: 32

BeitragVerfasst am: 14.08.2006, 17:12    Titel: Antworten mit Zitat

ok, alles klar.... ich will hier ja nicht als spammer enden!
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