メインメニュー
コンテンツ
ナガオイズム
教官のつぶやき
教育実践
- プログラミングコンテスト
- 全国高専における情報教育活動
- 地域に対する情報処理教育支援
マスコミ時評(愛媛新聞)
プロフィール
プログラミングメモ
ドリトル:サンプルプログラム
ドリトル:大西中学校
授業関係
ききまつがい・いいまつがい
今自分にできること
またもHP引っ越し
長尾研究室サーバに不具合が生じたため、HPの移植を行いました。
前回はNetCommonsを実験的に導入しましたが、Xoops+Xiggで構築です。
#あるサイト構築の実験のためなんですが・・・

こんな調子では、内容の充実はいつまでもできそうにありません。
ホームXiggドリトル:大西中学校 › モールス信号でチャット

モールス信号でチャット

投稿者: nagao | 投稿日時: 2010-11-9 22:57 | 公開日時: 2010-11-9 22:57 | 閲覧: 5097回
タグ:
ネットワークを利用してモールス信号でチャットができるプログラムです。

以下のプログラムをコピーして、ドリトルに貼り付けてください。

ドリトルVer.2

サーバー!"localhost" 接続。 // 通信する場合は修正
サーバー!”msg” "" 登録。

モールス符号=配列!
"    "          // 空白文字
 ”aAaA ・− ”
 ”bBbB −・・・ ”
 ”cCcC −・−・ ”
 ”dDdD −・・ ”
 ”eEeE ・ ”
 ”fFfF ・・−・ ”
 ”gGgG −−・ ”
 ”hHhH ・・・・ ”
 ”iIiI ・・ ”
 ”jJjJ ・−−− ”
 ”kKkK −・− ”
 ”lLlL ・−・・ ”
 ”mMmM −− ”
 ”nNnN −・ ”
 ”oOoO −−− ”
 ”pPpP ・−−・ ”
 ”qQqQ −−・− ”
 ”rRrR ・−・ ”
 ”sSsS ・・・ ”
 ”tTtT − ”
 ”uUuU ・・− ”
 ”vVvV ・・・− ”
 ”wWwW ・−− ”
 ”xXxX −・・− ”
 ”yYyY −・−− ”
 ”zZzZ −−・・ ”
作る。

// 符号(1単位)の変換用メソッド

さがす=「|文字|
 LIST=モールス符号!「|x|(x)! (文字)含む?」選ぶ。
 LIST!1 読む。」。

符号化=「|文字|
 探索結果 = モールス符号!(文字)さがす。
 探索結果!6  部分。
」。 

復号化=「|文字|
 文字2=” ”+(文字)+” ”。
 探索結果=モールス符号!(文字2) さがす。
 探索結果!2 1 部分。
」。 

// 符号列の変換用メソッド

文字列の分割=「|文字列|
 長さ=(文字列)!長さ?。
 配列1=配列!作る。
  「|i| 配列1!(文字列!(i)(1) 部分)書く。」!(長さ) 繰り返す。
 配列1。
」。

文字列符号化=「|元文字列|
元配列=(!(元文字列) 文字列の分割)。
符号化配列=配列!作る。
 元配列!「|要素|符号化配列!(!(要素)符号化)書く。 」それぞれ実行。
符号化文字列=符号化配列!結合。
」。

文字列復号化=「|文字列|
 復元配列=文字列!” ” 分割。
 復元後配列=配列!作る。
 復元配列!「|要素|復元後配列!(!(要素) 復号化)書く。」それぞれ実行。
復号化文字列=復元後配列!結合。
」。

メニュー=選択メニュー!作る -250 200 位置。
メニュー!”符号化なし→復号化なし”書く
”符号化あり−復号化なし”書く
”符号化あり−復号化あり”書く。

送信フィールド=フィールド!作る 200 45 大きさ -250 150 位置。
フィールド:動作=「
 入力文字=送信フィールド!読む。
 送信文字=入力文字。
 「(メニュー!何番目?)!=1」!なら
   「送信文字=!(入力文字)文字列符号化」実行。
 サーバー!”msg” (送信文字)登録。
 送信フィールド!クリア。
」。

直前メッセージ=""。
受信表示=リスト!作る 200 350 大きさ 0 150 位置。
タイマー!作る 1秒 間隔 600 回数「
 受信メッセージ=サーバー!"msg" 複製。
 表示メッセージ=受信メッセージ。
 「(メニュー!何番目?)==3」!なら
   「表示メッセージ=!(受信メッセージ)文字列復号化」実行。 
 「受信メッセージ!=直前メッセージ」!なら「
   受信表示!(表示メッセージ)書く」実行。
   直前メッセージ=受信メッセージ。
」実行。

コメント(0)

新しいものから | 古いものから | ネスト表示 | RSS feed