资源简介
1 本课题研究的意义
近来随着计算机的快速发展,各种各样的电脑游戏层出不穷,使得我们能有更多的娱乐项目,而棋类游戏能起到锻炼人的思维和修身养性的作用,而且棋类游戏水平颇高,大有与人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫的“深蓝”便是最具说服力的代表;其它像围棋的“手淡”、象棋的“将族”等也以其优秀的人工智能深受棋迷喜爱。
越来越多的具有智能的机器进入了人类的生活,人工智能的重要性如今显而易见。自己对人工智能比较感兴趣,而五子棋游戏程序的开发实现这个课题,正好提供给我这样一个研究的机会,通过对人工智能中博弈方面的研究(人机对弈),让我在简单的人机对弈全局设计,以及具体到相关算法上有了深入的了解。人工智能属于计算机科学的领域,它以计算机技术为基础,近几十年来,它的理论和技术已经日益成熟,应用领域也正在不断扩大,显示出强大的生命力。人工智能大致可以分成几个学科,它们每一个都是独特的,但是它们常常又互相结合起来完成设计任务,这时,这些学科之间的差别就变的很模糊。人工智能在专家系统,自然语言理解,自动定理证明,自动程序设计,人工智能在机器人学、模式识别、物景分析、数据库的智能检索、机器下棋(实质上是博弈论问题)和家用电器智能化等领域都有广泛的应用。而这个课题就是和人工智能中的博弈论领域紧密相关的。
这个题目核心是人工智能和Socekt编程,。并且人工智能中的博弈部分,由于采用了大量的搜索算法,其中很多被利用到各方面。它的概念、方法和技术,正在各行各业广泛渗透。智能已经成为当今各种新产品、新装备的发展方向。所以,趁着这个机会,对人工智能中比较容易实现的人机博弈进行了解研究学习,也是很实用且很有必要的。
代码片段和文件信息
import java.awt.*;
import java.awt.event.*;
import java.util.Arrays;
import javax.swing.*;
import java.io.*;
public class BoardPanel extends JPanel
{
private static Image white = null;
private static Image black = null;
private static int xp; // 棋子 X坐标
private static int yp; // 棋子Y坐标
private Cursor handCursor;
private Cursor defaultCursor;
protected static int board[][]; // 棋型表
private int color=1; // 棋子颜色 1=black 2=white
int STEPCOUNTER=0;
int base=5;
int DEEPTH=3;
int MINDEEPTH=3;
int MAX1=5;
long INVALID=9000000;
int chessBoard[][];
// x/y 方向标识符
String line = “a b c d e f g h i j k l m n o“;
char [] rowNum1 = {‘1‘‘2‘‘3‘‘4‘‘5‘‘6‘‘7‘‘8‘‘9‘};
char [] rowNum2={‘1‘‘0‘‘1‘‘1‘‘1‘‘2‘‘1‘‘3‘‘1‘‘4‘‘1‘‘5‘};
public BoardPanel()
{
// this.wzq=wz;
try
{
handCursor=new Cursor(12);
defaultCursor = new Cursor(0);
board = new int[15][15];
// black = wzq.black;
// white = wzq.white;
// this.setBackground(Color.yellow);
//this.setForeground(Color.BLUE);
// this.setBorder(BorderFactory.createLoweredBevelBorder());
jbInit();
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void paint(Graphics gc)
{
super.paint(gc);
//this.setBackground(Color.gray);
//this.invalidate();
gc.setColor(Color.blue);
//gc.setColor(new Color(255 255 240));
//画横向标识符
gc.drawString(line2515);
// 画竖向标识符
for(int i=0;i<9;i++)
{
gc.drawChars(rowNum1i11035+i*30);
}
for(int i=9j=0;i<15;i++j+=2)
{
gc.drawChars(rowNum2j21035+i*30);
}
// 画棋盘
for (int i = 0; i < 15; i++)
{
gc.drawLine(30 30 + i * 30 450 30 + i * 30); //行
gc.drawLine(30 + i * 30 30 30 + i * 30 450); //列
}
gc.drawLine(25 25 455 25);
gc.drawLine(25 25 25 455);
gc.drawLine(25 455 455 455);
gc.drawLine(455 25 455 455);
//面板初始化
for(int i=0;i<15;i++)
{
for (int j = 0; j < 15; j++)
{
xp=16+i*30;
yp=16+j*30;
if (board[i][j] == 1)
{
gc.setColor(Color.black);
gc.fillOval(xpyp2828);
//gc.drawImage(black 16 + i * 30 16 + j * 30 this);
}
if (board[i][j] == 2)
{
gc.setColor(Color.white);
gc.fillOval(xpyp2828);
//gc.drawImage(white 16 + i * 30
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 772608 2013-12-20 16:01 基于Java的五子棋游戏的设计(源代码+论文)\H_基于Java的五子棋游戏的设计.doc
文件 19996 2013-12-20 18:01 基于Java的五子棋游戏的设计(源代码+论文)\基于Java的五子棋游戏开题.docx
文件 5033 2013-12-20 17:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\BoardPanel$Analyse.class
文件 362 2013-12-20 13:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\BoardPanel$Queue.class
文件 6524 2013-12-20 11:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\BoardPanel.class
文件 25889 2013-12-20 09:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\BoardPanel.java
文件 1163 2013-12-20 13:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$1.class
文件 1163 2013-12-20 10:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$2.class
文件 655 2013-12-20 13:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$3.class
文件 717 2013-12-20 14:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$4.class
文件 1269 2013-12-20 18:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$5.class
文件 700 2013-12-20 09:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$6.class
文件 1761 2013-12-20 18:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$7.class
文件 1541 2013-12-20 18:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ$8.class
文件 13661 2013-12-20 12:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ.class
文件 30856 2013-12-20 12:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ.java
文件 440 2013-12-20 10:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ_this_mouseAdapter.class
文件 448 2013-12-20 12:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ChessWZQ_this_mouseMotionAdapter.class
文件 29 2013-12-20 12:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\client1.bat
文件 29 2013-12-20 10:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\client2.bat
文件 556 2013-12-20 12:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\Group.class
文件 323 2013-12-20 11:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\Group.java
文件 407 2013-12-20 16:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\Message.class
文件 1303 2013-12-20 11:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\Message.java
文件 384 2013-12-20 09:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\Pla
文件 388 2013-12-20 09:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\Pla
文件 7609 2013-12-20 18:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ServeOneClient.class
文件 21648 2013-12-20 10:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\ServeOneClient.java
文件 11 2013-12-20 14:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\server.bat
文件 1269 2013-12-20 13:01 基于Java的五子棋游戏的设计(源代码+论文)\程序\源代码\Server.class
............此处省略9个文件信息
相关资源
- java课程设计java音乐播放器
- Java编程思想第四版练习题答案完整版
- JAVA课程设计 拼图游戏
- 一个家庭记账的java源代码
- Java Swing 24种皮肤合集以及使用方法
- Java_Web编程技术实验指导书
- JAVA通过实体生成数据库表
- JAVA项目展示PPT
- Javamysql仓库管理系统
- java jgrapht包
- java实现的本地文件管理器——仿Win
- Android在线考试系统源代码
- Java酒店管理系统Java酒店管理系统
- java操作mongoDBCRUD
- 数据库课设报告和源代码包.zip
- Java程序设计实用教程第五版叶核亚著
- java swing图书信息管理系统
- java web项目企业进销存管理系统
- Java语言程序设计第10版基础篇复习题
- java实现短信验证登入
- 学生宿舍管理系统Javaweb版本
- java web学生信息管理系统61183
- Java中国象棋源码程序
- Java实现拼图游戏支持八数码解决最短
- java博客系统war包
- 数据结构java版练习试卷及答案
- java五子棋
- JSP人力资源管理系统源代码+数据库
- jackson的jar包
- Javaweb学生管理系统
评论
共有 条评论