• Mar 22 Thu 2012 21:44
  • c-jump

pic84338_md  

c-jump,一款用來輔助教導程式語言觀念的桌上遊戲,你是資訊人嗎?讓你遙想剛開始學寫程式的那些日子。

c-jump

滑雪&滑雪板競賽

玩法 

介紹

靠著玩遊戲來探索電腦程式設計的原理

c-jump是一款歡樂的家庭遊戲,讓程式語言如CC++Java的學習者能因此受益。

 

沿著版圖移動,進入迴圈、條件分支與switch的陳述式,玩家會得到完整程式的實際經驗。瞭解電腦內部動作對瞭解軟體是什麼是絕對有必要的。靜態的程式會產生電腦內動態的程序。在玩這款遊戲過程中,玩家可以看到這個程序的運作。

 

玩家人數

24位玩家

 

年齡

年齡11+

 

配件

一張遊戲版圖、一粒骰子、以及代表每位玩家滑雪者的成套各色棋子。

 

遊戲目的

第一位讓所有滑雪者滑過終點線的玩家便是贏家。

 

設定

滑雪者在起始處排好並且沿著滑雪道競賽,遵循每位玩家的擲骰結果與版圖規則。

 

在版圖上的格子以正方形表示。每個方形有一個規則的陳述式,從程式語言那邊所借用而來。分號;會把多個規則分開來。

 

 int x;

關鍵字’int’創造整數的變數’x’。在遊戲中,’x’代表骰子上所擲出的數字。舉例來說,如果玩家擲出5,那麼x就會變成5。從這個位置開始,滑雪者根據骰子上所擲出的數字來往下滑。

 int main()

“Main”是版圖上藍色滑雪道的名字。所有的電腦程式都有名為’main’函式。函式定義電腦操作。滑雪者可以往下滑的步數為骰子擲出的數字。

 

  {  

  }  

左大括號’{‘表示滑雪道的開始。右大括號’}’則結束此滑雪道。這些括號不需要特別的計算,並且可以被視為空的登陸空間。

 

進行遊戲

玩家擲骰並且移動他的一名滑雪者,一邊數著方格的數量。在遊戲中每位玩家可以操控一名以上的滑雪者。在版圖上有著相同顏色的多位滑雪者時,玩家可以選擇任一名滑雪者來移動。

 

 

在移動之前,如果滑雪者一開始在一個有著運算陳述式的格子的話,玩家應該計算步數來取代骰子擲出的步數。舉例來說,

 

 x+2; 代表2x。玩家必須把’x’取代成骰子上擲出的數字加2。如果玩家擲5,那麼步數就會變成72+5=7

 

相同的規則適用在其它有著算數式的陳述式上:

 

‘6-x;’ 代表6減去x’

‘2*x;’ 代表’2乘上x’

‘x+x;’ 代表’x加上x’

 

 x/x;  代表’x除以x’。除以本身的數字等於一。因此,玩家總是從這位置往前移動一格。

 

 x++;  代表’x增加一。玩家應該加一到骰子上所擲出的數字。舉例來說,如果數字擲出是4,算出來的步數便是5

4+1=5

 

 x--; 代表’x減去一。玩家應該把骰子上所擲出的數字減一。舉例來說,如果數字擲出是一,它變成01-1=0。如果玩家擲1,滑雪者在該回合不能移動。

 

 If(x==1)  代表如果x等於一。兩次等於的符號’==’會比較兩個數字是否相等。

 

當骰子擲出的數字等於一的時候,條件’x==1’為真。在其它所有情況下這條件為假。

當這條件為真時,滑雪者進入’if’右邊的橘色滑雪道。在進入’if’的通道之後,玩家被獎賞一個免費的擲骰並且只可以移動相同的滑雪者,當每位玩家使用超過一個棋子的時候。

 

當這條件是假的時候,滑雪者必須繼續往下移動,沿著藍色軌道。

 

相似的規則適用在版圖上所有其它的’if’陳述式:

 

‘if (x > 1) ’代表如果x是大於一23456時為真,然後1是假。

 

