Wie nutzt man Seedrnd richtig ?

Previous topic - Next topic

Trabant 500

Hi@All

Bin neu hier im Forum und komme eigentlich aus der Blitzbasic-Ecke. Da ich allerdings nun auch etwas f?r den GP2X Wiz programmieren m?chte, habe ich mir mal die Demoversion runtergeladen und bin grad bissl am austesten. Die meisten Befehle gibt es ja auch in anderen Basic-Dialekten, aber ein paar Fragen tun sich mir dann doch auf.

Hier die erste: ;)
Ich wollte mir einfach nur eine Zahl zwischen 0 und 100 ausgeben lassen. Also schrieb ich folgendes Programm:
Code (glbasic) Select
PRINT RND(100)
SHOWSCREEN
KEYWAIT
END


Das funktioniert auch. Wenn man jetzt bei jedem eine neue Initialisierung starten will, kann man ja Seedrnd nutzen, aber genau diesen Befehl verstehe ich nicht ganz.
In der Hilfe steht, da? Seedrnd mit GetTimerAll() initialisiert wird. Diese Zeit ist doch aber immer diesselbe und somit bekommt Seedrnd doch immer den gleichen Wert und m?sste doch eigentlich immer die selben Zufallswerte liefern, was es aber nicht tut. Warum nicht ? Das Gleiche ist es wenn ich Seedrnd immer mit der gleichen Zahl initialisiere, also zum Beispiel 'Seedrnd 5'.

Bei Blitzbasic kann man mit dem Befehl 'Millisecs()' die Anzahl der vergangenen Sekunden seit 01.01.1970 ausgeben lassen. Gibt es sowas bei GLBasic auch ?
Man kann sich ja mit 'Platforminfo$' die aktuelle Zeit ausgeben lassen, aber wie wandelt man das in eine Zahl um ? 'Format$' kann ja nur von Zahlen in Strings umwandeln.

So...f?rs Erste wars das erstmal an Fragen, aber das reicht ja auch erstmal. ;)
IF was <> passt
   was = passt
ENDIF

Kitty Hello

OOps. Korrekt. GETTIMERALL() liefert die Zeit ab Programmstart. Wenn man das allerdings aufruft, nachdem man schon etwas gemacht hat oder den User Klicken lie?, geht's.

Man kann evtl. mit PLATFORMINFO$("TIME") etwas machen...

Trabant 500

Wird es denn in Zukunft einen Befehl wie Millisecs() geben ?
Mit Plattforminfo$ habe ich es ja, wie bereits geschrieben, schon probiert, aber das gibt ja einen String aus und Seedrnd verlangt ja nach einer Zahl. Und wie gesagt habe ich keine M?glichkeit gefunden einen String in eine Zahl umzuwandeln. Wobei ich auch sagen muss, das die Hilfe nicht wirklich die ?bersichtlichste ist.
IF was <> passt
   was = passt
ENDIF

Orpheus_2003

Hi Bruder aus der Blitz Ecke.
Ja. Die Hilfe ist eindeutig mies....
Das mit dem Milisec.. ist net dolle. Aber ich vermisse viel wichtigere Sachen.

Greets M

Trabant 500

Hi Orpheus. :)

Ich vermisse auch noch so einiges was mich direkt zu meiner n?chsten Frage bringt...Gibt es einen Befehl mit dem man Teile des Quelltextes auslagern kann ? Mit 'Require' geht das ja leider nicht, aber mein Quelltext ist jetzt schon sehr un?bersichtlich und deswegen w?rde ich verschiedene Routinen gerne in extra Dateien speichern und mit sowas wie (Blitz-Befehl) 'Include' einlesen. Ist sowas machbar ?
IF was <> passt
   was = passt
ENDIF

Kitty Hello

Im Editor rechts die Lasche "Dateien". Da einfach eine Datei reinpacken und gut.

Zahlen in Strings und vice versa einfach mit =

Code (glbasic) Select

