在前面两节(第一节.第二节)中介绍了中国象棋的功能和project文件.在这篇博客中将介绍中国象棋的開始场景的实现 在写代码前先理清一下实现開始场景的思路: 1.打开游戏后进入開始场景,场景上显示一个红色的帅和黑色的将.而且两个棋子在同一条直线上(两个棋子的y坐标同样) 2.当玩家单击红色的帅后,红色的帅一边向右移动一边依照顺时针方向旋转,黑色的将一边向左移动一边依照逆时针方向旋转 3.当玩家单击黑色的将后,红色的帅一边向右移动一边依照顺时针方向旋转.黑色的将一边向左移动一边依照逆时针方向旋转…
我在上一篇博客中介绍了象棋的功能.在接下来的博客中将向大家介绍使用Cocos2d-X怎样一步一步开发中国象棋 开发工具: Cocos2d-X2.2.3 VS2012 项目的文件夹: Classes:存放公共代码 proj.android:用于开发Android上的Cocos2d-X游戏 proj.win32:用于开发Windows上的Cocos2d-X游戏 Resource:存放游戏资源 Classes文件夹: AppDelegate.h/AppDelegate.cpp:设置游戏属性 AppMa…
一.新建project 具体安装和新建project的方法在cocos2dx文件夹下的README.md文件里已经有具体说明,这里仅仅做简介. 1.上官网下载cocos2dx-3.0的源代码.http://www.cocos2d-x.org/ 2.安装python2.7 3.执行setup.py安装 4.运行cocos new helloworld -p helloworld -l cpp,生成新project 二.新建project中包括的东西 -Classes AppDelegate.cpp…
在上一节中实现了新局,至此中国象棋的准备工作差点儿相同都完毕了,在接下来的博客中将介绍玩家的走棋和一些游戏属性的设置,今天先介绍走棋和走棋规则 老规则,先看走棋的效果图,然后依据效果图一步一步分析游戏逻辑,最后会贴出代码 走棋分为两个步骤: 第一步选棋:通过点击棋子实现选棋子,当选中某个棋子的时候,选择框会套在选中的棋子上 第二步走棋:通过点击棋盘上的位置能够实现棋子的移动,当点击的位置是同意棋子移动的位置时,棋子会移动到点击的位置 走棋的实现思路 1.游戏走棋时採用红先黑后原则,红棋和黑棋轮流…
    Pygame 做的中国象棋,一直以来喜欢下象棋,写了 python 就拿来做一个试试,水平有限,电脑走法水平低,需要在下次版本中更新电脑走法,希望源码能帮助大家更好的学习 python.总共分为四个文件,chinachess.py 为主文件,constants.py 数据常量,pieces.py 棋子类,走法,computer.py 电脑走法计算. PS:另外很多人在学习Python的过程中,往往因为遇问题解决不了或者没好的教程从而导致自己放弃,为此我整理啦从基础的python脚本到we…
