當前位置:編程學習大全網 - 編程軟體 - 用shell編寫壹個漢諾塔遊戲的程序,求代碼。

用shell編寫壹個漢諾塔遊戲的程序,求代碼。

#!/bin/bash?

E_NOPARAM=10?#?錯誤碼1:沒有參數傳給腳本?

E_BADPARAM=20?#?錯誤碼2:傳給腳本的盤子數不合法?

Moves=0?#?保存移動次數的全局變量.

dohanoi()?{?#?遞歸函數?

case?$1?in

0)

;;

*)

dohanoi?"$(($1-1))"?$2?$4?$3

echo?move?$2?"-->"?$3

let?"Moves?+=?1"?#?這兒修改了原腳本.

dohanoi?"$(($1-1))"?$4?$3?$2

;;

esac

}

case?$#?in

1)

case?$(($1>0))?in?#?至少要有壹個盤子.

1)

dohanoi?$1?1?3?2

echo?"Total?moves?=?$Moves"

exit?0;

;;

*)

echo?"$0:?illegal?value?for?number?of?disks";

exit?$E_BADPARAM;

;;

esac

;;

*)

echo?"usage:?$0?N"

echo?"?Where?\"N\"?is?the?number?of?disks."

exit?$E_NOPARAM;

;;

esac

根據《高級Bash Shell腳本編程指南.pdf》上的示例改寫。

  • 上一篇:Python適合處理大量數據嗎?
  • 下一篇:酒瓶模具的編程
  • copyright 2024編程學習大全網