资源简介
J2ME手机应用项目开发实践 源代码,经过本人亲自验证部分代码可用,请注意仅部分可用,部分有问题。
代码片段和文件信息
package wzq;
/**
* title:五子棋人工智能部分
*
* Description:实现了最基本的人工智能
*
* Copyright: Copyright (c) 2005
*
* Company: Star Group
*
* @author: Turbo Chen,wangyaobsz
* @version 1.0
*/
public class AI {
/**
* 找到最佳下棋点。
* 基本思路是 先计算每个点的权值,在权值最高的位置下棋
*/
public static Point findBestLocation(Chesses chess) {
//权值数组
int[][] power = new int[Chesses.BOARD_SIZE][Chesses.BOARD_SIZE];
for (short i = 0; i < Chesses.BOARD_SIZE; i++) {
for (short j = 0; j < Chesses.BOARD_SIZE; j++) {
// 当已有子时将该点的权值设为-1
if (chess.getChess()[i][j] != 0) {
power[i][j] = -1;
}
// 否则计算该点权值
else {
power[i][j] = (short) calcPower(i j chess.getCurrentType()
chess);
}
}
}
//计算完所有点的权值后 再找出其中权值最大的点
Point bestLoc = calcMaxPowerLocation(power);
power = null;
return bestLoc;
}
/**
* 遍历权值数组,找出权值最大点.
* @param power
* @return
*/
private static Point calcMaxPowerLocation(int[][] power) {
int max = 0;
short x = 0 y = 0;
for (short i = 0; i < Chesses.BOARD_SIZE; i++) {
for (short j = 0; j < Chesses.BOARD_SIZE; j++) {
if (power[i][j] > max) {
x = i;
y = j;
max = power[i][j];
}
}
}
return new Point(x y);
}
/**
* 检查m,n点的权值
* 思路是 首先假定在mn位置下棋计算4个方向经过该点同色相连的棋子数量不同的数量被赋予不同的
* 权值将四个方向上权值相加即为该点的权值.计算完后恢复该点的状态.
* @param m
* @param n
* @param currentType:当前棋子的类型
* @param chess
* @return
*/
private static int calcPower(short m short n short currentType
Chesses chess) {
int p = 0;
/*
构造算法的权值数组power,原则是优先选择攻击点,在攻击不能制胜的前提下再选取防守点
目前算法只向前预计一步,如果要想提高机器的智能则可以多向前预测几步,当然实现起来会复杂一些
*/
int [] power = {10008560452015105};
short[] arrlinks = new short[4];
//首先模拟我方下棋,在该点预下一子预测棋局的权值分布,然后进行后续计算.
chess.setChessFeeler(m n currentType);
// 计算4个方向上同色相连棋子的数量.
arrlinks = calclinkCount(m n chess.getChess());
//如果mn是中心点 将权值加1
if (m == Chesses.BOARD_SIZE / 2 &&
n == Chesses.BOARD_SIZE / 2) {
p += 1;
}
//计算我方在该点四个方向的权值
for (short i = 0; i < 4; i++) {
if (Math.abs(arrlinks[i]) == 5) {
p += power[0];
}
if (arrlinks[i] == 4) {
p += power[2];
}
if (arrlinks[i] == 3) {
p += power[4];
}
if (arrlinks[i] == 2) {
p += power[6];
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6513 2005-11-25 11:09 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\UML\WzqMIDlet.png~1~
文件 11423 2005-11-15 19:35 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~10~
文件 11423 2005-11-15 19:50 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~11~
文件 11423 2005-11-15 19:51 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~12~
文件 11423 2005-11-15 19:52 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~13~
文件 11202 2005-11-17 12:15 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~14~
文件 11591 2005-11-06 12:35 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~5~
文件 11535 2005-11-06 12:48 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~6~
文件 11608 2005-11-06 13:03 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~7~
文件 11417 2005-11-06 13:05 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~8~
文件 11385 2005-11-14 08:49 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\AI.java~9~
文件 6711 2005-11-18 08:38 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~36~
文件 6656 2005-11-18 08:40 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~37~
文件 6655 2005-11-18 08:40 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~38~
文件 6641 2005-11-18 08:41 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~39~
文件 6639 2005-11-18 08:41 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~40~
文件 6633 2005-11-18 08:42 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~41~
文件 6634 2005-11-18 08:43 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~42~
文件 6635 2005-11-18 08:43 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~43~
文件 6636 2005-11-18 08:46 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~44~
文件 6634 2005-11-18 08:46 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Chesses.java~45~
文件 597 2005-11-06 10:55 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Point.java~1~
文件 614 2005-11-06 12:44 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Point.java~2~
文件 614 2005-11-15 19:50 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Point.java~3~
文件 1569 2005-11-15 19:00 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Splash.java~18~
文件 1559 2005-11-15 19:34 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Splash.java~19~
文件 1569 2005-11-15 19:34 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Splash.java~20~
文件 1466 2005-11-15 19:35 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Splash.java~21~
文件 1465 2005-11-15 19:37 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Splash.java~22~
文件 1456 2005-11-15 19:40 J2ME手机应用项目开发实践 源代码\chap04\Wzq\bak\wzq\Splash.java~23~
............此处省略956个文件信息
- 上一篇:真正的破解版PDFView4NET
- 下一篇:x-Scan3.3破解版
相关资源
- j2me手机飞机游戏
- J2ME太空之战源代码
- J2ME的RPG游戏Demo
- 《区块链开发实战:Hyperledger Fabric关
- 《Xilinx ZYNQ-7000 AP SoC开发实战指南》符
- RT-ThreadBLE5.0和ANT+应用开发实战指南
- Unity网络多玩家游戏开发实用教程
- ArcEgine开发实战资料
- Spring_3.x企业应用开发实战光盘源码
- LwIP应用开发实战指南—基于野火+ST
- uCOS-III内核实现与应用开发实战指南—
- J2ME手机网络版小说阅读器包括开题报
- Spring Boot实战
- 《物联网操作系统+LiteOS开发实战指南
- pb9.0信息管理系统开发导航
- SVG开发实践 源代码
- j2me 教学从无到有很详细讲解
- 硕飞ME830/ME850 单片机开发实验仪最新
- J2ME教程 ppt
- 汽车 4s 管理系统 课程设计 应用系统
- arcgisserver开发实验2
- 手机游戏策划案
- FreeRTOS+内核实现与应用开发实战--基于
- FPGA Basys3开发实验指导书 —— 《数字
- 计算机科学与技术专业项目开发实习
- J2ME中文版教程 J2ME教程
- 基于S3C2410嵌入式keil开发实验与实践
- MIDP2.0 稀有资源 与你分享
- 小程,巧应用 微信小程序开发实战第
- 摩拜单车小程序开发实践与框架分析
评论
共有 条评论