1、 摘要围棋作为一个棋类竞技运动,在民间十分流行,为了熟悉五子棋规则及技巧,和研究简单人工智能,决定用Java开发五子棋游戏。关键完成了人机对战和玩家之间联网对战2个功效。网络连接部分为Socket编程应用,用户端和服务器端交互用Class Message定义,有很好可扩展性,用户端负责界面维护和搜集用户输入信息,及错误处理。服务器维护在线用户基础信息和任意两个对战用户棋盘信息,动态维护用户列表。在人机对弈中经过深度搜索和估值模块,来提升电脑棋手智能。分析估值模块中影响正确性多个要素,和提出若干提升正确性措施,和对它们搜索节点数进行比较,在这些算法基础上分析部分提升电脑AI方案,如递归算法、电脑
2、学习等。算法研究有利于了解程序结构,增强逻辑思维能力,在其它人工智能方面也有很大参考作用。关键词:围棋,信息自动化,游戏,javaABSTRACT 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 be
3、tween 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 handlin
4、g. 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
5、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 unde
6、rstand the program structure, strengthen the logical thinking ability, in other artificial intelligence also have very great reference role.Keywords: information automation , games , Java目 录ABSTRACTII目 录III第1章 引言11.1 背景11.2 课程设计内容21.3 任务分工3第2章 围棋对弈系统32.1 围棋概述32.1.1围棋定义42.1.2 开发围棋任务及目标52.2 关键系统介绍6第3章
7、 围棋对弈系统设计73.1 系统需求分析7用户登陆界面图73.2 系统开发及运行环境93.3 系统关键功效要求103.4.系统总体结构11第4章 围棋对弈系统具体实现124.1界面设计124.1.1用户登陆界面图124.1.2用户注册界面图134.1.3 系统主界面16第5章 结束语19致谢19参考文件19第1章 引言1.1 背景围棋是一个智力游戏,起源于中国。中日韩是现今围棋三大支柱,但多年来日本围棋逐步衰弱,形成了中韩争霸局面。围棋是中华民族传统文化中瑰宝,它表现了中华民族对智慧追求,古人常以“琴棋书画”论及一个人才华和修养,其中“棋”指就是围棋。被大家形象地比方为黑白世界围棋,是中国古人
8、所喜爱娱乐竞技活动,同时也是人类历史上最悠久一个棋戏。因为它将科学、艺术和竞技三者融为一体,有着发展智力,培养意志品质和机动灵活战略战术思想意识特点,所以,几千年来长盛不衰, 并逐步地发展成了一个国际性文化竞技活动。围棋是一个策略性二人棋类游戏,使用格状棋盘及黑白二色棋子进行对弈。现在围棋流行于亚太,覆盖世界范围,是一个很流行棋类游戏。中国围棋规则是数子法,围棋本质是:谁占地面积大谁获胜。围棋规则十分简单,却拥有十分宽广落子空间,使得围棋改变多端,比其它棋类复杂深奥。这就是围棋魅力所在。下围棋对人脑智力开发很有帮助,可增强一个人计算能力、发明能力、思维能力、判定能力,也能提升人注意力和控制力。
9、下围棋对儿童少年智力发展起到主动作用,使她们能愈加好分析事物。Java语言是当今最为流行程序设计语言之一 作为一门很优异和极为健壮编程语言,它同时含有面向对象,和平台无关,分布式应用,安全,稳定和多线程等优良特征,使用Java语言,不仅能够开发出功效强大大型应用程序,而且Java语言本身突出跨平台特征也使得它尤其适合于Internet上应用开发,能够这么说,Java出现使得所开发应用程序“一次编写,四处可用”实现成为了可能。最近伴随计算机快速发展,多种多样电脑游戏层出不穷,使得我们能有更多娱乐项目,而棋类游戏能起到锻炼人思维和修身养性作用,而且棋类游戏水平颇高,大有和人脑分庭抗礼之势。其中战胜
10、过国际象棋世界冠军-卡斯帕罗夫“深蓝”便是最具说服力代表。越来越多含有智能机器进入了人类生活,人工智能关键性现在显而易见。自己对人工智能比较感爱好,而围棋游戏程序开发实现这个课题,恰好提供给我这么一个研究机会,经过对人工智能中博弈方面研究(人机对弈),让我在简单人机对弈全局设计,和具体到相关算法上有了深入了解。人工智能属于计算机科学领域,它以计算机技术为基础,近几十年来,它理论和技术已经日益成熟,应用领域也正在不停扩大,显示出强大生命力。人工智能大致能够分成多个学科,它们每一个全部是独特,不过它们常常又相互结合起来完成设计任务,这时,这些学科之间差异就变很模糊。人工智能在教授系统,自然语言了解
11、,自动定理证实,自动程序设计,人工智能在机器人学、模式识别、物景分析、数据库智能检索、机器下棋(实质上是博弈论问题)和家用电器智能化等领域全部有广泛应用。而这个课题就是和人工智能中博弈论领域紧密相关。 这个题目关键是人工智能和Socekt编程,。而且人工智能中博弈部分,因为采取了大量搜索算法,其中很多被利用到各方面。它概念、方法和技术,正在各行各业广泛渗透。智能已经成为当今多种新产品、新装备发展方向。所以,趁着这个机会,对人工智能中比较轻易实现人机博弈进行了解研究学习,也是很实用且很有必需。1.2 课程设计内容此课程设计是一个小游戏(围棋)实现,关键利用了GUI(用户图形界面)API(应用程序
12、借口)来实现。此程序没有用到图片引用,棋盘和棋子设计完全是应用函数绘制, 再加入复选框,按钮,标签及实现本游戏用户界面布局。在页面上经过单纯JCreator实现下棋程序,能够实现提子,打劫等简单下棋功效。愈加好掌握java编程和布局和设计。经过课程设计把课堂上讲内容融会贯通,学会设计程序、开发应用软件、开发系统软件等各项工作。经过实习掌握语言语法结构,了解类和对象概念,正确使用多种数据类型,对面向对象中继承和多态概念要了解、会使用,在程序中提升代码重用性,使设计程序结构清楚、易于维护。一、棋盘 盘面有纵横各十九条等距离、垂直交叉平行线,共组成1919361个交叉点(以下简称为 “点”)。 在盘
13、面上标有几 个小圆点。称为星位,中央星位又称“天元”。二、棋子 棋子分黑白两色。均为扁圆形。 棋子数量以黑子181、白子180个为宜。三、围棋下法一、对局双方各执一色棋子,黑先白后,交替下子,每次只能下一子。 二、棋子下在棋盘点上。 三、棋子下定后,不得向其它点移动。 四、轮番下子是双方权利,但许可任何一方放弃下子权。四、棋子气一个棋子在棋盘上,和它直线紧邻空点是这个棋子“气”。 棋子直线紧邻点上,假如有同色棋子存在,则它们便相互连接成一个不可分割整体。它们气也应一并计算。 棋子直线紧邻点上,假如有异色棋子存在,这口气就不复存在。如全部气均为对方所占据,便呈无气状态。无气状态棋子不能在棋盘上存
14、在,也就是第四条提子。 五、提子 把无气之子提出盘外手段叫“提子”。 提子有二种: 一、下子后,对方棋子无气,应立即提取。 二、下子后,双方棋子全部呈无气状态,应立即提取对方无气之子。六、计算胜败 1、贴3又3/4子规则 第一步,把死子捡掉。第二步,只数一方围得点(叫做目)并统计下来(通常围得点以整十目为单位),再数刚才那一方子数并统计下来,再把目数和子数加起来。第三步,假如数是黑棋,再减去3又3/4子,假如数是白棋,再加上3又3/4子。第四步,结果和180又1/2(棋盘361个点二分之一)比较,超出就算胜,不然判负。 2、让先和让子 让先不贴目,让子要贴还让子数二分之一(就当被让方是预先收了
15、单官)。1.3 任务分工第2章 围棋对弈系统2.1 围棋概述网络围棋在中国出现几乎跟伴随互联网同时成长,1998年, 联众率先推出了网络围棋对弈。几年来各大网络围棋平台前后 上线,出身各异,水平也参差不齐。依据网络资料显示,截止 底,中国网络围棋平台平均在线人数达6万人。 大型游戏平台如QQ游戏、联众游戏中全部有围棋游戏。也就是 说QQ围棋、联众围棋全部是镶嵌在其游戏平台之上。依靠游戏平 台用户人数优势,这两个平台围棋用户人数占据了网络围棋 用户半数之多。 但依据专业人士分析:这部分用户不管在产品使用深度和对围 棋认知上是绝正确新手,浅尝辄止,她们大多是过客。同时 她们围棋软件本身也不够专业。
16、专业网络围棋平台才是中 国网络围棋普及和发展出路。 现在中国专业网络围棋平台,大致可分使用韩产软件和国 产软件两大类。中国专业围棋平台领军人物弈城、TOM, 便 是使用韩产软件代表。两平台能够实现中韩对垒特征,为 她们吸引了不少高水平棋手,并受到棋友广泛认可。但她 们一样有一个死穴,就是两家皆为购置韩国软件,不掌握主动 权,所以根本无法确保软件立即更新,轻易受制于韩方。“弈 城事件”便将这个致命缺点暴露无疑。 经典围棋系统有:Handtalk,Goemate,Wulu,她是陈志行作品,曾数次取得过冠军。在她指导下一个研究小组编写了乌鹭(WUIU),也在比赛中取得过亚军。Handtalk是用汇编
17、语言编写,实施速度快,程序本身也不大。因为程序并不大,能够推侧出其所用到模式资料也不多。Handtalk在大多数情况下全部不会失误,作者本人曾提到她是用到一个类似人类棋手在下围棋时常见到手割法来帮助判定。Handtalk和其它程序显著不一样地方是它攻杀能力尤其强,在大多数比赛中,全部是经过吃掉对方几块棋而获胜。这是因为程序棋块安危判定能力、形势判定能力、眼位判定能力和模式匹配能力全部很强关系.这些系统好坏,跟设计者棋力关系很大,作者本人含有近职业水准棋力,对Handtalk编写很有2.1.1围棋定义围棋是人生模拟。开局时,盘上一片空白,就仿佛一个刚刚有了自觉意识小孩,睁开了懵懂双眼,开始了自己
18、人生之路。开局时,你能够有多种选择,自由度最大,走哪一步全部不会让你立即输掉。布局基础上是爱好显示,有喜爱大模样,那是寄期望于未来做法;有现实地捞空;有顺应对方思绪,不知不觉中达成自己目标;也有四处和对方作对,即使自己不爽,也要给对方添堵。因为棋盘广大,不可能面面俱到地行棋。过程中,对局者不停地在判定、取舍,仿佛人生开始在选择自己道路了。看着这里想要,那里也想要,可是没法面面俱到,终究只能选择一条路。有时候,你招法对路,越走越畅,有时候就有问题,想要没要到,越下越添堵。优势时,好比人生得意时,心情很爽,最好一直就这么下去;劣势时,千方百计寻求对手破绽,伺机翻盘。心理毅力强人,总能把弦绷得紧紧,
19、一直像甲鱼一样咬住对手;心理软弱人,很早就放弃抵御,认输投降。优势时被对方翻盘了,就仿佛原本胜券在握一件事情,被自己搞砸了,悔恨痛恨全部没有用;大败棋,忽然找到对手漏勺又赢了回来,就仿佛本已被逼到绝境,却又咸鱼翻生,大获全胜,心情之爽,难以表示!因为围棋棋盘相对比较广大,过程也较反复,一盘棋下来,通常势均力敌对手全部会有不止一次获胜机会。这种翻来覆去体验,很象人生经历一个浓缩、抽象。人生,是不可反复,所以在迈出想要尝试一步时,有可能随之而来,是很惨痛代价。而围棋过程,能够让你在做出种种尝试后付出最少代价大不了输一盘棋么?推掉再来就是了。我想,这就是围棋魅力之所在吧。2.1.2 开发围棋任务及目
20、标伴随 Intemet 普及,网络游戏己经成为大家耳濡目染新生事物。网络游戏从出现到现在发展时间很短,不过其发展速度却很之快。现在,能够说网络游戏已经成为大家休闲、娱乐有效方法。网络游戏种类很多,现在关键分战略类、 RPG 类、棋牌类等多个,常见棋牌类游戏有中国象棋、国际象棋、围棋、桥牌、拱猪、麻将等。网络游戏含有以下特征:(1)有一个或多个游戏服务器开启特定游戏服务;(2)游戏者到游戏网站下载用户端程序并申请游戏账号。然后开启用户端程序经过某种网络协议连接游戏服务器。(3)用户端负责处理用户端显示和操作界面,含有简单逻辑处理功效力, 同时负责接收发送和服务器端交互数据包。(4)服务器程序负方
21、处理服务器端逻辑、游戏逻辑、用户之间网络信息传输,和数据库之间数据读取保留工作。 同时服务器端还要负担用户端数据接收、转发工作。( 5 ) 网络游戏常见网络协议有Internet TCp / IP 协议、适适用于局域网(如红色警报联网等采取)IPX协议。即使现在很多围棋游戏正在运行,不过使用java平台开发游戏少之又少,这就使得围棋用户端运行平台十分有限,不能满足以后发展需求,如移动用户端,就基础上没有。所以开发一套基于java围棋系统十分必需。2.2 关键系统介绍关键功效包含:用户连接服务器以后:1、新用户能够注册。2、老用户必需登陆,才能够玩游戏等其它动作。开始游戏以后:1、用户双方选择白
22、棋和黑棋。2、任何一方能够随时随地认输,游戏结束。4、要实现围棋最基础吃掉对方法则。此设计为本站原创作品。其中包含:源程序,可实施程序,论文,录像,使用说明。第3章 围棋对弈系统设计这一章时介绍开发环境和用到开发工具,系统关键功效设计,系统数据步骤图。3.1 系统需求分析用户登陆界面图3.设计步骤(带步骤图)用 户 界 面棋盘展示复选框:白子先x复选框:黑子先按钮:游戏开始按钮:重置游戏标签:赢或输3.设计步骤(带步骤图)运行游戏游戏重置 游戏初始化用户界面 白棋赢 黑棋赢 白字先黑子先 判定准备就绪游戏开始落子3.2 系统开发及运行环境硬件平台:q CPU:P41.8GHz。q 内存:256
23、MB以上。软件平台:q 操作系统:Windows XP。q 开发工具包:JDK Version1.6.2。q JSP服务器:Tomcat 6.0。q 浏览器:推荐使用IE6.0。q 分辨率:最好效果1024768像素。 3.3 系统关键功效要求系统设计目标以下:关键功效包含:1、能够在局域网上实现多人在线对战。用户连接服务器以后:1、新用户能够注册。2、老用户必需登陆,才能够玩游戏等其它动作。3、登陆以后,用户能够选择跟哪个在线玩家对战,假如对方同意,游戏开始。4、假如有以前没有下完棋谱,能够选择读取棋谱,看看每一部是怎么走。开始游戏以后:1、用户双方选择白棋和黑棋。2、任何一方能够随时随地认
24、输,游戏结束。3、假如双方没有下完,能够保留棋盘。4、要实现围棋最基础吃掉对方法则。此设计为本站原创作品。其中包含:源程序,可实施程序,论文,录像,使用说明。3.4.系统总体结构图3.1 系统功效结构图介绍:各功效模块实现功效为:围棋数据管理黑子入库新增模块黑子入库提子模块白子入库新增模块修改入库单和入库报表模块库存查询模块库存管理功效模块图图3.2所表示。图3.2库存管理功效模块图第4章 围棋对弈系统具体实现界面是系统之间最直接交互界面,界面友好性表现了软件设计质量, 并在很大程度上决定了软件是否成功。4.1界面设计4.1.1用户登陆界面图图4.1.1 用户登录模块框图图4.1 用户登陆界面
25、此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 JP
26、asswordField 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.createVerti
27、calStrut(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.createVertica
28、lBox();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
29、.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
30、);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.se
31、tSize(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 = 男;elsesex = 女;if (saveUserData(nameTextField.getText().tr
32、im(), sex, new String(pass1.getPassword(), new String(pass2.getPassword()regDialog.setVisible(false);elseJOptionPane.showMessageDialog(regDialog, 输入有误,请检验, 错误提醒,JOptionPane.ERROR_MESSAGE);); /获取监听器cancel.addActionListener(new ActionListener() public void actionPerformed(ActionEvent arg0) regDialog.s
33、etVisible(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
34、.y+(j-1)*interval;/相邻点处理。获取/获取相邻点 one.pointAround0=new Point(i,j-1); /上 one.pointAround1=new Point(i,j+1); /下 one.pointAround2=new Point(i-1,j); /左 one.pointAround3=new Point(i+1,j); /右 if(i=1)one.pointAround2=one.OUT; /左周围 if(i=19)one.pointAround3=one.OUT; /右周围 if(j=1)one.pointAround0=one.OUT; /上周围
35、 if(j=19)one.pointAround1=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程序设计及调试运行利
36、用JSP“一次编写,各处运行”编程优点,按功效模块结构设计菜单,部署各明细模块工作界面,编写各个模块程序代码,进行编译连接运行,经过反复调试修改,以达成系统功效要求。这个过程含有大量工作量,应仔细对每个程序细节进行分析思索、编写程序并调试,做到程序简练清楚,尽可能避免可能潜在程序错误,并在必需地方加以注释,方便于程序阅读和修改。4.3 本章小结本章介绍了系统具体实现和部分关键代码,其中包含用户登录所要用到loginDialog函数,主界面框架设计。第5章 结束语Java语言是当今最为流行程序设计语言之一 作为一门很优异和极为健壮编程语言,它同时含有面向对象,和平台无关,分布式应用,安全,稳定和
37、多线程等优良特征,使用Java语言,不仅能够开发出功效强大大型应用程序,而且Java语言本身突出跨平台特征也使得它尤其适合于Internet上应用开发,能够这么说,Java出现使得所开发应用程序“一次编写,四处可用”实现成为了可能。人工智能属于计算机科学领域,它以计算机技术为基础,近几十年来,它理论和技术已经日益成熟,应用领域也正在不停扩大,显示出强大生命力。最近伴随计算机快速发展,多种多样电脑游戏层出不穷,使得我们能有更多娱乐项目,而棋类游戏能起到锻炼人思维和修身养性作用,而且棋类游戏水平颇高,大有和人脑分庭抗礼之势。其中战胜过国际象棋世界冠军-卡斯帕罗夫“深蓝”便是最具说服力代表。致谢参考
38、文件1. 基于Java远程围棋对弈软件设计 华东交通大学学报 1999年01期 2. 美Rogers Cadenhead. Java编程入门经典.梅兴文译.第4版.北京:人民邮电出版社,3. 杨昭编著.二级Java语言程序设计教程.北京:中国水利水电出版社,4. 李芝兴,杨瑞龙编.Java程序设计之网络编程.清华大学出版社,35. 宛延闿等编著.实用Java程序设计教程.北京:机械工业出版社,6. 陈国君等编著.Java2程序设计基础.北京:清华大学出版社,7. 郑莉.王行言.马素霞编著.Java语言程序设计.北京:清华大学出版社,8. 丁振凡主编.Java语言实用教程.北京:北京邮电大学出版
39、社,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.a
40、wt.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 ja
41、va.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.RandomAccessFil
42、e;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();