📄 circlelist-duck.html
字号:
<html><head><title>Code Fragment</title></head><body text=#000000><center></center><br><br><dl><dd><pre> <font color = #ff0080>/** Simulation of Duck, Duck, Goose with a circularly linked list. */</font> <font color=#8000a0><font color=#8000a0>public</font> </font><font color=#8000a0>static</font> <font color=#8000a0><font color=#8000a0>void</font> </font><font color=#0000ff>main</font>(<font color=#8000a0>String</font>[] args) { <font color=#8000a0>CircleList </font>C = <font color=#8000a0><font color=#ff8000>new</font> </font><font color=#0000ff>CircleList</font>(); <font color=#8000a0><font color=#8000a0>int</font> </font>N = 3; <font color=#ff0080>// number of iterations of the game</font> <font color=#8000a0>Node </font>it; <font color=#ff0080>// the player who is "it"</font> <font color=#8000a0>Node </font>goose; <font color=#ff0080>// the goose</font> <font color=#8000a0>Random </font>rand = <font color=#8000a0><font color=#ff8000>new</font> </font><font color=#0000ff>Random</font>(); rand.<font color=#0000ff>setSeed</font>(System.<font color=#0000ff>currentTimeMillis</font>()); <font color=#ff0080>// use current time as seed</font> <font color=#ff0080>// The players...</font> <font color=#8000a0>String</font>[] names = {<font color=#008000>"Bob"</font>,<font color=#008000>"Jen"</font>,<font color=#008000>"Pam"</font>,<font color=#008000>"Tom"</font>,<font color=#008000>"Ron"</font>,<font color=#008000>"Vic"</font>,<font color=#008000>"Sue"</font>,<font color=#008000>"Joe"</font>}; <font color=#ff8000>for</font><font color=#0000ff> </font>(<font color=#8000a0>int</font> i = 0; i< names.length; i++) { C.<font color=#0000ff>add</font>(<font color=#ff8000>new</font> <font color=#0000ff>Node</font>(names[i], null)); C.<font color=#0000ff>advance</font>(); } <font color=#ff8000>for</font><font color=#0000ff> </font>(<font color=#8000a0>int</font> i = 0; i < N; i++) { <font color=#ff0080>// play Duck, Duck, Goose N times</font> System.out.<font color=#0000ff>println</font>(<font color=#008000>"Playing Duck, Duck, Goose for "</font> + C.<font color=#0000ff>toString</font>()); it = C.<font color=#0000ff>remove</font>(); System.out.<font color=#0000ff>println</font>(it.<font color=#0000ff>getElement</font>() + <font color=#008000>" is it."</font>); <font color=#ff8000>while</font><font color=#0000ff> </font>(rand.<font color=#0000ff>nextBoolean</font>() || rand.<font color=#0000ff>nextBoolean</font>()) { <font color=#ff0080>// march around circle</font> C.<font color=#0000ff>advance</font>(); <font color=#ff0080>// advance with probability 3/4</font> System.out.<font color=#0000ff>println</font>(C.<font color=#0000ff>getCursor</font>().<font color=#0000ff>getElement</font>() + <font color=#008000>" is a duck."</font>); } goose = C.<font color=#0000ff>remove</font>(); System.out.<font color=#0000ff>println</font>(goose.<font color=#0000ff>getElement</font>() + <font color=#008000>" is the goose!"</font>); <font color=#ff8000>if</font><font color=#0000ff> </font>(rand.<font color=#0000ff>nextBoolean</font>()) { System.out.<font color=#0000ff>println</font>(<font color=#008000>"The goose won!"</font>); C.<font color=#0000ff>add</font>(goose); <font color=#ff0080>// add the goose back in its old place</font> C.<font color=#0000ff>advance</font>(); <font color=#ff0080>// now the cursor is on the goose</font> C.<font color=#0000ff>add</font>(it); <font color=#ff0080>// The "it" person will be it again in next round</font> } <font color=#ff8000>else</font> { System.out.<font color=#0000ff>println</font>(<font color=#008000>"The goose lost!"</font>); C.<font color=#0000ff>add</font>(it); <font color=#ff0080>// add who's "it" back at the goose's place</font> C.<font color=#0000ff>advance</font>(); <font color=#ff0080>// now the cursor is on the "it" person</font> C.<font color=#0000ff>add</font>(goose); <font color=#ff0080>// The goose will be "it" in the next round</font> } } System.out.<font color=#0000ff>println</font>(<font color=#008000>"Final circle is "</font> + C.<font color=#0000ff>toString</font>()); }</dl></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -