win8 开发之旅(3) --五子棋游戏开发 前奏

     真的是好久、好久没有写博客了,手都生了。我有在国庆这七天的时间更进一步的学习了xaml语言,熟悉了win8的开发的过程。  

   因此我会把我这些天开发的一些心得陆陆续续的分享给大家。

      经过前几次我写相应的开发的历程,我就发现写自己开发的历程,要么直说自己的想法,要么只贴源代码,使读者摸不着头脑。在这里,

 我争取综合两者长处,深入浅出的剖析开发历程,争取使大家有所获益。

      在这节中,我们要主要搞清楚以下几个问题。

      什么是五子棋

      编程实现五子棋有哪些难点

       五子棋,相信大多数人都玩过。因此对他都有所了解。那五子棋的定义究竟是什么了? 

       百度百科上说:

    传统五子棋的棋具与围棋大致相同,棋子分为黑白两色,棋盘为15×15,棋子放置于棋盘线交叉点上。两人对局,各执一色,轮流下一子,先将横、竖或斜线的5个或5个以上同  

     色棋子连成不间断的一排者为胜(正规比赛中黑棋只能连成5个。6-9个一排算禁手,另外黑棋还有33和44禁手。黑棋禁手判负。白棋没有限制)。

     因为传统五子棋在落子后不能移动或拿掉,所以也可以用纸和笔来进行游戏。

 

     简而言之,就是谁 先将横、竖或斜线的5个或5个以上同 色棋子连成不间断的一排者为胜。

   

      电脑通过编程实现棋类游戏,一直不是好惹的鸟,尤其是通过电脑通过人工智能模拟的围棋的水平至今才能业余三段的水平。由此可见,实现一个棋类游戏的精髓就是实现一个

 

有挑战性电脑玩家(高级电脑)与玩家之间的对战,这就是一个简单的人工智能。其根本就是算法和数据结构的灵活运用。

 

   当然,小弟我的数据结构和算法非常非常的菜, 在此游戏写了一个简单的ai算法。恳请大家谅解!!!!

  

   这节是扯淡,从下节开始,分十节来剖析这个游戏内外的事。。。。。。。。。。。。。。。。。

时间: 2024-10-02 17:22:10

win8 开发之旅(3) --五子棋游戏开发 前奏的相关文章

win8 开发之旅(10) --五子棋游戏开发 错误提醒和纠错

      经过一系列的铺垫和折腾,我的五子棋的开发也该走到了尽头.在这开发的几天中,我有一些错误,也有一些感悟,因此需在这里做一个总结.              这个项目中,遇到了一个错误,相信也是大家也会碰到的.我想用RadialGradientBrush(渐变笔刷)使黑白棋子做的更有质地,可惜没有这个类.    微软貌似是为了提高显卡性能,把这个类干掉了.而且Metro界面程序好多笔刷都不支持.我思考了再三,没辙.换一下其它解决方案吧.例如:         1.在photoshop中渲

win8 开发之旅(4) --五子棋游戏开发 面向对象的分析

  上节说到剖析五子棋的任务从这节开始,那确实.      其实,这节的任务很简单,就是 以完全面向对象的思想来分析这个小游戏.        对于面向对象,对于开发人员,一定不再陌生,这里就不再赘述.       那他需要哪些类了.          一个黑棋子,一个白棋子,他是不是有许多的属性 是一样的,因此我们这里抽象出一个piece 包含位置,类型等等属性         这些棋子在哪玩,是不是棋盘上.因此,我们需要棋盘类(pieceboard)类来体现所谓的棋盘.         怎么

win8 开发之旅(7) --五子棋游戏开发

     写博客有段时间,发现自己博客虽然有点击率,但是不怎么给力,更主要的是读者没有学到什么知识.          我思考了许久,就是这么样的,一个我写的文章可能专业术语用的太多了,太深硬了.二个尽是写点书面语言     不够生动.因此我痛定思痛了,一定要与读者亲切点,多主点生活中的例子,让读者好理解吗??        这又是一个新的征程.        亲,我们讨论mvc中这个C,Controller中的知识.         Controller,顾名思义,控制器,起了一个桥梁的作用.

