コンピュータネットワーク 演習


提出〆切は次回の講義の開始時刻です。

以下の手順で、「Hit And Blow」という4桁の数当てゲームの 親の役割をするサーブレットを作成しなさい。

  1. Hit And Blowでは、親は最初に0〜9までの数字から4個を 重複しないように選び、答とします。
  2. 子が『4ヒット』となる推測を親に伝えるまで 以下の手順を繰り返します。
  3. 子は4個の数字を推測して親に伝えます。
  4. 親は「正しい数字が正しい場所にある」場合は『ヒット』として、 「正しい数字が間違った場所にある」場合は『ブロー』として数え、 子に伝えます。
  5. たとえば、親が選んだ答が "1234"のとき、子が"2531"と推測すると、 "3"は正しい数字を正しい位置に推測しているので『1ヒット』に、 "1"と"2"は正しい数字を間違った位置で推測しているので『2ブロー』と なります。

  6. 『4ヒット』となると、親は子に"Congraturation"と伝えて、 1に戻り、別の答を生成して続けます。

課題10a

提出先 http://nw.tsuda.ac.jp/class/network/local/handin/list.php?id=kadai10a
提出ファイルHitBlow01.java
コメント欄なし

0〜9の間の4個の数字を入力できるformを表示するサーブレットを作成しなさい。 フォームを処理するactionとしては自分自身のURLを用いること。

ファイル名はsrc/hitblow/HitBlow01.javaとすること。

[アクセスするURL]
http://localhost:8080/basic/hitblow/HitBlow01

最初にアクセスしたときは、数字は入力されていないので 数字を出力する必要はありません。単に入力フォームだけを 表示します。


数字を入力します。


数字が入力されて「決定ボタン」をクリックした後は 入力した数字を表示し、その後に入力フォームを表示して 再度の入力を可能にします。



課題10b

提出先 http://nw.tsuda.ac.jp/class/network/local/handin/list.php?id=kadai10b
提出ファイルHitBlow02.java
コメント欄なし

セッション属性を作成し、解答の数字を記憶するようにして下さい。 さらに、ヒット数とブロー数を表示するようにして、ヒット数が 4ならば新たにゲームを開始するようにして下さい。

ファイル名はsrc/hitblow/HitBlow02.javaとすること。

[アクセスするURL]
http://localhost:8080/basic/hitblow/HitBlow02

最初のアクセスではセッション属性がないので、 新しく答を生成し、セッション属性として保存します。 ここではデバッグのために画面に答を表示しています。


推測を入力して「決定」をクリックします。


答と推測を照らし合わせて、ヒットとブローが正しく表示されています。


新しく数字を入力して、「決定」をクリックします。


正解していたので"Congraturation"と出力されて、新しいリンクが 表示されます。このときに、セッション属性は消されています。



課題10c (発展課題: 自分でできた人だけ提出して下さい。)

提出先 http://nw.tsuda.ac.jp/class/network/local/handin/list.php?id=kadai10c
提出ファイルHitBlow03.java
コメント欄なし

ファイル名はsrc/hitblow/HitBlow03.javaとすること。

[アクセスするURL]
http://localhost:8080/basic/hitblow/HitBlow03

上の例では「推測した数字を入力するのときのデフォルト値」が全て 0となっていますが、これをひとつ前の推測の値が表示されるように 変更して下さい。(そんなに難しくありません。 optionタグの中のselected属性を使えばよいだけです)