玩C# 业余时间多 有兴趣一起做个五子棋或黑白棋的小游戏  GDI+ 只用最简单的技术  11-29开始报名哦  QQ群号码42183401

采用 分散式 耦合 结构      开发此游戏

部分代码 http://files.cnblogs.com/feathersky/Chess.rar

每个模块可以多个人开发,每个人也可以开发多个模块,全凭个人兴趣。

在开发过程中不断完善并标准化各函数接口,所有人员参与这个完善的过程,练习一下自己的模块组织能力。

完成自己的模块后 ,上传到群共享里就可以了。不规定时间,格式等等 ,完全松散式管理,如果是没人有兴趣写代码,那么也就自然而然的夭折掉了。

通用表示

Int M=10;         棋盘 长

Int N=10;         棋盘 宽

Int[M,N] board;    棋盘

Int empty=0, black=1, white=2;     // 表示空 ,黑棋,白棋

Int playerRole=black/white;

模块一 界面交互:

实现功能

ShowBoard(int[,] board);  显示棋盘

PlayerClick              玩家点击鼠标处理

模块二 计算当前局势

实现功能

Int[ ] Calculate(int[,] board)

计算出黑白双方的双三,单三,双四,单四等等(例如单四是一头被堵死的,还是两头都是自由的)。 返回不同的值,此值自定义。

模块三 搜索最佳电脑应落子的位子

实现功能

根据Calculate 得到的结果赋予棋盘不同的权值

Weight(Int[2]situation)

先实现一个最简单的一步搜索算法

FindBestPosition(int[,] board, int color)

如果当前轮到color颜色的棋走,找到此棋应落下的位置,找不到的话就先随机生成一个点

搜索

假设color棋子落下不同的点,计算其局势Calculate,计算权重weight, 找到最大的权重所对应的点。

程序对战 所有策略作成如下类库,放入player目录 即可自动调用

即实现如下3个函数即可,其他的函数可任意添加,程序只调用这3个函数  大家可以试试谁的程序比较强

目前主要代码编写者: 绝〓无情,   羽天

代码

namespace ChessPlayer
{
    public class Player
    {
        int color = 0;

public string GetName()
        {
            return "Computer";
        }

public void SetColor(int _color)
        {
            color = _color;
        }

public int[] PlaceChess(int[,] board)      //轮到你走棋,传入 棋盘,  传出 你要走哪里
        {

int M = board.GetLength(0);
            int N = board.GetLength(1);

//随机产生一个空位
            Random rand = new Random();

for (int i = 0; i < 500; i++)
            {
                int x = rand.Next(M);

int y = rand.Next(N);

if (board[x, y] == 0) return new int[] { x, y };
            }

return new int[] { 0, 0 };
        }
    }
}

转载于:https://www.cnblogs.com/feathersky/archive/2009/11/29/1612919.html

一起用C#做个五子棋的小游戏 增加了程序对战功能相关推荐

  1. 用 typescript 做一个贪吃蛇小游戏

    typescript 做一个贪吃蛇小游戏 搭建环境 创建 tscofig.json 文件 配置如下 {"compilerOptions": {"target": ...

  2. 利用pgzero做一个接球的小游戏

    利用pgzero做一个接球的小游戏 说明 pgzero为python的一个用于游戏制作的库,它基于pygame模块 可用如下命令去安装 pip install pygame pip install p ...

  3. 三子棋小游戏,实现人机对战,电脑可做简单拦截(C语言版)

    前言 相信很多同学在学了一小部分C语言之后,总是对自己的能力有疑问,不知道自己现在是什么水平,大家可以尝试一下博主的简易的三子棋游戏,大家可以去练练手.下面是博主的三子棋游戏实现的主要步骤(博主的篇幅 ...

  4. 使用Qt写一个简单的五子棋单机小游戏

    使用Qt写一个简单的五子棋单机小游戏 刚学,不够专业请勿喷,有不对的地方还请指出,我渴望进步!现在贴出这个游戏我原创的所有代码.希望可以帮到有需要的人. 游戏界面: 因为后面添加了.wav的音频文件, ...

  5. 【180718】五子棋C#小游戏

    源码简介   五子棋C#小游戏,有完整版注释,好玩的双人五子棋游戏,使用简单,界面美观,速度快,该游戏特别适合情侣.朋友在一起无聊时打发时间用. 注意事项: 1.开发环境为Visual Studio ...

  6. 用Python代码做一个简单数字小游戏

    #作者是一个十三岁的小男孩. 编辑工具 电脑Python 需要模块 random #今日用代码做一个猜数小游戏 #话不多说,上代码!!! import random number = random.r ...

  7. Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计

    Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计 程序界面 ① 游戏开始界面(如下图): 显示游戏标题,提供"开始游戏"."游戏模式"和" ...

  8. 刚做了象棋和跳棋游戏 求教如何 实现游戏的在线即时对战功能

    我做了两个小游戏,目前还都只支持 chrome,暂没做其它浏览器的兼容处理,见博客链接或附件 听说用 nodeJS + webSocket 可以实现一次握手,一直连线通讯功能,相互之间可以进行即时消息 ...

  9. 坦克射击小游戏(后续将会升级功能)

    坦克射击小游戏(后续将会升级功能) 总体框架 关键技术 未来版本 我的Github 游戏源码在我的Github,感兴趣的的帮忙给颗星呀,并加入我们吧~ 这是我跟着b站韩顺平老师学的一个很锻炼基础的小项 ...

最新文章

  1. java使用ireport生成报表_JasperReport(3)——Java简单使用IReport生成的文件建立报表...
  2. 属于程序员自己的日历 2019年编程日历限量预售!
  3. IE兼容问题IE6,IE7,IE8,IE9,IE10
  4. 自译Solr in action中文版
  5. oracle db file sequential read,db file sequential read等待事件
  6. 的watch什么时候触发_建筑结构丨泡面为什么是弯的,海带又为什么要打结?
  7. 1.10 卷积神经网络示例
  8. This dependency was not found: * !!vue-style-loader!css-loader? 解决方案
  9. 在线编程 - PyPool小站启动记
  10. 2022年寒假ACM练习1
  11. Android 推荐一个Android系统全系列源码在线阅读网站,Android学习资料,Android各个API使用的网站
  12. 使用八爪鱼工具爬取京东当前所有手机信息存入mysql
  13. 中科大自主招生2018年笔试数学
  14. 个人知识管理PKM:收集、消化、应用、创新
  15. mysql: load data与select into outfile
  16. 交换机中的冗余链路管理
  17. GEA 3.3 捕捉及处理错误
  18. 你安全吗?丨黑客掌握的翻垃圾技术有哪些?大家要警惕!
  19. 短信 无联系人头像 控件修改
  20. R语言对COVID19分析作业

热门文章

  1. Apache Log4j 学习笔记
  2. if you have something important on the clean my mac
  3. ARMV7,ARMV8
  4. Lecture 1 Analysis of Algorithms
  5. Centos 7网络属性配置及命令
  6. (hdu step 7.2.1)The Euler function(欧拉函数模板题——求phi[a]到phi[b]的和)
  7. 解决ubuntukylin 13.10安装wine时无法解决软件包依赖问题
  8. Zookeeper的多节点集群详细启动步骤(3或5节点)
  9. android 浏览器对图片加载高度渲染问题
  10. oracle if-else sql 语句