没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示


试读
20页
实验内容:利用α-β剪枝算法,按照不同搜索深度,设计多个水平级别的“一字棋”游戏。 注:“一字棋”游戏(又叫“三子棋”或“井字棋”),是一款十分经典的益智 小游戏。“井字棋”的棋盘很简单,是一个 3×3 的格子,很像中国文字中的“井”字,所以得名“井字棋”。“井字棋”游戏的规则与“五子棋”十分类似,“五子棋”的规则是一方首先五子连成一线就胜利;“井字棋”是一方首先三子连成一线就胜利。
资源推荐
资源详情
资源评论











实验课程名称:__人工智能_
实验项目名称 α-β 剪枝算法
实验成绩
实 验 者 毛毛 专业班级 学 号
实验日期 2017 年 10 月 22 日
一、实验内容
利用 α-β 剪枝算法,按照不同搜索深度,设计多个水平级别的“一字棋”游戏。
注:“一字棋”游戏(又叫“三子棋”或“井字棋”),是一款十分经典的益智 小游戏。“井字棋”
的棋盘很简单,是一个 3×3 的格子,很像中国文字中的“井”字,所以得名“井字棋”。“井字棋”
游戏的规则与“五子棋”十分类似,“五子棋”的规则是一方首先五子连成一线就胜利;“井字棋”
是一方首先三子连成一线就胜利。
一字棋棋盘
二、实验设计(原理分析及流程)
原理
Alpha Beta 剪枝方法是对 Minimax 方法的优化,它们产生的结果是完全相同的,只不
过运行效率不一样。这种方法的前提假设与 Minimax 也是一样的:
1)双方都按自己认为的最佳着法行棋。
2)对给定的盘面用一个分值来评估,这个评估值永远是从一方(搜索程序)来评价的,
红方有利时给一个正数,黑方有利时给一个负数。
3)从我们的搜索程序(通常把它称为 Max)看来,分值大的数表示对己方有利,而对于

对方 Min 来说,它会选择分值小的着法。
流程
N
Y
N
N
Y
三、实验代码
Chess 类
package chess;
import java.awt.BorderLayout;
显示棋盘
用户输入搜索深度
调 用 Alpha Bata 函 数 , 计
算下一步棋子位置
根据鼠标点击位置下棋

import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
public class Chess extends JFrame
{
private JPanel jPanel1, jPanel2;
private JButton button1, button2, button3, button4, button5,
button6,
button7, button8, button9, start;
private JLabel chooseFirst, chooseLevel;
private JRadioButton people, computer, primary, middle,
senior;
private ButtonGroup groupFirst, groupLevel;
public JButton getButton1()
{
return button1;
}
public JButton getButton2()
{
return button2;
}
public JButton getButton3()
{
return button3;
}
public JButton getButton4()
{
return button4;
}
public JButton getButton5()

{
return button5;
}
public JButton getButton6()
{
return button6;
}
public JButton getButton7()
{
return button7;
}
public JButton getButton8()
{
return button8;
}
public JButton getButton9()
{
return button9;
}
public Chess()
{
initComponents();
initListeners();
}
// 初始化用户操作界面
private void initComponents()
{
jPanel1 = new JPanel(new GridLayout(3, 3));
jPanel2 = new JPanel(new GridLayout(4, 2));
button1 = new JButton("");
button2 = new JButton("");
button3 = new JButton("");
button4 = new JButton("");
button5 = new JButton("");
button6 = new JButton("");
button7 = new JButton("");
剩余19页未读,继续阅读
资源评论


MLFcsdn
- 粉丝: 5
- 资源: 10
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


安全验证
文档复制为VIP权益,开通VIP直接复制