win8 开发之旅(8) --五子棋游戏开发 诠释View层

 View层,虽是短短的几个字,却有着丰富的内涵.如若做不好的话,却可能整个项目的最大败笔.     那view究竟是个啥玩意. 百度百科上说View是视图是用户看到并与之交互的界面. 就好像生活人的一张脸,长得好的人,给人的第一印象自然不错吧!人毕竟是视觉动物.  生活中,喜爱美女.帅哥也是这个道理吧!以此类推,在it界大兴UI(用户体验)的时代,一个好的用户体验的自然会为你博得网民的眼球,好的用户体验自然为会为你带来  巨大的客户. 当然UI,不简单是界面漂不漂亮,而更重要是功能强不强大,用

win8 开发之旅(5) --五子棋游戏开发

    上节说道了对这个游戏  面向对象的分析,各位读者 ,有什么不懂,尽情给我留言把!!!!!! 闲话少说,这节我们对 游戏的实体类,先进行伪代码分析,然后进行源代码的分析.            我们先看这些类的整体的架构如下图所示:               Piece类  代表相应的棋子的类, 他应该有 位置这个属性,而位置的最好的体现是通过纵坐标横坐标来体现:相应形状这个属性代表是黑色用户控件还是白棋的用户控件.              类型属性代表代表这是黑棋, 还是白棋:  

win8 开发之旅(6) --五子棋游戏开发

 上节,对实体类进行了较多篇幅的分析,这节我们来阐述两个代理类applicationProxy 类与PieceboardProxy类的内部或者外部的知识.    首先要搞清楚这个问题吧!!!!!!!!为什么需要代理类型. 这是为了更好的使用代理模式.代理模式是什么东东?他有什么作用.   百度百科上对代理模式解释这么样的.代理模式:为其他对象提供一个代理以控制对这个对象的访问.   就是在内存中 创建了一个代理对象,来控制其他的类对相应这个对象的访问.我们这里举个例子吧!最明显的体现就是webs

win8 开发之旅(9) --五子棋游戏开发 一个屌丝程序员谈ai

一直相信IT世界的最有魅力的,便是能够实现人机对战  人工智能,他的魅力犹如一座美丽的天空之城,那里能够充满你与机器奋斗的火药气味,这是一个没有硝烟战斗,犹如纯爷们 之间的战斗--浅月若寒                 朋友你会对我的ai千呼万唤始出来,亲爱的ai姑娘,请你掀起你的盖头来!                好!我来了.读者哥哥,请听小妹妹我说:" 五子棋,怎么进行 判断这个位置是否为空啊                哥哥曰:"我想 这里用-1代表无棋子,1代f表的黑棋

win8 开发之旅(1) --连连看游戏开发 前奏

   两天没写博客了,手痒痒了,你问我干吗去了,学习win8开发去了,    发现metro UI 风格就是  给人耳目一新的感觉,而微软的技术真的是介入牛a与牛b之间.如果您有xam与.net开发基础,很快能够上手吧!    我想微软既然让开发人员学习成本如此之低,那我岂不是能很快完成我的第一个小的项目--连连看(因为,以前在wp7上做过类似的应用).    可任何事情都是--说时容易做时难.一个小东西竟然花去了我两天的宝贵的休息时间.虽然可惜,但确实说收获颇丰.    首先, 我们要开始老生

win8 开发之旅(2) --连连看游戏开发 项目错误的总结

    我因为微软真的是那么的给力,你把wp7源代码一copy,一行源代码不改,编译通过,运行OK?            这可能只在程序界的乌托邦中可能存在吧.            首先,一编译,给了我一个下马威,119个错误.shit. 没办法,改呗... 后来发现真的,不应该怪编译器,大多数是自己命名的方式. 但两个错误令我 记忆犹新.一个是我写的   System.Windows.UI.Imaging  ,这是在silverlight web下的有这个命名空间.  后来换成了 Syst