Re: Random(2) in schnell
Ich habe einen Array dieser Form:
Array[Anzahl an Steinen] = So oft vorgekommen Wie soll ich es sonst machen? |
Re: Random(2) in schnell
wie soll denn deine ausgabe aussehen resp. wie sieht sie derzeit aus?
PS: du hast doch nur 15 steine, oder hab ich mich da verhört? |
Re: Random(2) in schnell
Eine Liste
Anzahl Steine: So oft Vorgekommen bzw die liste als Balkendiagramm jaa, die anzahl an steinen die verbaut wurden... es gibt 15 stufen und jeder stein hat ja ne 50%-chance die zu erhöhen... im schnitt sind es ca. 162 steine für 15 stufen. |
Re: Random(2) in schnell
dann hast du doch hier 'n array[0..14] oder array[1..15], da brauchste doch kein setlength, das kannste dir doch auch schon zuvor ausrechnen und den compiler sagen, wie gross das wird. wenn du der sache nicht traust, kannste ja auch noch 'n paar byte sicherheitsreserve drauflegen.
pass auf, dein progy wird noch zum turbo :wink: ps: wenn du auch noch steine unterschiedlicher qualität hast, kannst 'n 2 dimensionales array erstellen, z.b. array[1..15, 0..300]; nach oben begrenzt, da du ja auch nicht unendlich spielen kannst ... |
Re: Random(2) in schnell
Zitat:
Ich will speichern wie oft ich wieviele steine insgesamt brauche... |
Re: Random(2) in schnell
wenn du für jeden level speichern willst, dann brauchste 'n array[1..15]. da kannste dann sagen inc(a[level]); und daraus kannste dann 'n wunderbares balkendiagramm zaubern :-)
PS: vermindern kannste den level dann mit dec(level); |
Re: Random(2) in schnell
hab mal 'n kleines demo zusammengebastelt:
Delphi-Quellcode:
optimierungen musste da noch selbst vornehmen, z.b. wenn 'de 'ne monte carlo methode mit implementieren möchtest....
program Project2;
{$APPTYPE CONSOLE} uses sysutils; var a: array[1..15] of integer; i, level: integer; begin level := 1; randomize; while level < 16 do begin case random(2) of 0: begin inc(a[level]); inc(level) end; 1: begin if level > 3 then dec(level); end; end; end; for i := 1 to 15 do writeln(i:3,#9,a[i]); readln; end. |
Re: Random(2) in schnell
Das ist aber nichts das was ich haben will!!! :wall:
|
Re: Random(2) in schnell
was willste denn dann haben? dachte 'n auswertung, wieviele versuche du brauchst, um durch die jeweiligen level durchzusteigen? genau, das macht es, kannst natürlich noch verfeinern, z.b. mit wievielen versuchen du vergeblich angerant bist... musste halt noch 'ne zweite dimension aufmachen. wie vorhin beschrieben.
ansonsten, zeig doch mal deine ausgabe her? so wie in deinem obigen beispiel, kannste es ja nicht ausgeben... wird ja viel zu unübersichtlich... PS: beim beispiel, hab ich keine balkengrafik gemacht, sondern halt 'ne ganz normale ausgabe, sollt eigentlich reichen... um das zu testen... |
Re: Random(2) in schnell
Ich habe mich mal etwas umgehört und Diesen Ansatz bekommen. Nur hab ich gerade keine Muße diese Matrix zu vereinfachen, ich geh aber davon aus, dass hier jemand einen Gaußschen Algo geschrieben hat, in den er diese Matrix recht schnell einbauen kann. Wer hat Lust darauf?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz