一起用C#做个五子棋的小游戏 增加了程序对战功能
玩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个函数 大家可以试试谁的程序比较强
目前主要代码编写者: 绝〓无情, 羽天
{
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#做个五子棋的小游戏 增加了程序对战功能相关推荐
- 用 typescript 做一个贪吃蛇小游戏
typescript 做一个贪吃蛇小游戏 搭建环境 创建 tscofig.json 文件 配置如下 {"compilerOptions": {"target": ...
- 利用pgzero做一个接球的小游戏
利用pgzero做一个接球的小游戏 说明 pgzero为python的一个用于游戏制作的库,它基于pygame模块 可用如下命令去安装 pip install pygame pip install p ...
- 三子棋小游戏,实现人机对战,电脑可做简单拦截(C语言版)
前言 相信很多同学在学了一小部分C语言之后,总是对自己的能力有疑问,不知道自己现在是什么水平,大家可以尝试一下博主的简易的三子棋游戏,大家可以去练练手.下面是博主的三子棋游戏实现的主要步骤(博主的篇幅 ...
- 使用Qt写一个简单的五子棋单机小游戏
使用Qt写一个简单的五子棋单机小游戏 刚学,不够专业请勿喷,有不对的地方还请指出,我渴望进步!现在贴出这个游戏我原创的所有代码.希望可以帮到有需要的人. 游戏界面: 因为后面添加了.wav的音频文件, ...
- 【180718】五子棋C#小游戏
源码简介 五子棋C#小游戏,有完整版注释,好玩的双人五子棋游戏,使用简单,界面美观,速度快,该游戏特别适合情侣.朋友在一起无聊时打发时间用. 注意事项: 1.开发环境为Visual Studio ...
- 用Python代码做一个简单数字小游戏
#作者是一个十三岁的小男孩. 编辑工具 电脑Python 需要模块 random #今日用代码做一个猜数小游戏 #话不多说,上代码!!! import random number = random.r ...
- Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计
Easyx图形库+C++做一个贪吃蛇小游戏 数据结构课程设计 程序界面 ① 游戏开始界面(如下图): 显示游戏标题,提供"开始游戏"."游戏模式"和" ...
- 刚做了象棋和跳棋游戏 求教如何 实现游戏的在线即时对战功能
我做了两个小游戏,目前还都只支持 chrome,暂没做其它浏览器的兼容处理,见博客链接或附件 听说用 nodeJS + webSocket 可以实现一次握手,一直连线通讯功能,相互之间可以进行即时消息 ...
- 坦克射击小游戏(后续将会升级功能)
坦克射击小游戏(后续将会升级功能) 总体框架 关键技术 未来版本 我的Github 游戏源码在我的Github,感兴趣的的帮忙给颗星呀,并加入我们吧~ 这是我跟着b站韩顺平老师学的一个很锻炼基础的小项 ...
最新文章
- java使用ireport生成报表_JasperReport(3)——Java简单使用IReport生成的文件建立报表...
- 属于程序员自己的日历 2019年编程日历限量预售!
- IE兼容问题IE6,IE7,IE8,IE9,IE10
- 自译Solr in action中文版
- oracle db file sequential read,db file sequential read等待事件
- 的watch什么时候触发_建筑结构丨泡面为什么是弯的,海带又为什么要打结?
- 1.10 卷积神经网络示例
- This dependency was not found: * !!vue-style-loader!css-loader? 解决方案
- 在线编程 - PyPool小站启动记
- 2022年寒假ACM练习1
- Android 推荐一个Android系统全系列源码在线阅读网站,Android学习资料,Android各个API使用的网站
- 使用八爪鱼工具爬取京东当前所有手机信息存入mysql
- 中科大自主招生2018年笔试数学
- 个人知识管理PKM:收集、消化、应用、创新
- mysql: load data与select into outfile
- 交换机中的冗余链路管理
- GEA 3.3 捕捉及处理错误
- 你安全吗?丨黑客掌握的翻垃圾技术有哪些?大家要警惕!
- 短信 无联系人头像 控件修改
- R语言对COVID19分析作业
热门文章
- Apache Log4j 学习笔记
- if you have something important on the clean my mac
- ARMV7,ARMV8
- Lecture 1 Analysis of Algorithms
- Centos 7网络属性配置及命令
- (hdu step 7.2.1)The Euler function(欧拉函数模板题——求phi[a]到phi[b]的和)
- 解决ubuntukylin 13.10安装wine时无法解决软件包依赖问题
- Zookeeper的多节点集群详细启动步骤(3或5节点)
- android 浏览器对图片加载高度渲染问题
- oracle if-else sql 语句