2008年12月29日星期一

[遊戲介紹]卡坦島騎士擴充

http://heyjude0929.pixnet.net/blog/post/23649454

卡坦島野蠻人擴充Catan: Traders & Barbarians

http://heyjude0929.pixnet.net/blog/post/23409600

perl 代码片断

1:剔出c cpp h文件中的注释空行 by 20020220 太田君より入手
#############################################################################################
# 指定されたファイルのコメントと空行を取り去る
#--------------------------------------------------------------------------------------------
sub strip_comment {
my $in_file = shift;
my $out_file = shift;
open IN, $in_file or die("Canot open file");
open OUT, ">$out_file";

while ( ) {
chop;
my $in_comment = 0;
my $content = $_;

#
# 最初に /* ... */ , // .... が合成記述のチェックを行う
#
if ( $content =~ m/^(.*)\/\*(.*)\*\/(.*)$/) { # /* */を1行中に発見
if ($content =~ m/^\/\/.*$/) { # 先頭に//がある?
next; # 全部コメント行なので次の行へ(ループ)
}
elsif ($content =~ m/^(.*)\*\/\/\*(.*)$/ ) { # /* ... *//* .....のパターンは通常処理
;
}
elsif ($content =~ s/^(.*?)\/\/*\/\*(.*)$//) { # ... //* ... */...のパターン発見
$_ = $1; # ...// の前部分を通常処理の対象とする
$content = $1;
}
}

# 再度、通常の処理を実行する。

if ( s/^(.*)\/\*(.*)\*\/(.*)$/$1 $3/ ) { # /* */を同じ行に発見

while ( s/^(.*)\/\*(.*)\*\/(.*)$/$1 $3/ ) { # さらに/* */を同じ行でさがす
;
}
$content = $_;
}

if (m/^(.*)\/\*(.*)/) {
if (s/^(.*?)\/\/(.*)$/$1/) { $content =$1; $_ = $1}
}
if ( s/^(.*)\/\*(.*)$/$1/ ) { # 次に /* をさがす
$content = $_;
if ( ! /^[ \t]*$/ ) {
print OUT "$content\n";
}
while ( ) { # */を探して行を進める
chop;
$content = $_;
if ( s/^(.*)\*\/(.*)$/$2/ ) { # */を発見?
$content = $_;
last;
}
}
}
elsif ( s/^(.*?)\/\/.*$/$1/ ) { # V1.10 //を検索し最初の//以降すべて削除
$content = $1;
}

$_ = $content;

if ( /^[ \t]*\r$/ ) { # V1.6 spacespacespace LF
}
elsif ( /^[ \t]*$/ ) { # spacespacespace
}
else {
print OUT "$content\n";
}
}
close IN;
close OUT;
}

2008年12月22日星期一

卡坦島--C & K 扩展

Cities & Knights of Catan, The 卡坦島 - 城市及騎士

年份:1998
出版商:Mayfair Games, Kosmos, Tilsit
作者:Klaus Teuber
人數:3 - 4
年齡:10 +
時間:120 + 分鐘

這是「The Settlers of Catan 卡坦島 - 拓荒者」的附加配件。玩家必須先持有「The Settlers of Catan 卡坦島 - 拓荒者」遊戲,方可加入這配件。

加入這附加配件後,遊戲的佈局雖大同小異,但玩法即會有所改變。原先拓荒者中的發展卡development將會棄用,以城市發展取代,讓 玩家可換取科學、政治、商業3項進步卡progress。玩家各有其城市發展圖冊,圖冊上分為科學、政治、商業3段,可分別揭頁以代表玩家的進度。拓荒者 中的城鎮,可建造成重要的文化、宗教、貿易城市。

城市發展是以支付商品作代價。新加入的紙張、錢幣、布匹3種商品。玩家建有城市時,於森林、山脈、或草原上不再是生產2件木材、礦石或羊 毛,而是木材+紙張、礦石+錢幣或羊毛+布匹。紙張、錢幣及布匹,各用於提升科學、政治及商業發展。只有提升城市發展,玩家方可能取得進步卡。
由於沒有了發展卡,遊戲取消了「最大軍隊」的獎分,另加入了蠻族、騎士、城牆等原素。

每回合玩家由擲2顆骰,改為擲骰3顆。3顆骰中1顆是事件骰,其中有半數機會蠻族的船隻會朝卡坦島前進,另半數機會玩家可能取得進步卡。蠻 族抵達卡坦島時,即點算卡坦島城市數目、可動用的騎士力量。若卡坦島城市數目多於可動用的騎士力量,玩家中可動用的騎士力量最少者,其擁有之一座城市即被 毀變回聚落。

遊戲中玩家最多可擁有6名騎士。騎士力量分1、2、3共3類。玩家可使用其騎士驅趕賊匪、截斷他人的道路、驅逐他人的騎士,更重要是對抗蠻族入侵。騎士棋子分灰色及彩色兩面,玩家必須付出1稻麥方可讓騎士出動。可動用的騎士以彩色一面放置,完成任務後,即以灰色一面放置。

玩家付出2磚塊,即可在其城市建設城牆,以方形木塊放到城市下代表。玩家最多建設3個城牆,當然玩家亦需最少有3座城市。城牆的作用是當賊 匪出動時,玩家手上貨品上限加多2張卡。因此建有2座有城牆的城市,玩家只有當持有11(7+4)張卡以上,方會在賊匪出動時丟棄半數貨品。

加入這配件後,玩家的目標是搶先取得13分。最先取得13分或以上者勝出遊戲。

必須留意的是,不同出版商所出的「卡坦島 – 城市及騎士 The Cities & Knights of Catan 」,只配合其出版的「The Settlers of Catan 卡坦島 - 拓荒者」,否則圖板、棋子將會出現不吻合的情況。例如Mayfair出的英文版,必須配合其出版的附加配件。Kosmos出的德文版,亦只配合其出版的附加配件。