象棋

1 view
Skip to first unread message

依瑪貓

unread,
Mar 17, 2013, 12:58:58 PM3/17/13
to Greenfoot台灣社群
Dear all,

  上次工作坊後,受秉鋒老師的教案啟發,做了一個簡單的象棋遊戲:

http://www.greenfoot.org/scenarios/7769

  這主要是練習實作象棋規則,並且試著把方法實作抽象化,每個棋子有不同的
走法、吃法規則,可是實際執行時是執行上層的抽象類別「棋子 Piece 」。棋子
會依實際類別不同,而執行不同的程式碼,但是這個實作部份是被隱藏起來的,程
式統一以「棋子 Piece 」的介面操作執行。

  請各位老師不吝指教。還有,紅黑方都是人類玩家,沒有電腦玩家人工智慧可
以對戰,抱歉。 :p

--
依瑪貓 imacat ^_*' <ima...@mail.imacat.idv.tw>
PGP Key http://www.imacat.idv.tw/me/pgpkey.asc
旅舍依瑪 http://www.imacat.idv.tw/ 《女聲》電子報 http://www.wov.idv.tw/
台灣女子自由軟體工作小組 http://wofoss.blogspot.com/
OpenOffice http://www.openoffice.org/
EducOO/OOo4Kids台灣 http://www.educoo.tw/
Greenfoot 台灣社群 http://greenfoot.westart.tw/

signature.asc

高慧君

unread,
Mar 18, 2013, 3:03:20 AM3/18/13
to Greenfo...@googlegroups.com
依瑪貓:

哇,你的動作好快,一下子就寫出來了。
在你的手中,Greenfoot好像是小玩具一樣,
可以輕鬆地把玩。
上次你寫出接龍遊戲,我就很佩服你了,
這次的象棋遊戲似乎又更高桿吧!

慧君 

lurie

unread,
Mar 18, 2013, 9:29:37 PM3/18/13
to Greenfo...@googlegroups.com
太強了... 被將軍時...也限制了能走的殘步...
是個很好的作品

依瑪貓 <ima...@mail.imacat.idv.tw> 於 2013年3月18日上午12:58 寫道:

pingfeng

unread,
Mar 20, 2013, 11:26:28 AM3/20/13
to GreenfootTaiwan
Greenfoot 有沒有卷軸的指令可用
像網頁那樣,傳一大個文字進去
超出版面就自己產生卷軸


Call 吳秉鋒[skype id : wupingfeng
Get Skype and call 吳秉鋒 for free.

此信箱容量小
大型附件請轉寄 pingf...@gmail.com

依瑪貓

unread,
Mar 20, 2013, 11:56:37 AM3/20/13
to Greenfoot台灣社群
於 2013年03月20日 23:26, pingfeng 提到:
> Greenfoot 有沒有卷軸的指令可用
> 像網頁那樣,傳一大個文字進去
> 超出版面就自己產生卷軸<br

就我瞭解好像沒有耶。卷軸要自己刻。
或是可以上 Greenroom 找找看有沒有人刻好分享的。

我前兩天做好後修修改改,
現在已經可以讀入、輸出 FEN 標準格式的棋局了。不過棋譜還沒有辦法。
setUpByFen() 可以傳入 FEN 格式字串,就會擺出棋局。
printFen() 則會印出棋局的 FEN 表示法。
我存了六局棋,
除空棋盤(方便擺譜)和標準開局外,
還有 1999 年許銀川聶衛平棋王對棋聖,讓九子的開局,
香港媒體報導過街頭詐騙的「小紅馬」殘局,
《橘中秘》殘局第四「借炮使傌」,
還有一局「炮兵勝雙士象」。
initializeGame() 可以切換棋局,參數範圍是 0-5 。
(FEN 記譜法: http://www.xqbase.com/protocol/pgnfen2.htm

因為有了 getFen() 很方便存棋局,就順便每回合都存起來,存成了歷史記錄,
不過因為沒有存棋譜(每一步走了什麼),
所以歷史記錄只是先存著,沒有顯示,沒有悔棋,沒有拿出來用。

上次忘了說,圖檔來自 Open Clip Art 的 Anton Yu 。
http://openclipart.org/detail/6711/chinese-chess-by-antontw-6711
紅炮的字不對(應該是「炮」不是「砲」),不過日後有空再說吧。 ^^;
signature.asc
Reply all
Reply to author
Forward
0 new messages