c-jump - 桌遊

By Robert
at 2012-03-22T21:50
at 2012-03-22T21:50
Table of Contents
c-jump,一款用來輔助教導程式語言觀念的桌上遊戲,你是資訊人嗎?
這款遊戲可以讓你回想起剛開始學寫程式的那些日子。
圖文版:http://bghut.pixnet.net/blog/post/36467799
c-jump
滑雪&滑雪板競賽
玩法介紹
靠著玩遊戲來探索電腦程式設計的原理
c-jump是一款歡樂的家庭遊戲,讓程式語言如C、C++、Java的學習者能因此受益。
沿著版圖移動,進入迴圈、條件分支與switch的陳述式,玩家會得到完整程式的實際經驗
。瞭解電腦內部動作對瞭解軟體是什麼是絕對有必要的。靜態的程式會產生電腦內動態的
程序。在玩這款遊戲過程中,玩家可以看到這個程序的運作。
玩家人數
2到4位玩家
年齡
年齡11+
配件
一張遊戲版圖、一粒骰子、以及代表每位玩家滑雪者的成套各色棋子。
遊戲目的
第一位讓所有滑雪者滑過終點線的玩家便是贏家。
設定
滑雪者在起始處排好並且沿著滑雪道競賽,遵循每位玩家的擲骰結果與版圖規則。
在版圖上的格子以正方形表示。每個方形有一個規則的陳述式,從程式語言那邊所借用而
來。分號;會把多個規則分開來。
int x;
關鍵字’int’創造整數的變數’x’。在遊戲中,’x’代表骰子上所擲出的數字。舉例
來說,如果玩家擲出5,那麼x就會變成5。從這個位置開始,滑雪者根據骰子上所擲出的
數字來往下滑。
int main()
“Main”是版圖上藍色滑雪道的名字。所有的電腦程式都有名為’main’函式。函式定義
電腦操作。滑雪者可以往下滑的步數為骰子擲出的數字。
{
}
左大括號’{‘表示滑雪道的開始。右大括號’}’則結束此滑雪道。這些括號不需要特別
的計算,並且可以被視為空的登陸空間。
進行遊戲
玩家擲骰並且移動他的一名滑雪者,一邊數著方格的數量。在遊戲中每位玩家可以操控一
名以上的滑雪者。在版圖上有著相同顏色的多位滑雪者時,玩家可以選擇任一名滑雪者來
移動。
在移動之前,如果滑雪者一開始在一個有著運算陳述式的格子的話,玩家應該計算步數來
取代骰子擲出的步數。舉例來說,
x+2; 代表’加2到x上’。玩家必須把’x’取代成骰子上擲出的數字加2。如果玩家擲5
,那麼步數就會變成7:2+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減去一’。玩家應該把骰子上所擲出的數字減一。舉例來說,如果數字擲
出是一,它變成0:1-1=0。如果玩家擲1,滑雪者在該回合不能移動。
If(x==1) 代表’如果x等於一’。兩次等於的符號’==’會比較兩個數字是否相等。
當骰子擲出的數字等於一的時候,條件’x==1’為真。在其它所有情況下這條件為假。
當這條件為真時,滑雪者進入’if’右邊的橘色滑雪道。在進入’if’的通道之後,玩家
被獎賞一個免費的擲骰並且只可以移動相同的滑雪者,當每位玩家使用超過一個棋子的時
候。
當這條件是假的時候,滑雪者必須繼續往下移動,沿著藍色軌道。
相似的規則適用在版圖上所有其它的’if’陳述式:
‘if (x > 1) ’代表’如果x是大於一’,2、3、4、5、6時為真,然後1是假。
‘if (x < 5) ’代表’如果x是小於五’,1、2、3、4時為真,然後5與6則是假。
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’陳述式位置開始,滑雪者移動到它其中一個標籤處。如果骰
子上擲出的數字是1、2或3時,滑雪者應該分別移動到標示’case 1:’、’case 2:’、
’case 3:’的方格。玩家被獎賞一個免費的擲骰並且再次移動相同的滑雪者。如果玩家
擲出4、5、6,滑雪者沿著’default’通道。
break; 關鍵字’break’創造出一個迴圈或一個’switch’的出口。在此位置,滑雪者
移動骰子上所擲出的格數。
continue; 關鍵字’continue’迫使滑雪者退回’while’。滑雪者根據骰子上所擲的
數字來移動。如果在這次移動中超過一步,滑雪者離開迴圈並且沿著藍色軌道。
return x;} ‘return’陳述式讓滑雪者返回滑雪基地。不管擲出哪個數字,滑雪者會
穿過終點線。
結束遊戲
要完成目標,滑雪者必須要用剛好的步數來穿過終點線,把終點位置算做一個方格。如果
步數太大,玩家必須選擇另一名滑雪者,或跳過這回合。
--
卡牌屋桌上遊戲 0988-795784
新竹桌遊館:新竹市東山街85號 (新竹中學前) 03-5734115
台北專賣店:台北市忠孝西路一段50號25樓 (Kmall樓上) 02-23112981
花蓮加盟店:花蓮市自由街28-1號 (遠百巷子裡) 0916-082367
官方網站:http://bghut.com 部落格:http://bghut.pixnet.net
露天拍賣區:http://class.ruten.com.tw/user/index00.php?s=boardgamehut
--
Tags:
桌遊
All Comments

By Tracy
at 2012-03-27T02:51
at 2012-03-27T02:51

By Sarah
at 2012-04-01T02:33
at 2012-04-01T02:33
Related Posts
兩款套裝遊戲效益的比較

By Christine
at 2012-03-22T20:54
at 2012-03-22T20:54
農家樂的規則問題

By Bethany
at 2012-03-22T15:16
at 2012-03-22T15:16
風聲 台詞

By Xanthe
at 2012-03-22T14:07
at 2012-03-22T14:07
抵抗組織/反抗軍(The Resistance)謀略卡

By Andy
at 2012-03-22T13:57
at 2012-03-22T13:57
抵抗組織/反抗軍(The Resistance)謀略卡

By Regina
at 2012-03-22T13:44
at 2012-03-22T13:44