基于汇编语言实现的彩色黑白棋游戏

news/2024/11/13 22:26:10/

一、软件背景介绍

1.1 背景介绍

黑白棋在西方和日本很流行。游戏通过相互翻转对方的棋子,最后以棋盘上谁的棋子多来判断胜负。它的游戏规则简单,因此上手很容易,但是它的变化又非常复杂。有一种说法是:只需要几分钟学会它,却需要一生的时间去精通它。

黑白棋是 19 世纪末英国人发明的。直到上个世纪 70 年代日本人长谷川五郎将其进行发展和推广,借用莎士比亚名剧奥赛罗(othello)为这个游戏重新命名(日语“オセロ”),也就是现在大家玩的黑白棋。为何借用莎士比亚名剧呢?是因为奥赛罗是莎士比亚一个名剧的男主角。他是一个黑人,妻子是白人,因受小人挑拨,怀疑妻子不忠一直情海翻波,最终亲手把妻子杀死。后来真相大白,奥赛罗懊悔不已,自杀而死。黑白棋就是借用这个黑人白人斗争的故事而命名。

1.2 黑白棋规则

每个“翻转棋”游戏开始时,棋盘上已经交叉放好了四颗棋子。其中两颗是黑棋,另两 颗是白棋,黑棋总是先走。

开局先将双方的棋子按图中一样的位置摆放,黑子先走,如图黄点所示下一步有四种走法。黑白棋的每一步都要翻转对方的棋子才能走。如图 1.2.1

黑子做端点,隔旁边的白子做水平、竖直、斜 45 度的端点放黑子,必须是直线,中间白子都翻转为黑子。如图 1.2.2

到白子走,走法和黑子一相同。白子做端点,隔旁边的黑子做水平、竖直、斜 45 度的端点放白字,必须是直线,中间黑子都翻转为白子。如图 1.2.3

最后看棋盘上放满棋子时,谁的棋子多来判定胜负。如果途中有对方棋子完全被翻转成另己方的颜色,则己方提前获胜。如图 1.2.4

1.3 程序概况

功能需求

本程序是建议的双人黑白棋对战游戏,项目要求是准许双人对战,而且游戏的参与者必须是操作黑棋和白棋的两位不同玩家,双方按照游戏规则进行对局比赛,在用户操作过程中,程序会计时和计数,分别计算用户下棋的时间和目前棋盘中黑白棋的数目。程序按照规则来实现棋子的“翻转”和不同颜色棋子的计数,当棋盘下满时,程序比较不同 棋子的数量来判断胜利者。

性能需求


http://www.ppmy.cn/news/1545743.html

相关文章

我自己nodejs练手时常用的一些库基础用法

我自己在使用nodejs以及前端实战练习时常用的一些库的基本使用 1.bcrypt //注册账号时,给密码加密 password是前端传过来的密码,hashPassword是存到数据库中的密码 const bcrypt require(bcrypt) const hashPassword bcrypt.hash(password,10) //登…

解释一下宏定义和函数调用的区别

宏定义和函数调用都是用于代码重用和简化编程的工具,但二者之间有许多重要区别。 定义和作用 宏定义 使用 #define 指令定义,通常用于在预处理阶段进行文本替换。 宏的定义并不进行类型检查,因此可以接受任何类型的参数。 #define SQUARE(x…

VMware虚拟机可以被外部机器访问吗?

如何设置让同局域网内其他机器访问本地虚拟机服务(这里以访问我本地虚拟机ELasticSearch服务为例) 选中虚拟机 - 虚拟机 - 设置 虚拟机网络设置: 选中网络适配器,修改网络模式为NAT模式 编辑 - 虚拟机网络编辑器 更改设置 …

Spring Boot中集成MyBatis操作数据库详细教程

目录 前言1. 项目依赖配置1.1 引入MyBatis和数据库驱动依赖1.2 数据源配置 2. 创建数据库映射实体类3. 创建Mapper层接口4. 创建Service层4.1 定义Service接口4.2 实现Service接口 5. 创建Controller层6. 运行和测试项目6.1 启动项目6.2 测试接口 7. 总结 前言 在Java开发中&a…

vscode摸鱼学习插件开发

不知道大家在摸鱼的时候,会不会想要学习? 或者有没有考公人,下班要学习的? 上班时间摸鱼,下班时间不够学习? 为此,我决定开发一个vscode插件,来刷粉笔题 粉笔插件名称:…

RabbitMQ的应用

七种工作模式介绍 1.Simple(简单模式) P:生产者,也就是要发送信息的程序 C:消费者,消息的接收者 Queue:消息队列。图中黄色背景部分,类似一个邮箱,可以缓存发送信息;生产者向其中…

数据结构和算法入门

复杂度 大O记法 计算机怎么判断程序性能? 我们都知道编程基本上是在和数据打交道,大多数程序基本都在处理获取数据、查询数据、操作数据、返回数据相关的逻辑。 因此出现了数据结构和算法,这两者出现本质为了解决如何能够更快、更省进行数…

IDEA git提交时如何忽略某个文件或文件夹

步骤如下 英文界面操作顺序 打开file——>settings——>Editor——>File Types 中文插件操作顺序 打开 文件——>设置——>编辑器——> 文件类型 安装下面的操作顺序添加想要屏蔽文件类型后缀即可: