hangman์„ ๋งŒ๋“ค์–ด๋ณด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค..

3 views
Skip to first unread message

jahyun

unread,
Jul 29, 2007, 11:19:27โ€ฏAM7/29/07
to erlangstudy
concurrency๋„ ์—ฐ์Šตํ•  ๊ฒธํ•ด์„œ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
์ œ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์ง  erlang ํ”„๋กœ๊ทธ๋žจ ์ค‘์— ๊ฐ€์žฅ ๊ธด๊ฒŒ ์•„๋‹๊นŒ ์‹ถ์€..

ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๊ฑด..
http://onebit.cafe24.com/pds/hangman.zip

์ง€๊ธˆ์œผ๋กœ์„œ๋Š” ์˜ค๋‹ต ์ž…๋ ฅ ํšŸ์ˆ˜๋ผ๋˜์ง€, ์˜ค๋‹ต๋“ค ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ณด์—ฌ์ค€๋‹ค๋˜์ง€ ํ•˜๋Š” ๊ฒƒ๋“ค์€ ์ถ”๊ฐ€๋กœ ๊ตฌํ˜„ํ•ด์•ผํ•  ๊ฒƒ๋“ค์ด ๊ฝค ๋‚จ์ด์žˆ๊ณ , ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ
์Šค๋ฅผ ์šด์šฉํ•  ๋•Œ ์ข…๋ฃŒ ์ฒ˜๋ฆฌ๋ผ๋˜์ง€ ๋ญ ๊ทธ๋Ÿฐ ๋ถ€๋ถ„์€ ์ œ๊ฐ€ ๊ณต๋ถ€๊ฐ€ ๋œ ๋˜์„œ ๋” ์†์„ ๋ด์•ผํ•  ๋“ฏ ํ•˜๊ตฌ์š”.

๊ตฌ์กฐ๋Š” ๋Œ€์ถฉ...

hm:run()์„ ํ˜ธ์ถœํ•˜๋ฉด, ๋‹จ์–ด๊ฐ€ ์ž…๋ ฅ๋œ ํŒŒ์ผ์—์„œ ๋‹จ์–ด๋“ค์„ ์ฝ์–ด ๋ฆฌ์ŠคํŠธ๋กœ ๋งŒ๋“ค๊ณ , ์ด ๋ฆฌ์ŠคํŠธ๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š”
main_loop()์— ๋Œ€ํ•œ ํ”„๋กœ์„ธ์Šค(A)๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.(ํŒŒ์ผ ์•ก์„ธ์Šค๋ฅผ ํ•œ๋ฒˆ๋งŒ ํ•˜๊ธฐ ์œ„ํ•จ)
hm:new()์„ ํ˜ธ์ถœํ•˜๋ฉด, ํ”„๋กœ์„ธ์Šค A๋กœ ์š”์ฒญ์ด ๋‚ ์•„๊ฐ€๊ณ  ํ”„๋กœ์„ธ์Šค A๋Š” ๋‹จ์–ด ๋ฆฌ์ŠคํŠธ์—์„œ ์ž„์˜์˜ ํ•œ ๋‹จ์–ด๋ฅผ ์„ ํƒํ•˜์—ฌ ์ด๋ฅผ ์ธ์ž
๋กœ ์ „๋‹ฌ ๋ฐ›๋Š” sub_loop()์— ๋Œ€ํ•œ ํ”„๋กœ์„ธ์Šค(B)๋ฅผ ์ƒ์„ฑํ•œ ํ›„, senderํ•œํ…Œ ํ”„๋กœ์„ธ์Šค B๋กœ ๋ฉ”์ง€์‹œ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ˜
ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ›„ ๋ถ€ํ„ฐ๋Š” hm:new()์—์„œ ๋ฐ˜ํ™˜๋œ ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค B์™€ ํ†ต์‹ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.


1> c(hm).
{ok,hm}
2> S = hm:run().
<0.189.0>
3> F1 = hm:new(S).
#Fun<hm.2.88058006>
4> F1($c).
"__c_____"
5> F1($v).
"v_c_____"
6> F1($a).
"vaca____"
7> F1($t).
"vacat___"
8> F1($i).
"vacati__"
9> F1($o).
"vacatio_"
10> F1($n).
[hangman] Your answer is correct!
"vacation"
11>

์ฝ”๋“œ์—์„œ ๋‹จ์–ด๋ฅผ ์„ ํƒํ•  ๋•Œ random:uniform/0 ๋ฅผ ํ˜ธ์ถœํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š”๋ฐ์š”. ์‹คํ–‰ํ•  ๋•Œ๋งˆ๋‹ค ๋งค๋ฒˆ ๊ฐ™์€ ์ˆœ์„œ๋กœ ๋‹จ์–ด๋ฅผ ์„ ํƒ
ํ•˜๋Š” ๊ฒƒ ๊ฐ™์•„์š”. seed๊ฐ€ ๋งค๋ฒˆ ๊ฐ™์€ ๊ฒƒ์ด ๋“ค์–ด๊ฐ€๋Š”๊ฒŒ ์•„๋‹Œ๊ฐ€ ์‹ถ์€๋ฐ์š”..

C์—์„œ๋Š” ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ์‹œ์— srand( time(NULL) );์„ ๋„ฃ์ฃผ๋Š”๋ฐ erlang์—๋„ ์ด์™€ ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์ด ์žˆ๋Š”์ง€ ๊ถ๊ธˆํ•˜๋„ค
์š”. (random:seed()๋ผ๋Š” ๊ฒƒ์ด ์žˆ๊ธด ํ•œ๋ฐ ์–ด๋–ค ์‹์œผ๋กœ ๋™์ž‘ํ•˜๋Š”์ง€ ์ž˜ ๋ชจ๋ฅด๊ฒ ์Œ..)

