JAVA专业课程设计围棋对弈含代码.doc
《JAVA专业课程设计围棋对弈含代码.doc》由会员分享,可在线阅读,更多相关《JAVA专业课程设计围棋对弈含代码.doc(71页珍藏版)》请在咨信网上搜索。
摘要 围棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,和研究简单人工智能,决定用Java开发五子棋游戏。关键完成了人机对战和玩家之间联网对战2个功效。网络连接部分为Socket编程应用,用户端和服务器端交互用Class Message定义,有很好可扩展性,用户端负责界面维护和搜集用户输入信息,及错误处理。服务器维护在线用户基础信息和任意两个对战用户棋盘信息,动态维护用户列表。在人机对弈中经过深度搜索和估值模块,来提升电脑棋手智能。分析估值模块中影响正确性多个要素,和提出若干提升正确性措施,和对它们搜索节点数进行比较,在这些算法基础上分析部分提升电脑AI方案,如递归算法、电脑学习等。算法研究有利于了解程序结构,增强逻辑思维能力,在其它人工智能方面也有很大参考作用。 关键词:围棋,信息自动化,游戏,java ABSTRACT As a chess athletic sports, the folk very popular, to familiar with renju rules and skills, and research simple artificial intelligence, decided to use Java development renju game. Main completed the man-machine against and between players networking against two functions. Network connection parts for Socket programming application, the client and the server interaction with scale-up macro definition, have very good scalability, the client is responsible for maintenance and collect user interface input, and error handling. Server maintenance, online users of the basic information and any two against the user board information, dynamic maintenance user list. In the man-machine right through the depth search and valuations module, to improve the intelligent computer player. Analyses the influence of valuation module precision of several elements, and puts forward some measures of improving precision, and they search number of nodes in the comparison, in these algorithm is analyzed on the basis of some improve computer AI scheme, such as recursion algorithm, computer learning, etc. The algorithm for help to understand the program structure, strengthen the logical thinking ability, in other artificial intelligence also have very great reference role. Keywords: information automation , games , Java 目 录 ABSTRACT II 目 录 III 第1章 引言 1 1.1 背景 1 1.2 课程设计内容 2 1.3 任务分工 3 第2章 围棋对弈系统 3 2.1 围棋概述 3 2.1.1围棋定义 4 2.1.2 开发围棋任务及目标 5 2.2 关键系统介绍 6 第3章 围棋对弈系统设计 7 3.1 系统需求分析 7 用户登陆界面图 7 3.2 系统开发及运行环境 9 3.3 系统关键功效要求 10 3.4.系统总体结构 11 第4章 围棋对弈系统具体实现 12 4.1界面设计 12 4.1.1用户登陆界面图 12 4.1.2用户注册界面图 13 4.1.3 系统主界面 16 第5章 结束语 19 致谢 19 参考文件 19 第1章 引言 1.1 背景 围棋是一个智力游戏,起源于中国。中日韩是现今围棋三大支柱,但多年来日本围棋逐步衰弱,形成了中韩争霸局面。 围棋是中华民族传统文化中瑰宝,它表现了中华民族对智慧追求,古人常以“琴棋书画”论及一个人才华和修养,其中“棋”指就是围棋。被大家形象地比方为黑白世界围棋,是中国古人所喜爱娱乐竞技活动,同时也是人类历史上最悠久一个棋戏。因为它将科学、艺术和竞技三者融为一体,有着发展智力,培养意志品质和机动灵活战略战术思想意识特点,所以,几千年来长盛不衰, 并逐步地发展成了一个国际性文化竞技活动。 围棋是一个策略性二人棋类游戏,使用格状棋盘及黑白二色棋子进行对弈。现在围棋流行于亚太,覆盖世界范围,是一个很流行棋类游戏。 中国围棋规则是数子法,围棋本质是:谁占地面积大谁获胜。 围棋规则十分简单,却拥有十分宽广落子空间,使得围棋改变多端,比其它棋类复杂深奥。这就是围棋魅力所在。下围棋对人脑智力开发很有帮助,可增强一个人计算能力、发明能力、思维能力、判定能力,也能提升人注意力和控制力。下围棋对儿童少年智力发展起到主动作用,使她们能愈加好分析事物。 Java语言是当今最为流行程序设计语言之一 作为一门很优异和极为健壮编程语言,它同时含有面向对象,和平台无关,分布式应用,安全,稳定和多线程等优良特征,使用Java语言,不仅能够开发出功效强大大型应用程序,而且Java语言本身突出跨平台特征也使得它尤其适合于Internet上应用开发,能够这么说,Java出现使得所开发应用程序“一次编写,四处可用”实现成为了可能。 最近伴随计算机快速发展,多种多样电脑游戏层出不穷,使得我们能有更多娱乐项目,而棋类游戏能起到锻炼人思维和修身养性作用,而且棋类游戏水平颇高,大有和人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫“深蓝”便是最具说服力代表。 越来越多含有智能机器进入了人类生活,人工智能关键性现在显而易见。自己对人工智能比较感爱好,而围棋游戏程序开发实现这个课题,恰好提供给我这么一个研究机会,经过对人工智能中博弈方面研究(人机对弈),让我在简单人机对弈全局设计,和具体到相关算法上有了深入了解。人工智能属于计算机科学领域,它以计算机技术为基础,近几十年来,它理论和技术已经日益成熟,应用领域也正在不停扩大,显示出强大生命力。人工智能大致能够分成多个学科,它们每一个全部是独特,不过它们常常又相互结合起来完成设计任务,这时,这些学科之间差异就变很模糊。人工智能在教授系统,自然语言了解,自动定理证实,自动程序设计,人工智能在机器人学、模式识别、物景分析、数据库智能检索、机器下棋(实质上是博弈论问题)和家用电器智能化等领域全部有广泛应用。而这个课题就是和人工智能中博弈论领域紧密相关。 这个题目关键是人工智能和Socekt编程,。而且人工智能中博弈部分,因为采取了大量搜索算法,其中很多被利用到各方面。它概念、方法和技术,正在各行各业广泛渗透。智能已经成为当今多种新产品、新装备发展方向。所以,趁着这个机会,对人工智能中比较轻易实现人机博弈进行了解研究学习,也是很实用且很有必需。 1.2 课程设计内容 此课程设计是一个小游戏(围棋)实现,关键利用了GUI(用户图形界面)API(应用程序借口)来实现。此程序没有用到图片引用,棋盘和棋子设计完全是应用函数绘制, 再加入复选框,按钮,标签及实现本游戏用户界面布局。 在页面上经过单纯JCreator实现下棋程序,能够实现提子,打劫等简单下棋功效。愈加好掌握java编程和布局和设计。经过课程设计把课堂上讲内容融会贯通,学会设计程序、开发应用软件、开发系统软件等各项工作。经过实习掌握语言语法结构,了解类和对象概念,正确使用多种数据类型,对面向对象中继承和多态概念要了解、会使用,在程序中提升代码重用性,使设计程序结构清楚、易于维护。 一、棋盘 盘面有纵横各十九条等距离、垂直交叉平行线,共组成19×19=361个交叉点(以下简称为 “点”)。 在盘面上标有几 个小圆点。称为星位,中央星位又称“天元”。 二、棋子 棋子分黑白两色。均为扁圆形。 棋子数量以黑子181、白子180个为宜。 三、围棋下法 一、对局双方各执一色棋子,黑先白后,交替下子,每次只能下一子。 二、棋子下在棋盘点上。 三、棋子下定后,不得向其它点移动。 四、轮番下子是双方权利,但许可任何一方放弃下子权。 四、棋子气 一个棋子在棋盘上,和它直线紧邻空点是这个棋子“气”。 棋子直线紧邻点上,假如有同色棋子存在,则它们便相互连接成一个不可分割整体。它们气也应一并计算。 棋子直线紧邻点上,假如有异色棋子存在,这口气就不复存在。如全部气均为对方所占据,便呈无气状态。无气状态棋子不能在棋盘上存在,也就是第四条——提子。 五、提子 把无气之子提出盘外手段叫“提子”。 提子有二种: 一、下子后,对方棋子无气,应立即提取。 二、下子后,双方棋子全部呈无气状态,应立即提取对方无气之子。 六、计算胜败 1、贴3又3/4子规则 第一步,把死子捡掉。第二步,只数一方围得点(叫做目)并统计下来(通常围得点以整十目为单位),再数刚才那一方子数并统计下来,再把目数和子数加起来。第三步,假如数是黑棋,再减去3又3/4子,假如数是白棋,再加上3又3/4子。第四步,结果和180又1/2(棋盘361个点二分之一)比较,超出就算胜,不然判负。 2、让先和让子 让先不贴目,让子要贴还让子数二分之一(就当被让方是预先收了单官)。 1.3 任务分工 第2章 围棋对弈系统 2.1 围棋概述 网络围棋在中国出现几乎跟伴随互联网同时成长,1998年, 联众率先推出了网络围棋对弈。几年来各大网络围棋平台前后 上线,出身各异,水平也参差不齐。依据网络资料显示,截止 底,中国网络围棋平台平均在线人数达6万人。 大型游戏平台如QQ游戏、联众游戏中全部有围棋游戏。也就是 说QQ围棋、联众围棋全部是镶嵌在其游戏平台之上。依靠游戏平 台用户人数优势,这两个平台围棋用户人数占据了网络围棋 用户半数之多。 但依据专业人士分析:这部分用户不管在产品使用深度和对围 棋认知上是绝正确新手,浅尝辄止,她们大多是过客。同时 她们围棋软件本身也不够专业。专业网络围棋平台才是中 国网络围棋普及和发展出路。 现在中国专业网络围棋平台,大致可分使用韩产软件和国 产软件两大类。中国专业围棋平台领军人物弈城、TOM, 便 是使用韩产软件代表。两平台能够实现中韩对垒特征,为 她们吸引了不少高水平棋手,并受到棋友广泛认可。但她 们一样有一个死穴,就是两家皆为购置韩国软件,不掌握主动 权,所以根本无法确保软件立即更新,轻易受制于韩方。“弈 城事件”便将这个致命缺点暴露无疑。 经典围棋系统有:Handtalk,Goemate,Wulu,她是陈志行作品,曾数次取得过冠军。在她指导下一个研究小组编写了乌鹭(WUIU),也在比赛中取得过亚军。Handtalk是用汇编语言编写,实施速度快,程序本身也不大。因为程序并不大,能够推侧出其所用到模式资料也不多。Handtalk在大多数情况下全部不会失误,作者本人曾提到她是用到一个类似人类棋手在下围棋时常见到手割法来帮助判定。Handtalk和其它程序显著不一样地方是它攻杀能力尤其强,在大多数比赛中,全部是经过吃掉对方几块棋而获胜。这是因为程序棋块安危判定能力、形势判定能力、眼位判定能力和模式匹配能力全部很强关系.这些系统好坏,跟设计者棋力关系很大,作者本人含有近职业水准棋力,对Handtalk编写很有 2.1.1围棋定义 围棋是人生模拟。 开局时,盘上一片空白,就仿佛一个刚刚有了自觉意识小孩,睁开了懵懂双眼,开始了自己人生之路。开局时,你能够有多种选择,自由度最大,走哪一步全部不会让你立即输掉。 布局基础上是爱好显示,有喜爱大模样,那是寄期望于未来做法;有现实地捞空;有顺应对方思绪,不知不觉中达成自己目标;也有四处和对方作对,即使自己不爽,也要给对方添堵。 因为棋盘广大,不可能面面俱到地行棋。过程中,对局者不停地在判定、取舍,仿佛人生开始在选择自己道路了。看着这里想要,那里也想要,可是没法面面俱到,终究只能选择一条路。有时候,你招法对路,越走越畅,有时候就有问题,想要没要到,越下越添堵。 优势时,好比人生得意时,心情很爽,最好一直就这么下去;劣势时,千方百计寻求对手破绽,伺机翻盘。心理毅力强人,总能把弦绷得紧紧,一直像甲鱼一样咬住对手;心理软弱人,很早就放弃抵御,认输投降。 优势时被对方翻盘了,就仿佛原本胜券在握一件事情,被自己搞砸了,悔恨痛恨全部没有用;大败棋,忽然找到对手漏勺又赢了回来,就仿佛本已被逼到绝境,却又咸鱼翻生,大获全胜,心情之爽,难以表示! 因为围棋棋盘相对比较广大,过程也较反复,一盘棋下来,通常势均力敌对手全部会有不止一次获胜机会。这种翻来覆去体验,很象人生经历一个浓缩、抽象。人生,是不可反复,所以在迈出想要尝试一步时,有可能随之而来,是很惨痛代价。而围棋过程,能够让你在做出种种尝试后付出最少代价--大不了输一盘棋么?推掉再来就是了。 我想,这就是围棋魅力之所在吧。 2.1.2 开发围棋任务及目标 伴随 Intemet 普及,网络游戏己经成为大家耳濡目染新生事物。网络游戏从出现到现在发展时间很短,不过其发展速度却很之快。现在,能够说网络游戏已经成为大家休闲、娱乐有效方法。网络游戏种类很多,现在关键分战略类、 RPG 类、棋牌类等多个,常见棋牌类游戏有中国象棋、国际象棋、围棋、桥牌、拱猪、麻将等。网络游戏含有以下特征: (1)有一个或多个游戏服务器开启特定游戏服务; (2)游戏者到游戏网站下载用户端程序并申请游戏账号。然后开启用户端程序经过某种网络协议连接游戏服务器。 (3)用户端负责处理用户端显示和操作界面,含有简单逻辑处理功效力, 同时负责接收发送和服务器端交互数据包。 (4)服务器程序负方处理服务器端逻辑、游戏逻辑、用户之间网络信息传输,和数据库之间数据读取保留工作。 同时服务器端还要负担用户端数据接收、转发工作。 ( 5 ) 网络游戏常见网络协议有Internet TCp / IP 协议、适适用于局域网(如红色警报联网等采取)IPX协议。 即使现在很多围棋游戏正在运行,不过使用java平台开发游戏少之又少,这就使得围棋用户端运行平台十分有限,不能满足以后发展需求,如移动用户端,就基础上没有。所以开发一套基于java围棋系统十分必需。 2.2 关键系统介绍 关键功效包含: 用户连接服务器以后: 1、新用户能够注册。 2、老用户必需登陆,才能够玩游戏等其它动作。 开始游戏以后: 1、用户双方选择白棋和黑棋。 2、任何一方能够随时随地认输,游戏结束。 4、要实现围棋最基础吃掉对方法则。 此设计为本站原创作品。其中包含:源程序,可实施程序,论文,录像,使用说明。 第3章 围棋对弈系统设计 这一章时介绍开发环境和用到开发工具,系统关键功效设计,系统数据步骤图。 3.1 系统需求分析 用户登陆界面图 3.设计步骤(带步骤图) 用 户 界 面 棋盘展示 复选框:白子先x 复选框:黑子先 按钮:游戏开始 按钮: 重置游戏 标签:赢或输 3.设计步骤(带步骤图) 运行游戏 游戏重置 游戏初始化 用户界面 白棋赢 黑棋赢 白字先 黑子先 判定 准备就绪 游戏开始 落子 3.2 系统开发及运行环境 硬件平台: q CPU:P41.8GHz。 q 内存:256MB以上。 软件平台: q 操作系统:Windows XP。 q 开发工具包:JDK Version1.6.2。 q JSP服务器:Tomcat 6.0。 q 浏览器:推荐使用IE6.0。 q 分辨率:最好效果1024×768像素。 3.3 系统关键功效要求 系统设计目标以下: 关键功效包含: 1、能够在局域网上实现多人在线对战。 用户连接服务器以后: 1、新用户能够注册。 2、老用户必需登陆,才能够玩游戏等其它动作。 3、登陆以后,用户能够选择跟哪个在线玩家对战,假如对方同意,游戏开始。 4、假如有以前没有下完棋谱,能够选择读取棋谱,看看每一部是怎么走。 开始游戏以后: 1、用户双方选择白棋和黑棋。 2、任何一方能够随时随地认输,游戏结束。 3、假如双方没有下完,能够保留棋盘。 4、要实现围棋最基础吃掉对方法则。 此设计为本站原创作品。其中包含:源程序,可实施程序,论文,录像,使用说明。 3.4.系统总体结构 图3.1 系统功效结构图 介绍:各功效模块实现功效为: 围棋数据管理 黑子入库新增模块 黑子入库提子模块 白子入库新增模块 修改入库单和入库报表模块 库存查询模块 库存管理功效模块图图3.2所表示。 图3.2库存管理功效模块图 第4章 围棋对弈系统具体实现 界面是系统之间最直接交互界面,界面友好性表现了软件设计质量, 并在很大程度上决定了软件是否成功。 4.1界面设计 4.1.1用户登陆界面图 图4.1.1 用户登录模块框图 图4.1 用户登陆界面 此loginDialog函数作用是检测用户登陆正当性,并确定用户输入了正当登录名和口令。 部分代码: login = new JDialog(); login.setTitle("登录"); //设置标题 login.setLayout(new FlowLayout()); //利用流布局来设置窗口布局 login.add(new JLabel("用户名:")); //添加标签为用户名对象 final JTextField name = new JTextField(10); //设置文本框中字符不得超出10个 login.add(name); login.add(new JLabel("密 码:")); final JPasswordField password = new JPasswordField(10); //设置密码框中字符不得多于10个 password.setEchoChar('*'); //设置显示密码对应字符为* 4.1.2用户注册界面图 图4.2 用户注册界面 private void registerDialog(final JDialog regDialog) { Box box1 = Box.createVerticalBox(); box1.add(new JLabel("用户名:", JLabel.RIGHT)); //添加用户名标签,用户名在标签中靠右对齐 box1.add(Box.createVerticalStrut(10)); box1.add(new JLabel("性别:", JLabel.RIGHT)); //添加性别标签,性别在标签中靠右对齐 box1.add(Box.createVerticalStrut(10)); box1.add(new JLabel("密码:", JLabel.RIGHT), -1); //添加密码标签,密码在标签中靠右对齐 box1.add(Box.createVerticalStrut(10)); box1.add(new JLabel("确定密码:", JLabel.RIGHT)); //添加确定密码标签,确定密码在标签中靠右对齐 Box box2 = Box.createVerticalBox(); final JTextField nameTextField = new JTextField(10); //设置用户名文本框字符不得超出10个,且文本框不能被继承 box2.add(nameTextField); box2.add(Box.createVerticalStrut(8)); final CheckboxGroup cbg = new CheckboxGroup(); Box box21 = Box.createHorizontalBox(); final Checkbox cb1 = new Checkbox("男", cbg, true); //复选框默认状态选定为男性 box21.add(cb1); box21.add(new Checkbox("女", cbg, false)); //当鼠标点击女性复选框时,flase自动变为true box2.add(box21); box2.add(Box.createVerticalStrut(8)); //定义密码框中字符长度小于10个 final JPasswordField pass1 = new JPasswordField(10); box2.add(pass1); box2.add(Box.createVerticalStrut(8)); final JPasswordField pass2 = new JPasswordField(10); box2.add(pass2); Box baseBox = Box.createHorizontalBox(); baseBox.add(box1); baseBox.add(box2); regDialog.setLayout(new FlowLayout()); regDialog.add(baseBox); JButton confirm = new JButton("确定"); //创建并申明确定按钮 JButton cancel = new JButton("取消"); //创建并申明取消按钮 regDialog.add(confirm); regDialog.add(cancel); regDialog.setSize(200, 200); //设置大小 regDialog.setResizable(false); regDialog.setLocationRelativeTo(null); confirm.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { String sex = null; if (cbg.getSelectedCheckbox() == cb1) sex = "男"; else sex = "女"; if (saveUserData(nameTextField.getText().trim(), sex, new String(pass1.getPassword()), new String(pass2.getPassword()))) regDialog.setVisible(false); else JOptionPane.showMessageDialog(regDialog, "输入有误,请检验", "错误提醒", JOptionPane.ERROR_MESSAGE); } }); //获取监听器 cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { regDialog.setVisible(false); } }); //获取监听器 } 4.1.3 系统主界面 主界面修改前 主界面修改后 图4.3 系统主界面 关键代码: void initMyHash(Point startPoint,int interval) { One one; Point key; //逻辑点标志 int i,j; //定义i,j for(i=1;i<=19;i++) for(j=1;j<=19;j++) //循环 { key=new Point(i,j); one=new One(); //创建对象 one.posX=startPoint.x+(i-1)*interval;//相邻点处理,获取 one.posY=startPoint.y+(j-1)*interval;//相邻点处理。获取//获取相邻点 one.pointAround[0]=new Point(i,j-1); //上 one.pointAround[1]=new Point(i,j+1); //下 one.pointAround[2]=new Point(i-1,j); //左 one.pointAround[3]=new Point(i+1,j); //右 if(i==1)one.pointAround[2]=one.OUT; //左周围 if(i==19)one.pointAround[3]=one.OUT; //右周围 if(j==1)one.pointAround[0]=one.OUT; //上周围 if(j==19)one.pointAround[1]=one.OUT; //下周围 myHash.put(key,one); //我我哈希表而且在里键入关键字 } } //更新盘面 public void paint(Graphics g) { Point startPoint=STARTPOINT; //创建对象,开始点 int interval=INTERVAL; //定义组员变量 this.paintChessboard(g,startPoint,interval); //棋盘操作 this.paintChessman(g,startPoint,interval); //棋子操作 } //画棋盘 4.2程序设计及调试运行 利用JSP“一次编写,各处运行”编程优点,按功效模块结构设计菜单,部署各明细模块工作界面,编写各个模块程序代码,进行编译连接运行,经过反复调试修改,以达成系统功效要求。这个过程含有大量工作量,应仔细对每个程序细节进行分析思索、编写程序并调试,做到程序简练清楚,尽可能避免可能潜在程序错误,并在必需地方加以注释,方便于程序阅读和修改。 4.3 本章小结 本章介绍了系统具体实现和部分关键代码,其中包含用户登录所要用到loginDialog函数,主界面框架设计。 第5章 结束语 Java语言是当今最为流行程序设计语言之一 作为一门很优异和极为健壮编程语言,它同时含有面向对象,和平台无关,分布式应用,安全,稳定和多线程等优良特征,使用Java语言,不仅能够开发出功效强大大型应用程序,而且Java语言本身突出跨平台特征也使得它尤其适合于Internet上应用开发,能够这么说,Java出现使得所开发应用程序“一次编写,四处可用”实现成为了可能。 人工智能属于计算机科学领域,它以计算机技术为基础,近几十年来,它理论和技术已经日益成熟,应用领域也正在不停扩大,显示出强大生命力。 最近伴随计算机快速发展,多种多样电脑游戏层出不穷,使得我们能有更多娱乐项目,而棋类游戏能起到锻炼人思维和修身养性作用,而且棋类游戏水平颇高,大有和人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫“深蓝”便是最具说服力代表。 致谢 参考文件 [1]. 基于Java远程围棋对弈软件设计 《华东交通大学学报》 1999年01期 [2]. [美]Rogers Cadenhead. Java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社, [3]. 杨昭编著.二级Java语言程序设计教程.北京:中国水利水电出版社, [4]. 李芝兴,杨瑞龙编.《Java程序设计之网络编程》.清华大学出版社,3 [5]. 宛延闿等编著.实用Java程序设计教程.北京:机械工业出版社, [6]. 陈国君等编著.Java2程序设计基础.北京:清华大学出版社, [7]. 郑莉.王行言.马素霞编著.Java语言程序设计.北京:清华大学出版社, [8]. 丁振凡主编.Java语言实用教程.北京:北京邮电大学出版社, [9]. 朱喜福等编.Java程序设计.北京:人民邮电出版社, [10]. (美)Bruce Eckel编.《Java编程思想第3版》.机械工业出版社, 9月 [11]. (美)Doug Lea著.Java并发编程:设计标准和模式.中国电力出版社译。3月。 [12]. Java技术论坛: [13]. 疯狂Java联盟: [14]. 汉字Java技术网: 附录 源代码 /*************************MainWindow**********************/ import java.awt.BorderLayout; import java.awt.Button; import java.awt.Checkbox; import java.awt.CheckboxGroup; import java.awt.Choice; import java.awt.Color; import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.Frame; import java.awt.Graphics; //抽象类,不能用于结构方法创建对象 import java.awt.GridLayout; import java.awt.Image; import java.awt.Label; import java.awt.Panel; import java.awt.Point; import java.awt.TextField; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.WindowEvent; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.io.RandomAccessFile; import .ServerSocket; import .Socket; import javax.swing.Box; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JLabel; //负责创建标签对象,标签用来显示信息,但没有编辑功效 import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField; //利用import引用各类包 public class MainWindow extends Frame implements Runnable { Go panelGo=new Go();- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 专业课程 设计 围棋 对弈 代码
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文