基于汇编语言实现的彩色黑白棋游戏
一、软件背景介绍
1.1 背景介绍
黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它。
黑白棋是 19 世纪末英国人发明的。直到上个世纪 70 年代日本人长谷川五郎将其进行发展和推广,借用莎士比亚名剧奥赛罗(othello)为这个游戏重新命名(日语“オセロ”),也就是现在大家玩的黑白棋。为何借用莎士比亚名剧呢?是因为奥赛罗是莎士比亚一个名剧的男主角。他是一个黑人,妻子是白人,因受小人挑拨,怀疑妻子不忠一直情海翻波,最终亲手把妻子杀死。后来真相大白,奥赛罗懊悔不已,自杀而死。黑白棋就是借用这个黑人白人斗争的故事而命名。
1.2 黑白棋规则
每个“翻转棋”游戏开始时,棋盘上已经交叉放好了四颗棋子。其中两颗是黑棋,另两 颗是白棋,黑棋总是先走。
开局先将双方的棋子按图中一样的位置摆放,黑子先走,如图黄点所示下一步有四种走法。黑白棋的每一步都要翻转对方的棋子才能走。如图 1.2.1
黑子做端点,隔旁边的白子做水平、竖直、斜 45 度的端点放黑子,必须是直线,中间白子都翻转为黑子。如图 1.2.2
到白子走,走法和黑子一相同。白子做端点,隔旁边的黑子做水平、竖直、斜 45 度的端点放白字,必须是直线,中间黑子都翻转为白子。如图 1.2.3
最后看棋盘上放满棋子时,谁的棋子多来判定胜负。如果途中有对方棋子完全被翻转成另己方的颜色,则己方提前获胜。如图 1.2.4
1.3 程序概况
功能需求
本程序是建议的双人黑白棋对战游戏,项目要求是准许双人对战,而且游戏的参与者必须是操作黑棋和白棋的两位不同玩家,双方按照游戏规则进行对局比赛,在用户操作过程中,程序会计时和计数,分别计算用户下棋的时间和目前棋盘中黑白棋的数目。程序按照规则来实现棋子的“翻转”和不同颜色棋子的计数,当棋盘下满时,程序比较不同 棋子的数量来判断胜利者。
性能需求