2 u013251453 u013251453 于 2013.12.26 23:04 提问

运行结果正确,在连续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;
}
}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
掷双骰
在最流行的博彩游戏中有一种名为“掷双骰”的骰子游戏,这种游戏在世界各地的娱乐场所和大街小巷非常受欢迎。游戏的规则很简单: 玩家掷两个骰子。每个骰子有六面,分别含有1、2、3、4、5、和6个点。掷完骰子后,计算两个朝上的面的点数之和。如果首次投掷点数总和是7或11,那么玩家赢;如果首次投掷的点数之和是2、3或者12,那么玩家输;如果首次投掷的点数之和是4、5、6、8、9、或者10,那么这个和就成为
趣味编程:有A,B,C,D,E五人,每人额头上都帖了一张黑或白的纸
#include <iostream> using std::cout; using std::endl; int main(){ /**** 有A、B、C、D、E五人,每人额头上都帖了一张黑或白的纸。五人对坐,每人都可以看到其它人额头上的纸的颜色。五人相互观察后, A说:“我看见有三人额头上帖的是白纸,一人额头上帖的是黑纸。” B说:“我看见其它四人额头上帖的都是黑纸。
口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取
*          * 输入描述:出三个球,问得到3中不通过颜色的球口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取的可能取法。(枚举)   * 问题描述:  * 程序输出: * 问题分析:略         * 算法设计:略          */  #include "stdafx.h"    #include    #include    using namespace std; 
口袋中有红黄蓝白黑5种颜色的球若干个。每次从口袋中任意取出三个球,问得到3中不通过颜色的球的可能取法。(枚举)
// 121212 第七章例7.7.cpp : 定义控制台应用程序的入口点。 // /* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 * 完成日期:2012 年 12 月 12 日 * 版 本 号:v1.0
C:\WINDOWS\system32\Macromed\Flash\Flash32_11_5_502_110.ocx
Flex Builder不能调试 调试的时候出提示 下载 Download the Windows Flash Player 10 ActiveX control content debugger (for IE) (EXE, 2.03 MB) 安装
一个或多个页边距被设置到可打印区域之外,是否继续?
最近被dev的的报表打印折腾的要死,可能还会碰到,先记下来吧。 先上报表设计器里3个属性,这三个属性真害人啊,好吧,我英语不好.... 1.use landscape; 属性说明:gets or sets a value specifying whether the default printer's landscape option value is used when printing
“FLASH”惹得祸之‘部件“Flash32-11-7-700-202.ocx”或其附件之一不能正确注册:一个文件丢失或无效’
这次报考了C++,按照安排今天开始做C++的题库了,说到做题库,首先需要安装C++的题库软件,但是刚点开就“卡壳”了,%>_     双击安装软件出现了‘部件“Flash32-11-7-700-202.ocx”或其附件之一不能正确注册:一个文件丢失或无效 ’的提示,刚开始以为是软件的问题,于是又拷了一次,发现还是同样的问题。     最后经过多番搜寻之后,发现原因有很多:也许是FLASH版本过
JAVA课程作业1--骰子游戏
题目要求:掷两个骰子,每个骰子有六面, 分别为1、2、3、4、5、6。检查这两个骰子的和。 如果为2、3或12你就输了;如果和是7或者11你就赢了。 但如果和是其他数字(例如4、5、6、8、9或者10), 就确定了一个点。继续掷骰子直至抛出一个7或者 掷出和刚才相同的点数。如果掷出的是7,你就输了。 如果掷出的点数和你前一次掷出的点数相同, 你就赢了。解题代码:enum Status{
解决 请按ENTER或者按其他键继续的问题
因为虚拟机的CENTOS是新装的,在学LAMP的时候需要查看一个大的CONF,所以我想先把vim配置一下把,网上找了一个vim 配置,结果出现一用VIM就弹出 这样的问题,我找了一下,还不太好百度,后来想了一下,应该是下的VIMRC文件有问题,下了一个新的覆盖一下啊,解决问题。
超过5名学生的课
有一个courses 表 ,有: student (学生) 和 class (课程)。 请列出所有超过或等于5名学生的课。 例如,表: +---------+------------+ | student | class | +---------+------------+ | A | Math | | B | English | |