求解答-运行结果正确,在连续5黑或5白可以自动出现一个对话框,显示赢了也可选继续或退出游戏

问题描述

运行结果正确,在连续5黑或5白可以自动出现一个对话框,显示赢了也可选继续或退出游戏

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;
import java.awt.*;
public class Example2 extends JFrame implements MouseListener,ActionListener
{ private ExamplePanel2[] panel=new ExamplePanel2[100];
private JButton jbStart=new JButton ("开始游戏");
private JButton jbBlack=new JButton ("黑方");
private JButton jbWhite=new JButton ("白方");
private int colorFlag=0;
Example2()
{ Container c=this.getContentPane();
c.setLayout(new BorderLayout());
JPanel pc=new JPanel();
JPanel ps=new JPanel();
c.add(pc,BorderLayout.CENTER);
c.add(ps,BorderLayout.SOUTH);
pc.setLayout(new GridLayout(10,10));
for(int i=0;i<panel.length;i++)
{ panel[i]=new ExamplePanel2();
panel[i].setNumber(i+1);
panel[i].addMouseListener(this);
pc.add(panel[i]);
}
ps.setLayout(new FlowLayout(FlowLayout.CENTER));
ps.add(jbStart);
ps.add(jbBlack);
ps.add(jbWhite);
jbStart.addActionListener(this);
jbBlack.addActionListener(this);
jbWhite.addActionListener(this);
this.setTitle("五子棋游戏");
this.setSize(500,500);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void mouseClicked(MouseEvent arg0) { }
public void mouseEntered(MouseEvent arg0) { }
public void mouseExited(MouseEvent arg0) { }
public void mousePressed(MouseEvent arg0)
{ for(int i=0;i<panel.length;i++)
{ if(arg0.getSource()==panel[i])
{ if(colorFlag==0)
{ panel[i].setColor(0);
panel[i].repaint(); }
else
{ panel[i].setColor(1);
panel[i].repaint(); }
}
}
}
public void mouseReleased(MouseEvent arg0) { }
public void actionPerformed(ActionEvent arg0)

{ if(arg0.getSource()==jbBlack)
{colorFlag=0;}
else if(arg0.getSource()==jbWhite)
{colorFlag=1;}
else if(arg0.getSource()==jbStart)
{
for(int i=0;i<panel.length;i++)
panel[i].setStartFlag(1);
}
}
public static void main(String args[])
{ Example2 ex=new Example2(); }
}

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
public class ExamplePanel2 extends JPanel
{ private int color=0;
private int number=0;
private int startFlag=0;
private int lock=0;
ExamplePanel2 ()
{ this.setBorder(new LineBorder(Color.black,1));
this.setBackground(new Color(255,205,255));
}
public void paintComponent(Graphics g)
{ super.paintComponent(g);
if(startFlag==1)
{ if(lock==0)
{ if(color==0)
g.setColor(Color.black);
else
g.setColor(Color.white);
g.fillOval(10,10,30,30);
lock=1;
}
}
}
public int getColor()
{ return color; }
public void setColor(int color)
{ this.color=color; }
public int getNumber()
{ return number; }
public void setNumber(int number)
{ this.number=number; }
public int getStartFlag()
{ return startFlag; }
public void setStartFlag(int startFlag)
{ this.startFlag=startFlag;
}
}

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;
public class ExamplePanel2 extends JPanel
{ private int color=0;
private int number=0;
private int startFlag=0;
private int lock=0;
ExamplePanel2 ()
{ this.setBorder(new LineBorder(Color.black,1));
this.setBackground(new Color(255,205,255));
}
public void paintComponent(Graphics g)
{ super.paintComponent(g);
if(startFlag==1)
{ if(lock==0)
{ if(color==0)
g.setColor(Color.black);
else
g.setColor(Color.white);
g.fillOval(10,10,30,30);
lock=1;
}
}
}
public int getColor()
{ return color; }
public void setColor(int color)
{ this.color=color; }
public int getNumber()
{ return number; }
public void setNumber(int number)
{ this.number=number; }
public int getStartFlag()
{ return startFlag; }
public void setStartFlag(int startFlag)
{ this.startFlag=startFlag;
}
}

时间: 2024-11-01 17:33:44

求解答-运行结果正确,在连续5黑或5白可以自动出现一个对话框,显示赢了也可选继续或退出游戏的相关文章

求解答-想程序连续5黑或5白之后自动出现一个对话框,显示我赢了,还可以选继续或退出游戏

问题描述 想程序连续5黑或5白之后自动出现一个对话框,显示我赢了,还可以选继续或退出游戏 import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.*;import java.awt.*;public class Example2 exte

求救-非常急!想程序连续5黑或5白自动出现一个对话框,显示我赢了还可以选继续或退出游戏

问题描述 非常急!想程序连续5黑或5白自动出现一个对话框,显示我赢了还可以选继续或退出游戏 import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.MouseEvent;import java.awt.event.MouseListener;import javax.swing.*;import java.awt.*;public class Example2 ext

求解答-运行结果怎么回事,dev c++运行从74开始,求解

问题描述 运行结果怎么回事,dev c++运行从74开始,求解 #include #define MAX 100 int main(void) { int count = MAX + 1; while(--count>0){ printf("%d bottles of spring water on the wall," "%d bottles of spring water!n",count,count); printf("Take one dow

求解答-运行结果说是Exception in thread &amp;amp;quot;main&amp;amp;quot; java.NoClassDeFoundError:Example

问题描述 运行结果说是Exception in thread "main" java.NoClassDeFoundError:Example import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.*; import j

求解答-运行结果出现的问题我不知道怎么改,请会的你们帮忙一下吧,很急!

问题描述 运行结果出现的问题我不知道怎么改,请会的你们帮忙一下吧,很急! import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; public class UserGUI implements ActionListener { private CalcEngine calc; private JFrame frame; private JTextField dis

文件-c语言 火车票管理系统 求解答

问题描述 c语言 火车票管理系统 求解答 运行后不能添加,删除,修改,查询班次到文件 可是文件是已经建好有数据的,查询时只显示一条然后就非正常退出了,我怀疑是最后链表做的有问题函数read()可是就是找不到哪错了,希望有哪位朋友可以解答一下, #include #include #include #include #include #include typedef struct Tickets { char num; char time[8]; char starts[8]; char ends

java-初学Hibernate遇到问题,求解答~

问题描述 初学Hibernate遇到问题,求解答~ 运行一个hibernate例子,但是报错,小白不知道该怎么解决,麻烦大神帮看看.我把代码贴出来~(1).package hibernate;import org.hibernate.*;import org.hibernate.cfg.*;import org.hibernate.service.*;import org.hibernate.boot.registry.*;public class NewsManager{ public sta

eclipse里面布置resin总是出错 求解答

问题描述 eclipse里面布置resin总是出错 求解答 运行的时候会出现图一的错误,之后点击确定之后会出现图二的错误! 尝试了重装几次未果,网上搜索的配置方法尝试一下也不行!前来求助!大家帮我解答一下 谢谢了 解决方案 应该是版本问题吧 ,你检查一下JDK版本会不会和你现在不熟的版本有冲突?

textview-Android开发动态TextView问题报错求解答

问题描述 Android开发动态TextView问题报错求解答 两个画图界面,我想在第一个界面上加入一个TextView动态显示当前整点温度数据的数值 下面这个是XML文件控件声明 下面是我画折线的类 计算textview高度">下面是我在这个类下面写的setText![然后安装后画曲线的界面就不动了,控件也不显示文本,最后强制退出,下面是报错内容 我想问这里为什么会出错,我要实现这个功能要怎么办才可以!!我猜出错的原因是不是不能在这个类下面写setText()方法啊?求解答 解决方案 S