游戏效果
跳棋游戏 -- 【代码详细见附件,本版本暂只支持 谷歌的 chrome 浏览器,其它浏览器后续支持 】
作者:江潇
qq: 2270112418
Version: 0.0.1 2013-6-24 -- 建议使用 chrome 运行、调用本次和后面推出的示例
背景:学了段时间backbone框架,分析跳棋游戏比较适合于backbone的编程思维,其有多些个 collecton + model + view 模型。
其实本游戏当初我不用backbone时代码量会更少,但用了结构更清晰、且易于扩展。
如何应用backbone 请参见即将在iteye上连载的 《 逐行分析JS源代码 之 backbone 》[今晚将推出第一部分],欢迎批评指正。
后期将在分析其它源码时为本案例添加其它诸如 nodeJS 等可连网对战功能。
功能:1、chrome下运行 附件里的 draughts.html,会自动生成棋盘。
2、选择左上角玩家数量,点击开始,在棋盘上生成对应的玩家棋子
3、选择任一棋子其周围会显示可跳位置,同常规跳棋
4、点击可跳位置,棋子会跳到目标位置
5、玩家在跳动过程中可悔棋一步
6、当玩家全部跳到对家阵地时,会弹框提示成功
重点:1、如何画出棋盘 及 标识每个坑的位置见下图,
通过看上面的图,可得出,棋盘就是两个等边三角形交叉可得,且每个棋子生成有可遵循的规律。
我们以其所在坐标点为每个点的ID,如 12-0为第一层的ID,11-2,13-2为第二层的ID,坐标数值也 可以按规范取出,详见 draughts.js里的 createCoords 方法
function loop( dir ){ var j = 0, k = 0; while( j < 13 ){ _x = x - j * _lit + k * _lit * 2; if( dir ){ _y = y + _lit * j * 2; _c = 12 - j + k*2 + '-' + j; } else { _y = y + _lit*2*( 16 - j ); _c = 12 - j + k*2 + '-' + (16 - j); } me.createCoord( _c, _x, _y, j, k, dir ); if( k == j ){ j = k + 1; k = 0; } else { k++; } } }
2、如何标识出每个坑与邻近坑的关系
通过上图我们可以看到每个点有六个相连点,左上、右上、左、右、左下、右下,而坐标关系如下
refers = { tl: (_x-1)+'-'+(_y-1), //左上 tr: (_x+1)+'-'+(_y-1), //右上 ll: (_x-2)+'-'+_y, //左 rr: (_x+2)+'-'+_y, //右 bl: (_x-1)+'-'+(_y+1), //左下 br: (_x+1)+'-'+(_y+1) //右上 }; /* * 上面这所以标出方向,是后面查询间隔跳的关联点是要用到 */如方向上的值 所代表的坐标点在第一步中生成的坐标集合中存在,即意味该点存在,这样找到坑所有的存在的关联。详见 Coords.refer
3、点击某棋子时,如何找出可跳点
在第二步的基础上,查询A点一周的关联点,是否有棋子,如果没有则可跳,如果有,如点右下方B点已有其它棋子,则查询B的右下方位置C是否空缺,如空则可跳,再判断C一周是是否有棋子,如有再查找同方法的下一个位置是否有空缺,依次递归。详见 Piece.arround / Piece.getSkip / Piece.near / Piece.getNearBy
最后,本游戏只在两台电脑上测试通过,欢迎大家试用,如有问题建议,欢迎反馈
相关推荐
背景:学了段时间backbone框架,分析跳棋游戏比较适合于backbone的编程思维,其有多些个 collecton + model + view 模型。 其实本游戏当初我不用backbone时代码量会更少,但用了结构更清晰、且易于扩展。 如何应用...
在这个特定的压缩包中,我们看到了几个与开发一个跳棋游戏相关的文件。 `modSound.bas` 文件可能是模块化设计的一部分,它可能包含了游戏中的声音处理函数。在Basic语言中,模块(Module)是一种组织代码的方式,...
跳棋小游戏MFC是一款基于Microsoft Foundation Classes (MFC)库开发的编程项目,它为编程初学者提供了一个学习和实践MFC编程理念的平台。MFC是微软为Windows应用程序开发设计的一套C++类库,它封装了Windows API,...
总的来说,用C++编写跳棋游戏涵盖了编程基础、面向对象设计、算法设计、GUI编程以及AI开发等多个方面的知识。通过这个项目,开发者不仅可以提升编程技能,还能深入理解游戏开发的过程,增强问题解决和逻辑思维能力。...
跳棋,又称中国跳棋或飞行棋,是一种策略性棋类游戏,适合各年龄段的玩家,其规则简单但变化丰富,因此在编程界常被选为学习游戏开发的入门项目。 源代码是程序的原始形式,程序员用特定的编程语言(如C++、Python...
标题中的“专业跳棋游戏VB版”指的是一个使用Visual Basic(VB)编程语言开发的跳棋游戏软件。VB是微软公司推出的一种面向对象的、事件驱动的编程工具,尤其适合于快速开发用户界面友好的应用程序。跳棋游戏,又称为...
在本文中,我们将深入探讨如何使用Java编程语言开发一个跳棋游戏。跳棋,也称为中国跳棋或国际跳棋,是一种策略性棋类游戏,适合各年龄段的玩家。对于初学者来说,通过编写跳棋游戏,可以学习到Java编程的基础、面向...
跳棋游戏源码是编程爱好者和学习者们经常会遇到的一种学习资源,尤其对于那些想深入理解C++编程语言以及游戏开发的人来说,这是一个很好的实践项目。本文将详细解析使用Visual C++编写跳棋游戏源代码的相关知识点。 ...
从给定的文件信息来看,本文档主要围绕跳棋游戏的设计过程及开发提示进行阐述,提供了从游戏架构、代码组织到具体实现细节的全面指导。下面将深入解析这些知识点。 ### 跳棋游戏设计概览 跳棋游戏的设计不仅涉及...
Python写的跳棋小游戏,适合python初学者。游戏规则如下: (1)点击黑棋开始 (2)点击任何白棋,经过相邻棋子,直线跳到空白处,则被跳过的棋子被消除 (3)依次跳过,确保最后最少的棋子无法被消除 作者最好成绩...
跳棋游戏源码是计算机编程领域中一个典型的项目实例,主要使用Visual Basic(VB)语言进行编写。VB是一种面向对象的编程语言,尤其适合初学者和快速开发简单应用。在这个跳棋游戏中,开发者通过VB实现了游戏逻辑、...
在这款由Eclipse开发的跳棋游戏中,玩家可以享受多玩家对战的乐趣,进一步提升了可玩性。Eclipse是一款广泛应用于Java开发的集成开发环境(IDE),它的强大功能和易用性使得开发复杂的软件项目变得更为便捷。 1. **...
跳棋游戏是一款经典的两人对弈桌面游戏,它以其简单的规则和深奥的策略深受人们喜爱。在这个用C++实现的跳棋游戏项目中,我们能够深入理解编程、算法设计以及游戏逻辑的实现。 首先,我们要了解C++语言基础。C++是...
智能西洋跳棋博弈框架设计的知识点涵盖了计算机博弈理论、递归算法、评估函数、博弈树构建、Alpha-Beta剪枝以及程序优化等多个方面。 首先,智能西洋跳棋博弈框架是一个在人工智能领域中重要的研究方向。西洋跳棋因...
标题中的“跳棋游戏(人人对弈)”表明这是一个双人对战的跳棋游戏程序,意味着它不包含与计算机智能对弈的功能。描述中提到的限制条件,即“不支持人机对弈”和“必须逐步跳跃”,意味着游戏设计遵循传统跳棋规则,...
《使用VC++编写的跳棋游戏》是一款基于Visual C++编程环境开发的桌面游戏,旨在帮助编程爱好者在娱乐中提升编程技能。跳棋游戏是一种深受人们喜爱的传统智力游戏,通过编程实现,它不仅可以锻炼逻辑思维,还能加深对...
【VB网络跳棋游戏源码】是一个基于Visual Basic(VB)开发的网络跳棋游戏程序。VB是一种由微软推出的事件驱动编程语言,以其直观的界面和易于学习的特点,深受初学者和专业开发者喜爱。本项目旨在提供一个网络跳棋...
Java跳棋游戏程序是一款利用Java编程语言开发的桌面游戏,适用于JDK1.5或更高版本。这个程序不仅提供了一个可玩的跳棋游戏,而且因其源代码的开放性,对于初学者和开发者来说,是一个极好的学习资源,能够帮助他们...