Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

dynamische Ereignisse!

Ideen sammeln, umsetzen, Fehler ausmerzen, Tipps holen und geben, Fragen stellen, Programmierprobleme lösen...

dynamische Ereignisse!

Beitragvon *Caine » Do 25. Sep 2003, 12:58

Hi,

ich arbeite gerade an einem Spiel und habe mich gefragt, ob es eine Möglichkeit gäbe dynamische Ereignisse zu erstellen!
Das meine ich so: Das zum Beispiel nach so und so viel Stunden/Minuten/Sekunden ein bestimmtes Ereignis geschieht.
:rolleyes:

Wenn jemand von euch eine Idee hätte, wäre ich sehr Dankbar!

Caine

:)
*Caine
 

Re: dynamische Ereignisse!

Beitragvon Bytefish » Do 25. Sep 2003, 14:48

Naja, du willst dass das Spiel (denke mal ein Rollenspiel) ganz normal weiterläuft währenddessen?

Das liesse sich natürlich so machen dass du einfach ne Zahl ne Weile hochzählen lässt in der Hauptschleife des Games. Und wenn die Zahl ne bestimmte Größe erreicht hat löste einfach die Aktion aus, die kommen soll.

Aber da kommen noch ne Menge Faktoren dazu, wenn dein code länger wird, dauert es ne weile länger da der casio den ganzen code ja erst interpretieren muss.

Mir kommt im Moment keine andere Methode in den Sinn. :)
Oder kann der Casio schon Multithreading?

Denke nicht, also bye. :)


[Editiert durch Bytefish am Donnerstag, September 25, 2003 @ 15:49]



[Editiert durch Bytefish am Donnerstag, September 25, 2003 @ 15:49]

Bytefish
 

Re: dynamische Ereignisse!

Beitragvon mario bielert » Do 25. Sep 2003, 14:49

ich weiß ja nich was du für ne art von spiel hast,
aber ich würde alles in ne
Do-LpWhile-Endlos-Schleife packen und dann einfach hoch zählen:

code:

intro...

(und so alles was du brauchst...)
0->a

do
a+1->a

if a=100000(irgent en wert)
then locate 1,1,"du bist tot"
endif

lpwhile(deine abruchbedingung)

rest...
mario bielert
 

Re: dynamische Ereignisse!

Beitragvon *Caine » Do 25. Sep 2003, 15:17

Mhhhh...

um das ein bischen genauer zu sagen, ich möchte, dass man Rohstoffe produzieren kann, und das soll immer eine bestimmte Zeit dauern bis wieder ein paar Einheiten des Rohstoffes X produziert sind!
Und wenn man das Spiel speichert sollten diese erhalten bleiben.:D

Caine

:)
*Caine
 

Re: dynamische Ereignisse!

Beitragvon Calconeon » Do 25. Sep 2003, 15:55

Das würde bedeuten, dass du in dein Programm relativ viele Schleifen bauen müsstest (so wie oben beschrieben).

Das Problem wäre, dass eine Benutzereingabe (Tastendruck) dann sehr träge registriert würde, was ja ohnehin schon der Fall ist.

Beim Speichern kannst du dann einfach den aktuellen Wert der Variable in eine Liste oder Matrix speichern und beim Laden wieder aufrufen.
Calconeon
 

Re: dynamische Ereignisse!

Beitragvon BCGSR » Do 25. Sep 2003, 18:15

ich hab auch nochn vorschlag :)

du baust dieses spiel in eine "general-for-to-schleife" (statt do:lpwhile) ein, die auch für getkeyabfragen usw. verwendet wird.

diese schleife wird ziemlich schnell hochzählen. allerdings kann man dann prüfen, ob dieser "loop count" durch 1000 oder 10000 teilbar ist. mit erfahrungswerten usw. kann man dann das einstellen, dass nach 1000 durchläufen holz um eins hochgezählt wird oder so.
evtl. ist es auch sinnvoll nach 1000000 oder so die zähler wieder auf null zu setzen, damit der loop count nicht mal so hoch wird, dass probleme mit runden usw. gibt.
BCGSR
 

Re: dynamische Ereignisse!

Beitragvon mario bielert » Do 25. Sep 2003, 21:08

die höchte geschwindigkeit erreicht der gtr wenn du eine hauptschleife machst, und die nur im gebrauchsfall ne unterschleife aufrufst

zb:
0->a
do
a+1->a
if getkey=/=0
then goto a
endif
lbl 1
if a=100
then goto b
endif
lbl 2
.
.
.
(hier kannst du halt alles unterschleifen einbauen)
.
.
.
loop while getkey=/=(der getkey-code von exit als Beispiel)

lbl a
(tastatureingabe verarbeiten)
goto 1

lbl b
(variablen hochzählen)
goto 2

nach dem verfahrer gehen die abfrage und so schneller
also der lauft die schleife mehr pro minute durch als wenn alles in der schleife steht
mario bielert
 

Re: dynamische Ereignisse!

Beitragvon Bytefish » Fr 26. Sep 2003, 12:06

Falsch, die höchste Geschwindigkeit erreichst du wenn du das Programm in mehrere Teile splittest.
Das meine ich so, dass du anstand die tastatur abfrage in dein hauptprogramm zu schreiben nen unterprogramm machst, nen unterprogramm für die grafikengine etc.

so holst du am meisten speed ausm rechner raus.

zum dynamischen ereignissen steht oben alles. ;)
Bytefish
 

Re: dynamische Ereignisse!

Beitragvon mario bielert » Fr 26. Sep 2003, 13:39

im haupt prog sollten dan aber nur im fall das du die unterprogs brauchst die aufgerufen werden
mario bielert
 

Re: dynamische Ereignisse!

Beitragvon Bytefish » Fr 26. Sep 2003, 15:38

Ja natürlich, aber halt nur wenn du es brauchst, dann wird es erst interpretiert wenn es wirklich gebraucht wird, und nich sinnloserweise im hauptprogramm. :)
Bytefish
 


Zurück zu Graphikrechner (CFX 9850 G/GB/GC; FX 9860 G/ GSD; FX 9750G; FX 7400G) ohne CAS

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 Gäste