‘if (x < 5) ’代表如果x是小於五1234時為真,然後56則是假。

 

 else

‘else’ 關鍵字表示當先前’if’陳述式為假的時候應該遵循的一個通道。在此位置,滑雪者根據骰子上所擲出的數字移動。

 

 while(x < 4)  代表x小於4。關鍵字’while’用與’if’相同的方式來檢查條件。在’while’通道尾端的橘色箭頭指回’while’格,讓滑雪者可以作一個迴圈。

 

當條件’x<4’為真時,滑雪者進入’while’通道,根據骰子所擲出的數字來報走的步數。玩家接著被獎賞一個免費的擲骰並且應該再次移動相同的滑雪者。

 

當這條件是假的時候,滑雪者必須沿著藍色軌道繼續往下移動。

 

 while (x > 0)

同樣的規則適用在版圖上其它’while’陳述式。舉例來說,’while(x>0)’ 代表x大於零時。因為骰子上的任何數字都會大於零,這條通道必須總是讓在此位置開始的滑雪者進入。

 

當從任何迴圈中離開時,滑雪者應該繼續往下滑,沿著藍色軌道。

 

 goto jump;  關鍵字’goto’讓滑雪者跳到有標籤的方格’jump:’’jump’是一個給予版圖上特定位置名字的標籤。標籤讓’goto’陳述式可以跳到程式中各個地方。在這些位置時,滑雪者根據骰子所骰出的數字來移動。

 

 switch(x){  ’switch’陳述式位置開始,滑雪者移動到它其中一個標籤處。如果骰子上擲出的數字是123時,滑雪者應該分別移動到標示’case 1:’’case 2:’’case 3:’的方格。玩家被獎賞一個免費的擲骰並且再次移動相同的滑雪者。如果玩家擲出456,滑雪者沿著’default’通道。

 

 break;  關鍵字’break’創造出一個迴圈或一個’switch’的出口。在此位置,滑雪者移動骰子上所擲出的格數。

 

 continue;  關鍵字’continue’迫使滑雪者退回’while’。滑雪者根據骰子上所擲的數字來移動。如果在這次移動中超過一步,滑雪者離開迴圈並且沿著藍色軌道。

 

 return x;}  ‘return’陳述式讓滑雪者返回滑雪基地。不管擲出哪個數字,滑雪者會穿過終點線。

 

結束遊戲

要完成目標,滑雪者必須要用剛好的步數來穿過終點線,把終點位置算做一個方格。如果步數太大,玩家必須選擇另一名滑雪者,或跳過這回合。

創作者介紹

卡牌屋桌遊誌 BoardGame Hut 桌上遊戲

bghut 發表在 痞客邦 PIXNET 留言(5) 人氣()


留言列表 (5)

發表留言
  • ttes
  • 玩這款@@~根本是自虐~
  • 這符合程式設計師的生活呀!

    bghut 於 2012/03/24 00:17 回覆

  • Double-sided Clown
  • 資訊人避之唯恐不及吧。
  • 還是很多人喜歡呀!

    bghut 於 2012/05/07 17:52 回覆

  • 訪客
  • 這遊戲爛透了, 只會讓玩的人學到錯誤的程設觀念,
    請修正介紹文的前幾句好嗎?
  • 只有第一句是介紹,後面都是規則直譯喔

    bghut 於 2012/08/15 21:53 回覆

  • fr014371
  • 不知道樓上說「錯誤的程設觀念」有何根據?
    我不是程式設計師,但基本的C語言我也學過
    這本來就是一個概念性的遊戲,要當成教材是有點勉強。
    但是這樣就說是一款爛遊戲,我覺得是過於誇張了...

    我玩dilbert,也不會因為他跟現實職場差異太大而說他爛啊:p
  • 李紫綺
  • 請問這款台灣有販售嗎?
  • 目前應該只有我們有進,國外官網販售含國際運費超過一千五,我們有比較優惠

    bghut 於 2012/08/19 17:21 回覆

找更多相關文章與討論