Programm ablauf (wichitg)

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Geeecko

Betreff: Programm ablauf (wichitg)

BeitragDi, Jan 24, 2006 20:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi @ll,
im meinem Spiel gibt es objeckte Wink (is ja eigentlich klar)
z.B. ein Stein soll fallen, das gold aber nicht.
Ich baue nen felay ein... wa spassiert!?! Beides bleibt stehen.
Gibt es ne möglich keit 2 Programm Teile gleichzeitig ablaufen zu lassen?
Der Code wäre sonst sehr lang... Shocked
Shocked

msg Gaia

dimaster

BeitragDi, Jan 24, 2006 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
was is es denn fürn game? 2d oder 3d? beschreib dein problem genauer, bzw. wo du denkst, dass das prob. sein könnte und poste diesen codeteil hier


mfg dimaster

bruZard

Betreff: Re: Programm ablauf (wichitg)

BeitragDi, Jan 24, 2006 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Gaia hat Folgendes geschrieben:
Hi @ll,
im meinem Spiel gibt es objeckte Wink (is ja eigentlich klar)
z.B. ein Stein soll fallen, das gold aber nicht.
Ich baue nen felay ein... wa spassiert!?! Beides bleibt stehen.
Gibt es ne möglich keit 2 Programm Teile gleichzeitig ablaufen zu lassen?
Der Code wäre sonst sehr lang... Shocked
Shocked

msg Gaia


... und jetzt nocheinmal im ganzen Satz: Subjekt - Prädikat - Objekt ... bekommst Du Buntstifte, kannst Du unterstreichen.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

Geeecko

BeitragDi, Jan 24, 2006 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
ahmmmm... jo...
der code exestiert noch net.
Meine Frage:
;Programmteil 1
while not keyhit(1)
print "eheheheh"
wend
;programmteil 2
while not leyhit(2)
print "lolol"
wend


kann ich beiude gleichzeitig ablaufen lassen?

dimaster

BeitragDi, Jan 24, 2006 21:08
Antworten mit Zitat
Benutzer-Profile anzeigen
ähhm wiso machst du 2 schleifen um print auszuführen? was is nochma genau der sinn von dem was du machen willst und nochma 2d oder 3d?

Geeecko

BeitragDi, Jan 24, 2006 21:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist 2D.
Ich verstehe euch net...
Kann ich beide schleifen gleichzeitig ablaufen lassen?

sirokuhl

BeitragDi, Jan 24, 2006 21:12
Antworten mit Zitat
Benutzer-Profile anzeigen
wozu überhaupt
du kannst doch beide printbefehle in eine schleife packen
?!?

Geeecko

BeitragDi, Jan 24, 2006 21:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Ihr versteht es nicht Sad
ich will einfach miene frage beantwortet wissen.
Schreibt einfach: Ja wenn es geht oder nien wenn es ncihjt geht
^^ Very Happy

dimaster

BeitragDi, Jan 24, 2006 21:17
Antworten mit Zitat
Benutzer-Profile anzeigen
wozu denn?
hier ein beispiel wo ein viereck fäll und ein anderes nicht:
Code: [AUSKLAPPEN]

Graphics 640,480,16,1
SetBuffer BackBuffer()

Repeat
Cls
Color 255,0,0
Rect 100,100-y,10,10
Color 0,0,255
Rect 400,100-y1,10,10

If KeyHit(2) Then yfaellt = 1
If KeyHit(3) Then yfaellt1 = 1

If yfaellt = 1 Then y = y-1
If yfaellt1 = 1 Then y1 = y1-1

Color 255,255,255
Text 0,0,"drücke eins oder zwei"
Flip
Until KeyHit(1)

meinste so?

mfg dimaster
 

Florian

BeitragDi, Jan 24, 2006 21:19
Antworten mit Zitat
Benutzer-Profile anzeigen
So?
Code: [AUSKLAPPEN]


Global Programmteil1_Aktiv=True
Global Programmteil2_Aktiv=True
Global Timer=CreateTimer(80)
Global Task_Zahl=2

Repeat
 Task=Task+1
 Select Task
  Case 1
   If Programmteil1_Aktiv=True Then 
    Programmteil1
   EndIf
  Case 2
   If Programmteil2_Aktiv=True Then
    Programmteil2
   EndIf 
  Default
   Task=0
 End Select
 If Task_Zahl=0 Then Exit
 WaitTimer Timer 
Forever 

Print "Ende"
Delay 1000
WaitKey
End

Function Programmteil1()
 If KeyHit(1)=True Then
  Programmteil1_Aktiv=False
  Task_Zahl=Task_Zahl-1
  Return
 EndIf
 Print "eheheheh"
End Function

Function Programmteil2()
 If KeyHit(2)=True Then
  Programmteil2_Aktiv=False
  Task_Zahl=Task_Zahl-1
  Return
 EndIf
 Print "lolol"
End Function
  • Zuletzt bearbeitet von Florian am Di, Jan 24, 2006 21:41, insgesamt einmal bearbeitet

bruZard

BeitragDi, Jan 24, 2006 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe den Thread mal verschoben da der Thread-Ersteller offensichtlich zu den "absoluten Beginnern" gehört.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

miLORD

BeitragDi, Jan 24, 2006 23:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Antwort: Nein, mann kann nicht beide gleichzeitig ablaufen lassen.
Man kann den while-befehl jedoch durch ein if ersetzen, so wird nur die eine schleife ausgeführt, die andere nicht (z.B. bei Gold wird die Fall-schleife nicht ausgeführt, bei stein schon). Ein while handelt das, was in ihm ist immer durch, bis die bedingung nicht mehr erfüllt ist oder "exitet" wird.

Auch deshalb functions oder if nehmen, damit du einen teil hast, der imm repeatet wird, bis du z.B. ESC drückst; und dann werden die functions/if-befehle nahezu zeitgleich ausgeführt, wenn dein code schnell genug ist. es handelt sich nur um millisecunden. nanosekunden. ach kp ^^
brqwq?! oO

Geeecko

Betreff: ANFäNGEROOOooo

BeitragMi, Jan 25, 2006 15:49
Antworten mit Zitat
Benutzer-Profile anzeigen
NEIN, ich bin kein Anfänger!
Ich habe es nur halt nirgends gefunden, ob man zwei teile gleichzeitg ablaufen lassen kann.

Xaron

Betreff: Re: ANFäNGEROOOooo

BeitragMi, Jan 25, 2006 15:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Gaia hat Folgendes geschrieben:
Ich habe es nur halt nirgends gefunden, ob man zwei teile gleichzeitg ablaufen lassen kann.


Das geht mit Blitz3D prinzipiell nicht. Auch sonst gibt es keinen wirklich parallel ablaufenden Code auf Einprozessormaschinen (*weitereinschränk*: ohne Hyperthreading). Der Trick ist, dass es quasi nur so aussieht, als würde es parallel ablaufen.

Es gibt nur wenige Bereiche, wo solche Sachen wie Threads (pseudo-paralleles Abarbeiten) wirklich nötig sind. Für sowas simples jedenfalls nicht. Wink

Gruß - Xaron
Cerberus X - Monkey X Reloaded!

miLORD

BeitragSa, Jan 28, 2006 11:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke, siehe mein Post...

Nein, mann kann nicht beides gleichzeitig ablaufen lassen. Aber fast.

Lesen und nicht nur schreiben hilft manchmal auch... 8)
brqwq?! oO

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group