lufia #3198(2007/09/29 20:29 GMT) [ Other ] Rating1/1=1.00
ビンゴ本体より、準備行のほうが多い気がする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
implement Bingo; include "sys.m"; sys: Sys; include "draw.m"; include "keyring.m"; include "security.m"; random: Random; argv0: string; Bingo: module { init: fn(nil: ref Draw->Context, argv: list of string); }; usage() { sys->fprint(sys->fildes(2), "usage: %s n\n", argv0); raise "fail:usage"; } init(nil: ref Draw->Context, argv: list of string) { sys = load Sys Sys->PATH; random = load Random Random->PATH; argv0 = hd argv; argv = tl argv; n := 10; if(argv != nil) n = int hd argv; a := array[n] of int; for(i := 0; i < n; i++) a[i] = i+1; while(n > 0){ p := rand() % n; sys->print("%d\n", a[p]); a[p] = a[--n]; } } rand(): int { r := random->randomint(Random->ReallyRandom); if(r < 0) r = -r; return r; }
Rating1/1=1.00-0+
[ reply ]
lufia
#3198()
[
Other
]
Rating1/1=1.00
implement Bingo; include "sys.m"; sys: Sys; include "draw.m"; include "keyring.m"; include "security.m"; random: Random; argv0: string; Bingo: module { init: fn(nil: ref Draw->Context, argv: list of string); }; usage() { sys->fprint(sys->fildes(2), "usage: %s n\n", argv0); raise "fail:usage"; } init(nil: ref Draw->Context, argv: list of string) { sys = load Sys Sys->PATH; random = load Random Random->PATH; argv0 = hd argv; argv = tl argv; n := 10; if(argv != nil) n = int hd argv; a := array[n] of int; for(i := 0; i < n; i++) a[i] = i+1; while(n > 0){ p := rand() % n; sys->print("%d\n", a[p]); a[p] = a[--n]; } } rand(): int { r := random->randomint(Random->ReallyRandom); if(r < 0) r = -r; return r; }Rating1/1=1.00-0+
[ reply ]