回精華區
作者jjchen.bbs@bbs.ntnu.edu.tw (陳金進), 信區: mud
標題泥巴連線程式
時間師大計中(精靈之城) (Sun May 18 06:04:05 1997)
轉信站: GIBBS!news.iie.ncku!ccnews.NCTU!alab03.ee.nctu!news.ee.nctu!news.nctu!c

這不是 Client, 也許對您沒用, 但是裡面幾個位址是很重要的, 看一下也好

本程式可以任意修改, 除了遵守檔案開頭的說明外.......

--------------- 請 - 沿 - 虛 - 線 - 剪 - 下 - 來 ---------------
#!/bin/sh
# 本檔案 (Mud) 的第一行一定要是 "#!/bin/sh"
# 本程式是由 Wade@Fantasy.Space  jjchen@ice.ntnu.edu.tw 提供
# 記得要先執行 chmod 755 bbs 將此程式設定為可執行
# 井字號開頭的部份是註解
# 這些 泥巴 站不見得隨時都能連線,
# 有些是有時間限制的, 有些則可能故障...
# 甚至已經 "倒店" 了, 或者只是搬到別處去了....
# 對於 ftp 功能, 建議使用 ncftp, 但是如果您的系統沒有, 那就另當別論了.
#
# 注意 1 : 要在 unix/linux 下執行
# 注意 2 : 要保留這個註解
#

# 底下設定中文輸入問題
stty pass8
stty -parenb cs8 -istrip

# 預設是第 0 頁
page=0

# 總頁數是兩頁, 此值需隨頁數增多而更改
# 頁數只計算 BBS 所顯示的頁數!!
pagenum=1

choice=~~

# 冒號 : 相當於 True
while :
do
  clear
  echo "
  `date +%D`      台灣學術網路 泥巴 連線程式     `date +%r`
  "

  if [ "$choice" = "~" ]
  then
    choice=~~
  else
  if [ $page = "0" ]
  then
    echo "  ==> Diku Mud <==     ==> LP Mud <==          ==> 其它 <==
  [a] 風之傳說         [A] 東方故事(ES)        [1] ftp athens.imaginary.com
  [b] 時空之門         [B] 天朝帝國(ES2)       [2] ftp ftp.lysator.liu.se
  [c] 四度空間         [C] 失落的國度(DOOM)    [3] 星艦 BBS
  [d] Dragon Relam     [D] 東方之豬(EP)        [4] 精靈之城 BBS
  [e] 失落的亞特蘭提斯 [E] 毀滅之星            [5] 交大資工 BBS
  [f] Formosia         [F] 古中國傳說(OCS)     [6] 交大資科 BBS
  [g] 混沌-1           [G] ES2 美國分站        [7] 未知國度
  [h] 混沌-2           [H] 狂想空間(FS)        [8] MudOS 的家鄉
  [i] 卡莎米亞         [I] 五星物語(FSS)
  [j] 亞雷恩傳奇       [J] 龍之傳人
  [k] 中原魔域         [K] Final Frontier
  [l] 諸神世紀         [L] 風之谷
  [m] 中山醫學         [M] 赤色大地
  [n] 聖殿傳說         [N] 太陽的傳說
  [o] 聖傳             [O] 迷失的伊甸園
  [p] 淡江視障泥巴中心 [P] 聖龍傳說
  [q] 杏花村IOSmud     [Q] 龍王風雲
  [r] 遺忘的世界       [R] 萬王之王(KK)

  ESC : 離開   ? : 輔助  Enter:下一頁 "
  else
    if [ $page = "1" ]
    then
      echo -n "
        不可能吧? 怎會有第二頁咧???
        可以有好幾頁, 您可以自行增修

     ESC:離開本程式     ? :輔助訊息      Enter:下一頁

     `date`
     <請按選項再按 Enter, 或直接按 Enter 到下一頁> "
    else
      if [ $page = "10" ]
      then
        echo "

                         +-----------------------------+
                         |                             |
                         |   1. 請按中括號內的英文字   |
                         |                             |
                         |   2. 請按 Enter 鍵 確認     |
                         |                             |
                         +-----------------------------+

                        幾乎都要按 Enter 鍵來確認你的選項
                                就像底下的一樣.........



                             請按 Enter 鍵繼續    "
        read tmp
        page=$oldpage
        choice=~
      fi
    fi
  fi

  # 從鍵盤讀進選項
  if [ "$choice" != "~" ]
  then
    Spec=no
    read choice
    #也許是剛從 Ctrl-C 回來.....
    if [ $Spec = "yes" ]
    then
      choice=~ # 這樣設的目的是要 pass 連線測試....
    fi
  else
    choice=~~
  fi

  echo "檢查按鍵中, 請等一下下... (按 Ctrl-] 停止連線)" ;

  # 按到 ESC 鍵, 離開本程式
  if [ "$choice" =  "^[" ]
  then
    clear
    echo "









                          歡迎隨時進入  泥巴  的世界










        "; exit

  # 底下處理按到 ?
  else
    if [ "$choice" = "?" ]
    then
      if [ $page -lt $pagenum ]
      then
        oldpage=$page
      fi
      page=10   # 簡要的說明

  # 底下處理按到 Enter , 可以設定為離開本程式, 或進入預設 BBS
  # 我在這個版本用 Enter 來做換頁的功能....
    else
      if [ "$choice" = "" ]
      then
        if [ $page -ge $pagenum ]
        then
          page=$oldpage
        else
          page=`expr \( $page + 1 \) % $pagenum`
        fi

  # 底下處理選項部份
      else
        if [ $page = "0" ]
        then
          case "$choice" in
            a) telnet 140.113.17.168  4040;;
            b) telnet 192.192.10.4    4444;;
            c) telnet 140.113.5.152   7777;;
            d) telnet 140.112.2.33    3000;;
            e) telnet 140.116.32.56   1234;;
            f) telnet 140.115.50.84   4000;;
            g) telnet 140.113.235.13  1234;;
            h) telnet 140.113.235.13  3600;;
            i) telnet 140.112.66.19   8888;;
            j) telnet 140.121.135.155 6000;;
            k) telnet 140.135.21.97   5555;;
            l) telnet 192.192.10.100  4000;;
            m) telnet 140.128.136.11  4000;;
            n) telnet 140.120.11.10   6666;;
            o) telnet 140.135.11.15   9800;;
            p) telnet 163.13.224.20   4000;;
            q) telnet 140.115.40.1    1234;;
            r) telnet 192.192.69.6    5050;;

            A) telnet 140.113.169.141 8000;;
            B) telnet 140.113.139.212 4000;;
            C) telnet 140.114.79.109  4000;;
            D) telnet 140.114.18.21   5555;;
            E) telnet 140.120.11.10   9999;;
            F) telnet 192.192.228.41  6060;;
            G) telnet 165.227.52.1    4000;;
            H) telnet 140.122.77.124  4000;;
            I) telnet 140.120.31.216  5000;;
            J) telnet 140.115.50.41   9999;;
            K) telnet 140.128.136.11  4000;;
            L) telnet 140.126.110.5   2028;;
            M) telnet 140.120.31.191  9999;;
            N) telnet 140.114.221.11  1024;;
            O) telnet 140.117.169.81  1111;;
            P) telnet 203.64.33.6     4000;;
            Q) telnet 140.126.8.101   4000;;
            R) telnet 140.114.80.251  4000;;
            S) telnet 140.128.9.91    9000;;

            1) ncftp athens.imaginary.com;;    # 如果沒有 ncftp, 就改成 ftp
            2) ftp ftp.lysator.liu.se;;        # 這兩個都是重要的 ftp 站
            3) telnet 140.138.246.113;;        # server 通知我的喔, 一個好康ㄟ
            4) telnet bbs.ntnu;;
            5) telnet bbs.csie.nctu.edu.tw;;
            6) telnet bbs.cis.nctu;;
            7) telnet 140.128.9.91 9000;;
            8) telnet imaginary.com 7890;;     # MudOS 發展者交換意見專用 Mud
          esac
        else
          if [ $page = "1" ]    # 這是不可能的吧?!
          then
            case "$choice" in
            esac
          fi
        fi
      fi
    fi
  fi
  fi

done  # while :
--------------- 請 - 沿 - 虛 - 線 - 剪 - 下 - 來 ---------------
若是沒錯的話, 應該是 230 行才對

--
※ Origin: 師大精靈之城 <bbs.ntnu.edu.tw> ◆ From: doc.ice.ntnu.edu.tw
精華選讀←離開[主題上]主題下(k)上篇(j)下篇S/a搜尋 G串列 TAB精華 ↑↓捲 Pg/Space翻