忘年会でトリビアをしよう

きっかけは・・・

会社の泊りがけの忘年会で、余興というかゲームと言うか、イベントとしてトリビアの泉ごっこをしたいと思いました。 個人的なトリビアをお互いに出せば、面白いかなぁと思ってです。 最初は市販のへぇボタンを使おうかと考えたのですが、 買うのにお金がかかるし、集計が大変そうなのに気づきました。 次に、ノートパソコンをへぇボタンの代わりにして、 アドホックネットワークを組んで集計できないかと考えました。 ネットを調べると、へぇボタンのプログラムは結構あるようですが、 集計するプログラムは見つかりませんでした。 こうなったら作ってしまおう、と言う事で作ったのが今回のプログラムです。 残念ながら忘年会の企画は没になってしまいましたが、 作ったプログラムはもったいないので公開します。 多数のノートパソコンを使ったテストが出来なかったので、 まともに動くかどうか試していませんが、適当に使ってください。

へぇごっこのイメージ
最初に考えたイメージ

ダウンロード

使い方

(1) 準備

プログラムと「へぇ〜」という音のwavファイルを用意します。 wavファイルはこのソフトの作者が用意できなかったので、各自用意してください。 wavファイルはコピーを4つ用意し、he1.wavとhe2.wavとhe3.wavとhe4.wavという名前にします。 ない場合は音が鳴りません。 複数のネットワーク接続可能なパソコンが必要です。 1台が制御用で、残りは「へぇ」用です。 パソコンにファイルをコピーします。

必要なファイル 備考
制御用パソコン HeControler.exe
「へぇ」用パソコン HeTerminal.exe
he1.wav
he2.wav
he3.wav
he4.wav
申し訳ありませんが本サイトで配布していません。

(2) ネットワーク構築

ネットワークイメージ

全パソコンをネットワーク接続します。 ノートパソコンで無線LANのアドホックを組む事を想定していますが、 イーサーネットでつないでもOKです。 IPv4のブロードキャストが通る必要があります。

(3) 「へぇ」用パソコンの動作開始

パソコン起動

「へぇボタン」用パソコンで、HeTerminal.exeを起動します。 最初にでる設定画面は「実行」をクリックしてください。 画面いっぱいにウィンドウが開きます。

画面

上の入力欄に「へぇボタン」をクリックする人の名前を記入します。 画面をクリックしたり、スペースキーを押すと、「へぇ〜」と音が鳴り数字が増えます。 数字が最大値になると数字の色が赤くなり、それ以上押せなくなります。

(4) 制御用パソコンの動作開始

起動

制御用パソコンで、HeControler.exe を起動します。 最初にでる起動パラメータ設定画面は「実行」をクリックしてください。

画面

画面いっぱいにウィンドウが開きます。 上の「最大値送信」又は「ゼロクリア送信」を押すと、 「へぇ」用パソコンから信号が届きだし、画面に表示されます。 「へぇ」用パソコンは1秒に1回、制御用パソコンに信号を送り、 受信信号に応じて制御用パソコンの画面表示は変更されます。 画面表示は最初は横3×縦2で、右下に合計値が表示されます。 「へぇ」用パソコンの数に応じて表示数は自動的に変更になります。

トリビアの泉ごっこで、新しいトリビアを始めるときは「ゼロクリア送信」をクリックします。

トラブルシューティング

うまく動かない場合、原因はいろいろ考えられます。 原因解明の手がかりとなるようにログを用意しました。 プログラム起動後に最初に表示される設定画面でログにチェックを入れ、 その先の画面でログボタンを押すと、プログラムの動作の記録が見れます。

4. 解説

(1) HeTerminal.exe の設定画面の解説

画面解説

(2) HeTerminal.exe の端末画面の解説

画面解説

(3) HeControler.exe の設定画面の解説

画面解説

(4) HeControler.exe の端末画面の解説

画面解説

(5) wavファイルが4つもある理由

4つのwavファイルはボタンを押したときに順番に使っています。 これにより連続してボタンを押すと「へぇ〜」という音が重なって聞こえます。 C++Builder6のMediaPlayerを用いて音を出しているのですが、MediaPlayerの制約で、 同じwavファイルを複数のMediaPlayerのインスタンスで使えないため、ファイルを4つ用意しました。

(6) UDP信号の中身

ログで表示されている通りの、短い文字列です。 TCPでなくUDPを使った理由は、管理パソコンからへぇパソコンに信号を送る際に、 ブロードキャストが使いたかったのと、複数のTCPコネクションの管理が面倒だったからです。


戻る戻る
記述内容について一切保障しません。リンクは自由に行ってかまいません。
Since 2005/11/6, Presented by Ishida So