ps. ํœด๊ฐ€๋„ ๋๋‚˜๊ณ .. ๋‚ด์ผ ๋ถ€ํ„ฐ ๋‹ค์‹œ ์ถœ๊ทผํ•˜๋ ค๋‹ˆ.. ํ•œ์ˆจ๋งŒ..-_-;

jahyun

unread,
Aug 4, 2007, 6:52:40โ€ฏAM8/4/07
to erlangstudy
๋ชฉ๋งˆ๋ฅธ ์‚ฌ๋žŒ์ด ์šฐ๋ฌผ ํŒ๋‹ค๊ณ ..;;
srand( time(NULL) ); ์™€ ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

% ....
{ H, M, S } = time(),
random:seed( H, M, S ),
% ....

๋..

ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ erlang์˜ random:seed()๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”.
ํ•ญ์ƒ ๊ณ ์ •๋œ default seed ๊ฐ’์ด ์žˆ๋Š” ๊ฑด๊ฐ€..-_-a

On 7์›”30์ผ, ์˜ค์ „12์‹œ19๋ถ„, jahyun <icom...@gmail.com> wrote:
> concurrency๋„ ์—ฐ์Šตํ•  ๊ฒธํ•ด์„œ ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
> ์ œ๊ฐ€ ์ง€๊ธˆ๊นŒ์ง€ ์ง  erlang ํ”„๋กœ๊ทธ๋žจ ์ค‘์— ๊ฐ€์žฅ ๊ธด๊ฒŒ ์•„๋‹๊นŒ ์‹ถ์€..
>

> ํ˜„์žฌ ์ž‘์—… ์ค‘์ธ ๊ฑด..http://onebit.cafe24.com/pds/hangman.zip

June Kim

unread,
Aug 5, 2007, 10:49:25โ€ฏAM8/5/07
to erlan...@googlegroups.com
07. 8. 4, jahyun <ico...@gmail.com>๋‹˜์ด ์ž‘์„ฑ:

> ๋ชฉ๋งˆ๋ฅธ ์‚ฌ๋žŒ์ด ์šฐ๋ฌผ ํŒ๋‹ค๊ณ ..;;
> srand( time(NULL) ); ์™€ ๋น„์Šทํ•œ ๋ฐฉ์‹์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.
>
> % ....
> { H, M, S } = time(),
> random:seed( H, M, S ),
> % ....
>
> ๋..

๊ถŒ์žฅ๋˜๋Š” ๋ฐฉ์‹์€ now()๋ฅผ ์“ฐ๋Š” ๊ฒ๋‹ˆ๋‹ค.

>
> ํ•˜์ง€๋งŒ ์—ฌ์ „ํžˆ erlang์˜ random:seed()๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€๋Š” ์ž˜ ๋ชจ๋ฅด๊ฒ ๋„ค์š”.
> ํ•ญ์ƒ ๊ณ ์ •๋œ default seed ๊ฐ’์ด ์žˆ๋Š” ๊ฑด๊ฐ€..-_-a

๋„ค. ๋””ํดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ๋Š” random์€ side-effect๊ฐ€ ์žˆ๊ณ  non-determinantํ•œ
์š”์†Œ๋ฅผ ๊ฐœ์ž…์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์„ ์”๋‹ˆ๋‹ค.

get(random_seed)ํ•˜๋ฉด ํ˜„์žฌ seed state๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ lib/src/stdlib-*/src/random.erl ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

jahyun

unread,
Aug 6, 2007, 8:58:36โ€ฏAM8/6/07
to erlangstudy
์ฐฝ์ค€๋‹˜์ด ๋ง์”€ํ•˜์‹ ๋Œ€๋กœ random.erl ์†Œ์Šค๋ฅผ ๋ณด๊ณ  ์–ด๋А ์ •๋„ ๊ถ๊ธˆ์ฆ์„ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค. :-)

์ธํ„ฐํŽ˜์ด์Šค ๋ณด๊ณ  ๊ฐ”๋‹ค ์“ฐ๊ธฐ๋งŒ ๊ธ‰๊ธ‰ํ–ˆ๋Š”๋ฐ.. ์ด์ œ๋Š” ๋™์ž‘์ด ํ™•์‹คํžˆ ์ดํ•ด๊ฐ€ ์•ˆ ๋˜๋ฉด ์†Œ์Šค๋ฅผ ๋’ค์ ธ ๋ด์•ผ๊ฒ ๋„ค์š”~

On 8์›”5์ผ, ์˜คํ›„11์‹œ49๋ถ„, "June Kim" <junea...@gmail.com> wrote:
> 07. 8. 4, jahyun <icom...@gmail.com>๋‹˜์ด ์ž‘์„ฑ:

June Kim

unread,
Aug 6, 2007, 10:47:24โ€ฏPM8/6/07
to erlan...@googlegroups.com
์ €๋Š” erlang ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์†Œ์Šค๋ฅผ ์ง์ ‘ ์ฝ์œผ๋ฉด์„œ erlang style์ด ๋ญ”์ง€ ๋งŽ์ด ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ํ†ต์ƒ ์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ
๋ฐฐ์šธ ๋•Œ ๊ณง์ž˜ ์“ฐ๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

07. 8. 6, jahyun <ico...@gmail.com>๋‹˜์ด ์ž‘์„ฑ:

Reply all
Reply to author
Forward
0 new messages