




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、呵呵,代码自己测试:import java.awt.*; import java.awt.event.*; import java.applet.Applet; import java.awt.Color; public class enzit extends Applet implements ActionListener,MouseListener,MouseMotionListener,ItemListener int color_Qizi=0;/旗子的颜色标识 0:白子 1:黑子 int intGame_Start=0;/游戏开始标志 0未开始 1游戏中 int intGame_Bod
2、y=new int1616; /设置棋盘棋子状态 0 无子 1 白子 2 黑子 Button b1=new Button(游戏开始); Button b2=new Button(重置游戏); Label lblWin=new Label( ); Checkbox ckbHB=new Checkbox2; CheckboxGroup ckgHB=new CheckboxGroup(); public void init() setLayout(null); addMouseListener(this); add(b1); b1.setBounds(330,50,80,30); b1.addAct
3、ionListener(this); add(b2); b2.setBounds(330,90,80,30); b2.addActionListener(this); ckbHB0=new Checkbox(白子先,ckgHB,false); ckbHB0.setBounds(320,20,60,30); ckbHB1=new Checkbox(黑子先,ckgHB,false); ckbHB1.setBounds(380,20,60,30); add(ckbHB0); add(ckbHB1); ckbHB0.addItemListener(this); ckbHB1.addItemListen
4、er(this); add(lblWin); lblWin.setBounds(330,130,80,30); Game_start_csh(); public void itemStateChanged(ItemEvent e) if (ckbHB0.getState() /选择黑子先还是白子先 color_Qizi=0; else color_Qizi=1; public void actionPerformed(ActionEvent e) Graphics g=getGraphics(); if (e.getSource()=b1) Game_start(); else Game_re
5、(); public void mousePressed(MouseEvent e) public void mouseClicked(MouseEvent e) Graphics g=getGraphics(); int x1,y1; x1=e.getX(); y1=e.getY(); if (e.getX()300 | e.getY()300) return; if (x1%2010) x1+=20; if(y1%2010) y1+=20; x1=x1/20*20; y1=y1/20*20; set_Qizi(x1,y1); public void mouseEntered(MouseEv
6、ent e) public void mouseExited(MouseEvent e) public void mouseReleased(MouseEvent e) public void mouseDragged(MouseEvent e) public void mouseMoved(MouseEvent e) public void paint(Graphics g) draw_qipan(g); public void set_Qizi(int x,int y) /落子 if (intGame_Start=0) /判断游戏未开始 return; if (intGame_Bodyx/
7、20y/20!=0) return; Graphics g=getGraphics(); if (color_Qizi=1)/判断黑子还是白子 g.setColor(Color.black); color_Qizi=0; else g.setColor(Color.white); color_Qizi=1; g.fillOval(x-10,y-10,20,20); intGame_Bodyx/20y/20=color_Qizi+1; if (Game_win_1(x/20,y/20) /判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!); i
8、ntGame_Start=0; if (Game_win_2(x/20,y/20) /判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!); intGame_Start=0; if (Game_win_3(x/20,y/20) /判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!); intGame_Start=0; if (Game_win_4(x/20,y/20) /判断输赢 lblWin.setText(Get_qizi_color(color_Qizi)+赢了!); intGame_St
9、art=0; public String Get_qizi_color(int x) if (x=0) return 黑子; else return 白子; public void draw_qipan(Graphics G) /画棋盘 15*15 G.setColor(Color.lightGray); G.fill3DRect(10,10,300,300,true); G.setColor(Color.black); for(int i=1;i16;i+) G.drawLine(20,20*i,300,20*i); G.drawLine(20*i,20,20*i,300); public
10、void Game_start() /游戏开始 intGame_Start=1; Game_btn_enable(false); b2.setEnabled(true); public void Game_start_csh() /游戏开始初始化 intGame_Start=0; Game_btn_enable(true); b2.setEnabled(false); ckbHB0.setState(true); for (int i=0;i16 ;i+ ) for (int j=0;j16 ;j+ ) intGame_Bodyij=0; lblWin.setText(); public vo
11、id Game_re() /游戏重新开始 repaint(); Game_start_csh(); public void Game_btn_enable(boolean e) /设置组件状态 b1.setEnabled(e); b2.setEnabled(e); ckbHB0.setEnabled(e); ckbHB1.setEnabled(e); public boolean Game_win_1(int x,int y) /判断输赢 横 int x1,y1,t=1; x1=x; y1=y; for (int i=1;i15) break; if (intGame_Bodyx1+iy1=i
12、ntGame_Bodyxy) t+=1; else break; for (int i=1;i5 ;i+ ) if (x14) return true; else return false; public boolean Game_win_2(int x,int y) /判断输赢 竖 int x1,y1,t=1; x1=x; y1=y; for (int i=1;i15) break; if (intGame_Bodyx1y1+i=intGame_Bodyxy) t+=1; else break; for (int i=1;i5 ;i+ ) if (x14) return true; else return false; public boolean Game_win_3(int x,int y) /判断输赢 左斜 int x1,y1,t=1; x1=x; y1=y; for (int i=1;i15) break; if (intGame_Bodyx1+iy1-i=intGame_Bodyxy) t+=1; else break; for (int i=1;i5 ;i+ ) if (x14) return true; else return false; public boolean Game_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多方抢险方案模板
- 原木消处理方案
- 物业空调拆解方案模板
- 小区物业成本审计方案
- 门窗安装技术方案
- 物业决定封窗方案
- 物业防潮处理方案
- 应对舆情处置方案
- 护坡养护施工方案
- 证券评级标准方案(3篇)
- 《石油化工工程建设费用定额》2025
- 鹦鹉热护理疑难病例讨论
- 沈阳地铁笔试试题及答案
- 双减政策中的课程改革探索心得体会
- 2025年储能系统电池合同
- 餐饮服务企业各项管理制度体系
- 《水库大坝安全管理条例》知识培训
- 2024-2025学年人教版英语七年级下册Unit 5 Here and now Section A 2a - 2e 教案
- 高处坠落安全课件
- 一维伺服移动工作台设计说明书电子精密机械设计课程设计
- 职工代表选举方案及选票模版(2篇)
评论
0/150
提交评论