安卓欢乐五子棋人机大战报告

实 验 报 告

课程名称实验名称安卓五子棋人机大战实验时间2016年 月 (系)专 业

一、实验目的

在棋盘上任意落下一颗子,计算机调用AI算法,能判断出最佳的落子位置并落子。

程序能判断出输赢,结束游戏,停止落子。

二、实验环境(实验设备)

Eclipse ADT

AI难点解析

赢法数组:记录五子棋所有的赢法,三维数组

每一种赢法的统计数组,一维数组

如何判断胜负

计算机落子规则四、实验结果

开局前:

比赛一 游戏结束:

比赛二 游戏结束:

五、实验内容

1.创建安卓项目工程:B002_五子棋人机对战

2.创建一个类WuziqiPanel 继承系统的View类

public class WuziqiPanel extends View { }

3.在activity_main.xml文件中添加WuziqiPanel控件,并设置游戏背景界面

设置背景图片

android:background="@drawable/bg"

添加WuziqiPanel控件

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_centerInParent="true" />

4.定义相关数据

private int mPanelWidth;

private float mLineHeight;

private int MAX_LINE = 10;

private Paint mPaint = new Paint();

private Bitmap mWhitePiece;

private Bitmap mBlackPiece;

private float radioPieceOfLineHeight = 3 * 1.0f/4;

//白棋先下,当前轮到白棋

private boolean mIsWhite = true;

private List mWhiteArray = new ArrayList();

private List mBlackArray = new ArrayList();

//赢法数组

int[][][] wins= new int[10][10][200];

//赢法统计数组

int[] myWin = new int[200];

int[] computerWin = new int[200];

private int count;

//游戏是否结束over

private boolean over = false;

//棋盘上两方棋子的标志 0 无子 ; 1 我方 ; 2 电脑

private int[][] chessBoard = new int[10][10];

//保存最高得分的i,j值

int u=0;

int v=0;

5.测量棋盘大小

//截取屏幕大小为正方形

@Override

protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {

// TODO Auto-generated method stub

int widthSize = MeasureSpec.getSize(widthMeasureSpec);

int widthMode = MeasureSpec.getMode(widthMeasureSpec);

int heightSize = MeasureSpec.getSize(heightMeasureSpec);

int heightMode = MeasureSpec.getMode(heightMeasureSpec);

int width = Math.min(widthSize, heightSize);

if(widthMode == MeasureSpec.UNSPECIFIED ){

width = heightSize;

}else if(heightMode == MeasureSpec.UNSPECIFIED){

width = widthSize;

android五子棋赢法数组,安卓欢乐五子棋人机大战报告.doc相关推荐

  1. 前端实现五子棋小游戏2(AI实现人机对战)

    通过一个简单的算法,来实现AI智能对弈的五子棋小游戏 AI难点解析 赢法数组 赢法的统计数组 判断胜负 计算机的落子规则 代码实现 赢法数组 赢法种类的索引 横线赢法 竖线赢法 横线赢法 斜线赢法 反 ...

  2. js小游戏——五子棋人机大战

    五子棋小游戏,可能会有bug请各位大佬多多指教 代码如下: css样式: canvas {display: block;margin: 50px auto;box-shadow: -2px -2px ...

  3. 五子棋源码 php,js实现五子棋代码分享

    本文主要和大家分享js实现五子棋代码,通过canvas绘制棋盘与棋子,通过js代码实现逻辑. index.html代码: 五子棋 重新开始 style.css代码:canvas{ display: b ...

  4. html五子棋悔棋,原生 JS + Canvas 实现五子棋游戏

    原标题:原生 JS + Canvas 实现五子棋游戏 || 一.功能模块 先看下现在做完的效果: 线上体验: https://wj704.github.io/five_game.html 主要功能模块 ...

  5. QQ五子棋棋子的数组数据

    本文主要是讲一下,怎么找QQ五子棋的棋子数组数据. 先看一下效果吧. 我用TC简单开发工具的表格控件,用来显示获取到的棋子数组信息. 棋子数据为: 空棋子为:0 黑白棋子为:1或2 当前行走为:5或6 ...

  6. Python控制手机下欢乐五子棋,半天时间1段到9段,90%+的胜率,就无敌

    国庆节闲来无事,突然想到儿时玩的五子棋于是打开手机-小程序-欢乐五子棋.下了2把感觉太费脑子了.想到之前有个五子棋引擎,叫羿心.然后开始找官网,找到了尼玛居然官网挂了.于是就上GitHub上面去找,居 ...

  7. 大学android五子棋课程目的,拓展性课程(五子棋)教案.pdf

    拓展性课程(五子棋)教案 电子备课教案 学科 :拓展性课程 任课教师 : 题目 五子棋 课型 新授课 课时 1 教学 1. 初步了解五子棋的基本知识. 目标 2. 培养学生对下五子棋的兴趣. 教学重 ...

  8. js 实现ai五子棋人机大战

    实现原理就是计算五子棋所有赢的种类,利用canvas实现五子棋排版落子. <!DOCTYPE html> <html lang="en"> <head ...

  9. 五子棋输赢算法php,js实现AI五子棋人机大战

    本文实例为大家分享了js实现AI五子棋人机大战的具体代码,供大家参考,具体内容如下 实现原理就是计算五子棋所有赢的种类,利用canvas实现五子棋排版落子. 五子棋 #canvas{ display: ...

最新文章

  1. MASK-RCNN是什么?MASK(掩膜)又是什么?
  2. 英特尔宣布McAfee成为独立的安全公司
  3. 大流量高并发量网站的之解决方案
  4. java时间比较_广州java培训大概多久时间可以毕业
  5. Linux中常用命令(文件与目录)
  6. import 和from... import的作用,导入模块or导入函数
  7. jQuery设置iframe的高度根据页面内容自适应
  8. c语言字段宽度,2.6.3 控制输出的字段宽度
  9. mysql查询数据教程_mysql数据库的查询
  10. ABT 共识社区北京聚会 共建去中心化生态 | ArcBlock 社区
  11. 全国各地知名互联网公司内推QQ群
  12. 微云百度云等资源 至少1M/s下载提速 无需会员
  13. .NET MVC同页面显示从不同数据库(mssql、mysql)的数据
  14. 微信小程序实训day03
  15. C#窗体程序使用SQL数据库
  16. ubanutu 安装php,腾讯的这个JS幻灯太难扣了,求高人指点。。。_html/css_WEB-ITnose
  17. Android审计平台,Android系统安全审计方法研究
  18. 使用超以太网来降低LED照明的成本
  19. 抖音矩阵系统定制开发,抖音矩阵系统源码独立部署、
  20. spring clud config分布式配置中心的简单使用

热门文章

  1. 透过现象看本质,我找到了Netty粘包与半包的这几种解决方案
  2. STM32 + IAP + Ymodem完美结合
  3. rt smart操作系统在“正点原子-阿尔法”开发板开箱使用
  4. 计算机音乐盒子制作步骤,自制音乐盒方法|用筷子做浪漫的天使之心DIY音乐盒教程...
  5. Hudi 0.11.0 + Flink1.14.4 + Hive + Flink CDC + Kafka 集成
  6. LeetCode-036-有效的数独
  7. Python安装过程报错The error code is 2503的解决方案
  8. 数据结构——第三章 栈和队列
  9. 操作系统属于计算机软件中的,操作系统是计算机软件系统中
  10. 图像增强—自适应直方图均衡化(AHE)-限制对比度自适应直方图均衡(CLAHE)