广州企业网站推广策划方案,做网站好还是网页好,wordpress 上传文件大小,网站开发工程师薪资java五子棋实习报告 Java 程序设计基础 实习报告 课程名称 Java 程序设计基础 实习题目 java 五子棋 专 业 班 级 学 号 学生姓名 指导教师 Java 实习报告 一、一、J JAVAAVA 技术介绍技术介绍 Java 技术是一门编程语言#xff0c;也是一个平台#xff0c;它基于 Java 虚拟机…java五子棋实习报告 Java 程序设计基础 实习报告 课程名称 Java 程序设计基础 实习题目 java 五子棋 专 业 班 级 学 号 学生姓名 指导教师 Java 实习报告 一、一、J JAVAAVA 技术介绍技术介绍 Java 技术是一门编程语言也是一个平台它基于 Java 虚拟机技术 借助这个东西建立了跨平台的优势。 Java 编程语言与众不同之处在于Java 程序既是编译型的(转换为一 种称为 Java 字节码的中间语言)又是解释型的(JVM 对字节码进行解析 和运行)。编译只进行一次而解释在每次运行程序时都会进行。编译后 的字节码采用一种针对 JVM 优化过的机器码形式解释器是 JVM 的实现。 二、二、摘要摘要 五子棋作为一个棋类竞技运动在民间十分流行本课题主要完成了 五子棋人机对战和玩家之间联网对战 2 个功能。网络连接部分为 Socket 编 程应用客户端和服务器端的交互用 Class Message 定义有很好的可扩 展性客户端负责界面维护和收集用户输入的信息及错误处理。服务器 维护在线用户的基本信息和任意两个对战用户的棋盘信息动态维护用户 列表。在人机对弈中通过深度搜索和估值模块来提高电脑棋手的智能。 分析估值模块中的影响精准性的几个要素以及提出若干提高精准性的办 法以及对它们搜索的节点数进行比较在这些算法的基础上分析一些提 高电脑 AI 方案如递归算法、电脑学习等。算法的研究有助于理解程序结 构增强逻辑思维能力在其他人工智能方面也有很大的参考作用。 三、课题分析三、课题分析与设计与设计 1 键盘上事先设定 8 个按键分作两组每组四个分别代表两个人 用来控制棋子的上下左右键。 2 绘制棋盘 15 条横线 15 条竖线 在直线交点处下棋子 (实心圆形) 。 3 黑子先行黑白交替下子在棋盘上设定一个与棋盘格大小边长相 等的正方形初始状态正方形的中心位于期盼的中心点。当一方 欲走棋的时候应用四个按键来控制所要下棋的位置每按一次按 键正方形都要向相应方向移动一个格并且让喇叭发出某种声音 将要移出边界时发出另一种警告声音并不让其移出边界。当按下 回车键时应在正方形所在位置放下一个棋子然后此组按键不能 操作换另一个人下棋用另一组按键规则同前。 4 当任何一方有五个棋子沿着横竖斜连在一起时系统自动判断 赢棋并显示黑方或白方胜利。棋局结束后任何一方均不能继续 操作。 四、四、流程图流程图 五、效果图五、效果图 五、五、详详细细代码代码设计设计 导入包导入包 import java.applet.*; import java.applet.*; import java.awt.*; import java.awt.*; import java.awt.event.*; import java.awt.event.*; 构造构造 appletapplet 程序程序 public class public class 五子棋五子棋 extends Applet implements extends Applet implements ActionListener,MouseListener ActionListener,MouseListener StrinString str“g str“五子棋游戏五子棋游戏“; “; Dimension currentPosnew Dimension; Dimension currentPosnew Dimension; 实例化实例化 像素像素 int zuobiaonew int1915; int zuobiaonew int1915; 声明一个声明一个 19*1519*15 的棋盘的棋盘 int x20,y20; int x20,y20; boolean unfirstpaintfalse; boolean unfirstpaintfalse; boolean onefalse; boolean onefalse; publicpublic void i