0308软件体系结构实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南工业大学实验报告
(2015~2016学年-第2学期)
课程名称:软件体系结构课程编号:51610192 地点:6313/6316/6308/6320
一、实验目的:
验证C/S风格的工作机制。
二、实验内容:
针对某个应用系统,选用C/S风格作为这个系统的软件体系结构风格。熟
悉C/S风格的工作机制,对所考察的系统进行C/S风格客户端软件体系结构设
计的验证。(针对不同的特定应用系统具体表述)。
三.编程环境
Windows 7
Visual Studio | Dev-C++
Eclipse
四.实验代码
1.画棋盘
// 画横线
for (int i = 0; i <= ROWS; i++) {
g.drawLine(MARGIN, MARGIN + i * GRID_SPAN, MARGIN + COLS *
GRID_SPAN, MARGIN + i * GRID_SPAN);
}
for (int i = 0; i <= COLS; i++) {// 画竖线
g.drawLine(MARGIN + i * GRID_SPAN, MARGIN, MARGIN + i *
GRID_SPAN, MARGIN + ROWS * GRID_SPAN);
}
2.将鼠标点击转为网格索引
public void mouseMoved(MouseEvent e) {
int x1 = (e.getX() - MARGIN + GRID_SPAN / 2) / GRID_SPAN;
// 将鼠标点击的坐标位置转成网格索引
int y1 = (e.getY() - MARGIN + GRID_SPAN / 2) / GRID_SPAN;
if (x1 < 0 || x1 > ROWS || y1 < 0 || y1 > COLS || gameOver || findChess(x1, y1))
setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
// 设置成默认状态
else
setCursor(new Cursor(Cursor.HAND_CURSOR));
}
3.增加棋子
// ********************** 增加黑色棋子
public Point[] BlackAddChess(int x, int y) {
if (!isBlack) {
String msg = String.format("黑子已经落子,轮到白子");
JOptionPane.showMessageDialog(this, msg);
return null;
} else
return addChess(x, y);
}
// ********************** 增加白色棋子
public Point[] WhiteAddChess(int x, int y) {
if (isBlack) {
String msg = String.format("白子已经落子,轮到黑子");
JOptionPane.showMessageDialog(this, msg);
return null;
} else
return addChess(x, y);
}
4.悔棋
public void goback() {
if (chessCount == 0)
return;
chessList[chessCount - 1] = null;
chessCount--;
if (chessCount > 0) {
xIndex = chessList[chessCount - 1].getX();
yIndex = chessList[chessCount - 1].getY();
}
isBlack = !isBlack;
repaint();
}
5.判断输赢(提供横向向西判断,其余方向类似)
private boolean isWin() {
int continueCount = 1;// 连续棋子的个数
// --------------横向寻找-----> 横向向西寻找
for (int x = xIndex - 1; x >= 0; x--) {
Color c = isBlack ? Color.black : Color.white;
if (getChess(x, yIndex, c) != null) {
continueCount++;
} else
break;
}}
五.实验结果
悔棋前:
悔棋后:
赢棋:
河南工业大学实验报告
(2015~2016学年-第2学期)
课程名称:软件体系结构课程编号:51610192 地点:6313/6316/6308/6320
一、实验目的:
验证C/S风格的工作机制。
二、实验内容:
针对某个应用系统,选用C/S风格作为这个系统的软件体系结构风格。熟
悉C/S风格的工作机制,对所考察的系统进行C/S风格服务器软件体系结构设
计的验证。(针对不同的特定应用系统具体表述)。
三.编程环境
Windows 7
Visual Studio | Dev-C++
Eclipse
四.实验代码
1. public Point WhiteNextStep(Point[] chessList){}:根据当前棋局,确定白子的下一个最佳位置
public Point WhiteNextStep(Point[] chessList) {
ArrayList
ArrayList
ArrayList
int blackLongnum = findTheLongestChessNums(blackList.get(0), chessList);
int whiteLongnum = findTheLongestChessNums(whiteList.get(0), chessList);
if (whiteLongnum < blackLongnum) {
// 白的的连子数比黑子要少,就从黑子的候选结点中选择评价函数最高的结点
ArrayList