在上一节中实现了走棋,这篇博客将介绍中国象棋中的走棋规则 在写博客前先可能一下象棋的走棋规则: 1)将 将的坐标关系:横坐标相等,纵坐标相减绝对值等于1,或者纵坐标相等,横坐标相减绝对值等于1 将的特殊要求:目标坐标坐落于九宫内 将的例外情况:假设两个老将面对面而中间没有棋子阻拦.老将能够直接飞到对方九宫吃对方老将 2)士 士的坐标关系:纵坐标和横坐标相减的绝对值都是1, 士的特殊要求:目标坐标坐落于九宫内 3)象 象的坐标关系:纵坐标和横坐标相减的绝对值都是2 象的特殊要求:象眼不能有棋子,不…
设计完開始界面后就要设计游戏界面了 为了理清设计思路先看一张游戏界面效果图 游戏界面设计思路: 1.在窗体上放一张桌子 2.在桌子上放一个棋盘 3.在棋盘右边加入新局button,暂不实现详细的功能 4.在棋盘右边加入開始button,暂不实现详细的功能 5.在棋盘右边加入悔棋button,暂不实现详细的功能 6.在棋盘右边加入难度button,暂不实现详细的功能 7.在棋盘右边加入声音button,暂不实现详细的功能 8.在棋盘右边加入返回button.暂不实现详细的功能 9.在桌子右边加入一…
对于server的搭建和设置.我在这里就不再多说了.有好多前辈已经帮大家攻克了.能够參考下这篇博客 XMPPserver配置 我依照这个博客配置好了,server后,然后在网上參照代码写了一个小的demo,可是发送网络请求的时候发现没有收到验证password的回调.刚開始的时候我怀疑是自己的代码写的有问题,但总共就那几句代码.我看了N多遍.也没有发现问题的所在,后来加了几个QQ群,在群里问了一下也没有问出个所以然来,,我又開始怀疑自己的server的搭建有问题,看了上面前辈的博客.发现自己的都…
这一篇的内容主要是在上一篇的基础上,增加分数计算(包含当前分数和最高分数).游戏结束的推断以及游戏界面的重置这三个部分的功能. 一.分数的计算和保存          首先,2048这个游戏的分数包含,两个部分当前游戏分数和最高分,当前的游戏分数我们能够保存在程序的变量中,由于它仅仅对当前这盘游戏实用,游戏结束就能够清空:而最高分则须要以一种方式保存在手机中,这样当我们下次再打开游戏时,还能读取到之前操作的最高分. 1.当前分数         当前分数的计算还是非常easy.我们仅仅须要在每次…
你要知道的runtime都在这里 转载请注明出处 http://blog.csdn.net/u014205968/article/details/67639303 本文主要解说runtime相关知识,从原理到实践.因为包括内容过多分为下面五篇文章具体解说,可自行选择须要了解的方向: 从runtime開始: 理解面向对象的类到面向过程的结构体 从runtime開始: 深入理解OC消息转发机制 从runtime開始: 理解OC的属性property 从runtime開始: 实践Category加入属…
iOSFoundation框架 当你着手为你的应用编写代码的时候,你会发现有很多可供使用的Objective-C的框架类,当中尤其重要的就是基础框架类.它为平台全部的应用提供基础服务.基础框架类中包括了表示字符串和数字等基本数据类型的值类(value classes),也实用来存储其它对象的集合类(collection classes).你将会依赖值类和集合类为你的ToDoList app编写大量代码. 值对象(Value Objects)   Foundation框架提供了生成字符串.二进制数…
),React Native技术交流4群(458982758),请不要反复加群! 欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文章技术推送! (二)执行APP工作 2.1.React Native项目源代码下载 React Native项目官方地址:https://github.com/facebook/react-native  我们能够使用例如以下命令把代码clone到本地. git clone https://gith…
自学Android一个月多了,一直在工作之余零零散散地看一些东西.感觉经常使用的东西都有些了解了,可是一開始写代码总会出各种奇葩的问题.感觉还是代码写得太少.这样继续杂乱地学习下去进度也太慢了,并且学一点忘一点,效率太低.所以从今天開始.我打算实际做点小程序.在开发中不断地学习吧. 恰好近期Android上有个游戏2048比較火,所以就那这个练手吧. 由于对Android还没有太深入的了解,所以我写的东西都会比較基础,所以须要看一些高阶开发的朋友能够绕过了,也希望能够有高手们给我一些指导和建议,…
近期要開始学习swift开发了,接下来的日子,会记录学习swift的历程.…
之前两个博客讲述了象棋的规格和工程文件之后,我们继续深入的从代码开始学习cocos2dx 首先从程序入口main函数开始 main函数 int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { UNREFERENCED_PARAMETER(hPrevInstance); UNREFERENCED_PARAMETER(lpCmdLine); #ifde…
上一篇博文我们看到了象棋的效果图,这一张我们来看象棋代码的整体概述 让我们先对整个代码框架有个了解. 主目录: 主目录包含内容如上图: classes目录:业务代码 proj.win32:包括main.cpp和工程文件 Resorces:代码中用到的资源 剩下三个文件我们不用,不解释了 classes目录: classes目录代码如上图 这里包含了一下代码文件,以cpp为例解释 WelCome.cpp:是欢迎页面的实现 AppDelegate.cpp:是app委托类,对cocos2dx应用程序的…
象棋描述 在说代码之前,我们先让象棋效果登场,以方便大家对代码的理解 欢迎界面 中国象棋程序,运行起来的第一个界面是一个欢迎界面,该欢迎界面在停留一秒后进入游戏界面 游戏主界面 新局:所有棋子归位,状态复位 开始:在开了[新局]之后,点击[开始]开始游戏,只有点击开始之后,才能移动棋子 悔棋:局面往后退一步 难度:该功能未实现 选中棋子 如果某个棋子选中,该棋子用绿色框围住,表示选中状态 移动棋子 当棋子被选中后,鼠标继续再点空地,如果符合规则,那么棋子就会移动到目标坐标 吃棋子 选中己方的棋子…
转载请注明出处,原文网址:http://blog.csdn.net/m_changgong/article/details/8013553 作者:张燕广 从经典的HelloWorld開始踏入iPhone开发的大门吧! keyword:HelloWorld iPhone IOS 1.打开xcode,选择"Create a New Xcode project" 2.xcode中的project分为两大类,一是IOS,二是Mac OS X,前者是进行iPhone/iPad开发,后者是进行Ma…
多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零開始做OpenCL开发>系列文章的第一篇. 1 异构计算.GPGPU与OpenCL OpenCL是当前一个通用的由非常多公司和组织共同发起的多CPU\GPU\其它芯片 异构计算(heterogeneous)的标准,它是跨平台的.旨在充分利用GPU强大的并行计算能力以及与CPU的协同工作,更高效的利用硬件高效的完毕大规模的(尤其是并行度高的)计…
在android中有五种保存数据的方法.各自是: Shared Preferences Store private primitive data in key-value pairs. 相应属性的键值对属性文件存储 Internal Storage Store private data on the device memory. 设备内存存储 External Storage Store public data on the shared external storage. 外部存储器存储,如内…
本系列文章由birdlove1987编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhurui_idea/article/details/26364129 写在前面:自己对DirectX挺感兴趣的,加上自己眼下在研究3D重建方面的东西,所以利用课余时间学习一下. 看了一段时间的书,感觉还是靠动手编写一些小样例来学习,进步的更快体会的更深. 所以从我自己写的一个小游戏開始吧,把自己学习心得和自己的一些想法写下来.更是欢迎有兴趣的童鞋来和我交流. 首先:先把我的小样例…
内容:走法产生 中国象棋基础搜索AI, 极大值,极小值剪枝搜索, 静态估值函数 理论基础: (一)人机博弈走法产生: 先遍历某一方的所有棋子,再遍历整个棋盘,得到每个棋子的所有走棋情况(效率不高,可以改进) void SingleGame::getAllPossibleMove(QVector<Step *> &steps) { int min, max; if(this->_bRedTurn) { min = , max = ; } else { min = , max = ;…
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 假设认为写的不好请多提意见,假设认为不错请多多支持点赞.谢谢! hopy ;) 四.创建随意时间之前開始的提醒 如今我们找到了指定源中的指定日历,剩下要做的就是在日历中创建一个事件,而且设置其对于的提醒.我们能够创建2种类型的事件:单一的和循环的(或者称之为反复的).这里为了简单起见(KISS),我们仅仅创建单一的事件: -(void)addAlarmToCalendar:(EKCalendar*)calendar inStore:(EK…
今天是尝试開始Android版2048小游戏的第二天.在今天,我主要学习了怎样获取用户在屏幕滑动的手势,以及对布局进行了一些小小的完好. 获取用户操作的手势(比方向左滑.向右滑等)主要用到了GestureDetector.这个类能够帮助我们获取一些常见的用户对屏幕的操作.比如单击.双击.按压.拖动等.详细的使用说明.大家能够查API也能够去百度,或者看我之前有一篇使用GestureDetector实现的小样例(http://blog.csdn.net/xiapinnong/article/det…
目前已经实现的功能: V1.0 : 实现棋子的布局,画布及游戏场景的初始化V2.0 : 实现棋子的颜色改变V3.0 :实现所有象棋的走棋规则V4.0 : 实现所有棋子的吃子功能 GItHub源码下载地址:https://github.com/xiugangzhang/ChineseChess如果需要直接体验的朋友也可以直接通过这个连接体验哈:http://htmlpreview.github.io/?https://github.com/xiugangzhang/ChineseChess/blo…
重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27689713 郝萌主友情提示: 人是习惯的产物,当你习惯快乐时,记忆里的不愉快就消失了. 游戏開始之前 经过之前的学习,我们已经能够开发一个最主要的 Cocos2d-x 游戏了,这个游戏包含一张背景图片和一个退出游戏的按 钮,可是这距离完毕一个完整.有用的游戏还非常遥远. 在这一章节中,我们将首先抛开 Cocos2d,介绍游戏开发的基本概念,然后结合…
尊重开发人员的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27094663 前言 Cocos2d-x 是一个通用平面游戏引擎,基于一个相同十分著名的游戏引擎 Cocos2d-iPhone 设计. 它继承了 Cocos2d 系列引擎一贯的特点:使用简单,执行高效.灵活.且功能强大. 与 Cocos2d-iPhone 不同的是,Cocos2d-x 还拥有强大的跨平台能力,仅仅须要编写一次代码, 就能够无缝地部署在…
最近開始学习swift,以后mac和ios开发就指望它,曾经学oc半途而废了.主要原因是oc等语法实在能适应,如今有swift了.语法有js,scala,python,c++,oc等语言的影子,又一次開始学习吧.目标是今年彻底搞定ios和mac开发 一.官方的API永远是最有权威的,直接在iBook看吧.mac.ipad直接在iBook Store搜swift,有2本书.英文的,个人感觉比看以下那个翻译的easy理解,抽出时间用iPad看看即可了. 二. The Swift Programmin…
尊重开发人员的劳动成果.转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/27107295 搭建开发环境 使用 Cocos2d-x 的一个非常大便利之处在于,我们能够在 PC 或 Mac 环境下完毕编码和大部分的调试,然后再迁移到其它设备 上做实际环境測试.这意味着我们能够在 PC 上开发游戏.然后以极其低廉的成本把游戏迁移到 iOS 或其它平台上,从而节 省了开发阶段支付在设备方面的很多费用. 前面提到,Cocos2d-x…
/* 说明: **1.本次游戏实例是<cocos2d-x游戏开发之旅>上的最后一个游戏,这里用3.0重写并做下笔记 **2.我也问过木头本人啦.他说:随便写,第一别全然照搬代码:第二能够说明是学习笔记---好人 **3.这里用cocos2d-x 3.0版本号重写,非常多地方不同.可是从重写过程中也非常好的学习了cocos2d-x */ ***每一步相应的全部代码以及用到的资源都会打包在最后给出 ***为避免代码过多.每一步的代码都做了标记--一看就晓得是第几步实现的避免出错改不回去(难不成还用…