a = 123
b$ = a
c = a$
PRINT c, 0,0


SeedRnd:
Code (glbasic) Select

SEEDRND REPLACE$(MID$(PLATFORMINFO$("TIME"), 11), ":", "")
STDOUT RND(1000)


OK, ist nicht sch?n, geb' ich zu.

Trabant 500

Quote from: Kitty Hello on 2009-Sep-15
Im Editor rechts die Lasche "Dateien". Da einfach eine Datei reinpacken und gut.

Das hatte ich schon probiert, aber da hatter er Probleme mit den Subs in diesen Dateien. Vielleicht hab ih aber auch einfach nur was falsch gemacht. Ich werds nochmal probieren.

Man kann mit einem '=' ganz einfach zwischen verschiedenen Typen hin- und herswitchen ? Also ich habs probiert und es geht tats?chlich. Hab die ganze Hilfe, wenn man sie denn so bezeichnen m?chte, durchgesucht, aber auf sowas einfaches bin ich nicht gekommen. *g*

Wird es denn in n?chster Zeit einen Befehl wie 'Millisecs()' geben ?
IF was <> passt
   was = passt
ENDIF

Kitty Hello

Ich denke, dass ich GETTIMERALL() dazu umbauen k?nnte/werde.

Das mit dem = steht in den Tutorials in der Hilfe (laaanger Text, ich wei?)

Trabant 500

Das w?re nicht schlecht. :)
Die Hilfe habe ich gelesen, aber sie ist nicht wirklich hilfreich.

Also das mit den Zusatzdateien habe ich hinbekommen, aber die m?ssen generell nur aus SUBs bestehen, oder !?
IF was <> passt
   was = passt
ENDIF

Kitty Hello

Ja. Steht aber auch in der Hilfe.GLBasic-intern/Mehrere Dateien ;)

D2O

Quote from: Trabant 500 on 2009-Sep-15
Hi Orpheus. :)

Ich vermisse auch noch so einiges was mich direkt zu meiner n?chsten Frage bringt...Gibt es einen Befehl mit dem man Teile des Quelltextes auslagern kann ? Mit 'Require' geht das ja leider nicht, aber mein Quelltext ist jetzt schon sehr un?bersichtlich und deswegen w?rde ich verschiedene Routinen gerne in extra Dateien speichern und mit sowas wie (Blitz-Befehl) 'Include' einlesen. Ist sowas machbar ?

Moin,
Jain.
Include gibt es so nicht, aber in der IDE kannst Du unter dem Tab, "Reiter", Dateien->Quellen-> Rechtsklick-> Datei hinzuf?gen,
Ausgelagerte Funktionen(Sourcecode) ins Projekt mit einbinden.
Das hat den gleichen effekt wie das "Include" bei BB.

Das ist am anfang f?r um / einSteiger etwas gew?hnungsbed?rftig aber genauso gut ;)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Schranz0r

#11
Komm urspr?nglich auch von Blitz.
Im Blitz hat man f?r jeden M?ll eine Funktion... Braucht man die ?berhaut so... glaube nein.
Die Hilfedatei ist vollkommen ausrechend, da die Befehle weitesgehens selbsterkl?rend sind...

Ist es gew?nscht das zu jeden Befehl 200 Zeilen Beispielcode gebraucht wird?
Ok das mit dem INCLUDE seh ich ein... Evtl k?nnte Gernot ja machen, dass man auch *.gbas mit einbinden "K?NNTE"?
Oder ich mach einfach mal nen FAQ-Eintrag, bzw ein Tutorial das die IDE-Bedienung erl?utert.

So, bisschen abschweifen:

QuoteJa. Die Hilfe ist eindeutig mies....

Sowas wollen wir hier nicht h?ren, ihr seit neu, also verhaltet euch auch bitte so.
Wenn fragen da sind helfen hier ALLE gerne!
Br?llt auch keiner, das man umbedingt die SuFu nutzen muss, haben genug sachen die wir schon 100x durchgekaut haben :)

Na, dann mal willkommen bei uns :P
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Trabant 500

@Schranz0r
Also ich habe nicht gesagt das die Hilfe mies ist, sondern lediglich, da? sie nicht unbedingt hilfreich ist. Also mal keine Verallgemeinerung !
Und mal ganz ehrlich: Du bist keineswegs irgendwas besseres, nur weil Du hier l?nger angemeldet bist !

Ich bin kein Freund von Aussagen wie 'Diese Programmiersprache ist aber viel besser...' und sowas, aber gewisse Vergleiche zieht man nat?rlich ganz automatisch. Die Hilfe ist besser als gar keine Hilfe, aber dennoch nicht sehr ?bersichtlich. Bei vielen Befehlen steht nur ein Punkt, aber keinerlei Beschreibung dazu und die ?bersichten bei der kategorischen Hilfe, sind alle hinter- anstatt untereinander geordet, was ich pers?nlich sehr un?bersichtlich finde.

Das Einbinden von externen Dateien habe ich Dank der Hilfe von 'Kitty Hello' hinbekommen, w?rde mir allerdings w?nschen, da? man in den eingebundenen Dateien auch Text au?erhalb von Subs schreiben k?nnte.
Wenn ich zum Beispiel ein Spielmen? auslagern m?chte, so brauche ich ja auch verschiedene Variablen. Es ist kein Problem die in Subs zu verpacken, aber das gibt ja wieder mehr Quelltext und somit gr??ere Dateien.
Gut finden w?rde ich auch, wenn im Editor egal w?re, welchen Suffix die eingebundenen Dateien haben. Dateien die ich einbinde, nenne ich gerne *.inc. Bei diesen und allen anderen Dateien die nicht den gbas-Suffix besitzen, funktioniert leider das Highlighting nicht.


So Schranz0r...Dies war keine Kritik und wenn dann lediglich konstruktiv, sondern nur Dinge die mir pers?nlich aufgefallen sind. Und auch wenn ich erst ein paar Tage hier angemeldet bin, so bist Du noch lange nicht das Ma? aller Dinge ! Also sch?n den Ball flachhalten, denn hier will niemand was B?ses und seine Ansicht wird man ja wohl noch vertreten d?rfen, oder !?
IF was <> passt
   was = passt
ENDIF

Schranz0r

Quote from: Orpheus_2003 on 2009-Sep-15
Ja. Die Hilfe ist eindeutig mies....

Wie soll man das bitte sonst verstehen?

Versteh zwar jetzt dein aggressives Verhalten nicht... aber nagut...
Hab ich irgendwo gesagt das ich das "Ma? der Dinge" bin?
Ich hab lediglich gesagt das wir ALLE(Extra Fett geschrieben) gerne Helfen.
Hab ich dir beim Mapladen denn nicht geholfen?
Haben nicht andere auch was dazu geschrieben?

Also bleib mal locker.. der Ton macht die Musik.
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Orpheus_2003

#14
Also erst mal.

Der Spruch mit der Hilfe kommt von mir. Und tut mir leid.
Mies ist nicht der richtige Ausdruck.
Wollte damit ausdr?cken, dass es f?r einen Anf?nger nicht leicht ist, gewissen
Befehle zu verstehen, da sie schlecht oder nicht ausreichend erkl?rt sind.
Aber. Wie ihr in anderen Beitr?gen lesen k?nnt, ist daf?r die Community und die Hilfe
hier sehr gut. Ich bekam sofort ein Beispielprogramm f?r meine Laderoutine (danke Schranz0r )
Ich denke Schranz0r hat uns hier verwechselt. Auch das mit der Laderoutine war ich!!! Danke nochmal..

Und auch wird einem hier wirklich schnell und gut geholfen.
Das entsch?digt die Hilfe dann doch wieder.

Also nicht b?se gemeint... Nur konstruktive Kritik...

Gru? O