- 擲骰子來決定要走的步數。
- 從數字1開始走到最大數字(如下圖中的25)。
- 若走到梯子下,就可以延著梯子爬上去(前進)。
- 若走到蛇頭,就要延著蛇身滑下去(倒退)。
其程式碼如下:
package idv.jk.fun; public class SnakesAndLadders { private static final int finalSquare = 25; public static void main(String[] args) { int[] board = new int[finalSquare + 1]; for(int i = 0; i <= finalSquare; i++) { board[i] = 0; } //定義走到的格子要上樓梯或滑下蛇後,要前進或後退幾格 board[3] = +8; board[6] = +11; board[9] = +9; board[10] = +2; board[14] = -10; board[19] = -11; board[22] = -2; board[24] = -8; int diceNumber = 0;//擲出的點數 int step = 0; //走到第幾格 while(step < finalSquare) { //擲骰子 diceNumber = (int)(Math.random() * 6 + 1); System.out.print("擲出的點數: " + diceNumber + ", "); step += diceNumber; if(step < board.length) { if(board[step] > 0) { System.out.print("上樓梯, 爬上 " + board[step] + " 格, "); } else if(board[step] < 0) { System.out.print("下蛇身, 滑下 " + board[step] + " 格, "); } step += board[step]; } System.out.println("前進到第 " + step + " 格"); } System.out.println("結束"); } }執行結果為:
擲出的點數: 3, 上樓梯, 爬上 8 格, 前進到第 11 格 擲出的點數: 3, 下蛇身, 滑下 -10 格, 前進到第 4 格 擲出的點數: 3, 前進到第 7 格 擲出的點數: 5, 前進到第 12 格 擲出的點數: 1, 前進到第 13 格 擲出的點數: 1, 下蛇身, 滑下 -10 格, 前進到第 4 格 擲出的點數: 4, 前進到第 8 格 擲出的點數: 4, 前進到第 12 格 擲出的點數: 6, 前進到第 18 格 擲出的點數: 6, 下蛇身, 滑下 -8 格, 前進到第 16 格 擲出的點數: 4, 前進到第 20 格 擲出的點數: 1, 前進到第 21 格 擲出的點數: 4, 前進到第 25 格 結束
沒有留言:
張貼留言