部分代码:

 public void run(){
while (true){
//单击棋子第一下开始闪烁
if (chessManClick){
play[Man].setVisible(false); //时间控制
try{
tmain.sleep();
}
catch(Exception e){
} play[Man].setVisible(true);
} //闪烁当前提示信息 以免用户看不见
else {
text.setVisible(false);
//时间控制
try{
tmain.sleep();
}
catch(Exception e){
} text.setVisible(true);
} try{
tmain.sleep();
}
catch (Exception e){
}
}
} //单击棋子方法
public void mouseClicked(MouseEvent me){
System.out.println("Mouse"); //当前坐标
int Ex=,Ey=; //启动线程
if (tmain == null){
tmain = new Thread(this);
tmain.start();
} //单击棋盘(移动棋子)
if (me.getSource().equals(image)){
//该红棋走棋的时候
if (chessPlayClick == && play[Man].getName().charAt() == ''){
Ex = play[Man].getX();
Ey = play[Man].getY();
//移动卒、兵
if (Man > && Man < ){
rule.armsRule(Man,play[Man],me);
} //移动炮
else if (Man > && Man < ){
rule.cannonRule(play[Man],play,me);
} //移动车
else if (Man >= && Man < ){
rule.cannonRule(play[Man],play,me);
} //移动马
else if (Man > && Man < ){
rule.horseRule(play[Man],play,me);
} //移动相、象
else if (Man > && Man < ){
rule.elephantRule(Man,play[Man],play,me);
} //移动仕、士
else if (Man > && Man < ){
rule.chapRule(Man,play[Man],play,me);
} //移动将、帅
else if (Man == || Man == ){
rule.willRule(Man,play[Man],play,me);
} //是否走棋错误(是否在原地没有动)
if (Ex == play[Man].getX() && Ey == play[Man].getY()){
text.setText(" 红棋走棋");
chessPlayClick=;
} else {
text.setText(" 黑棋走棋");
chessPlayClick=;
} }//if //该黑棋走棋的时候
else if (chessPlayClick == && play[Man].getName().charAt() == ''){
Ex = play[Man].getX();
Ey = play[Man].getY(); //移动卒、兵
if (Man > && Man < ){
rule.armsRule(Man,play[Man],me);
} //移动炮
else if (Man > && Man < ){
rule.cannonRule(play[Man],play,me);
} //移动车
else if (Man >= && Man < ){
rule.cannonRule(play[Man],play,me);
} //移动马
else if (Man > && Man < ){
rule.horseRule(play[Man],play,me);
} //移动相、象
else if (Man > && Man < ){
rule.elephantRule(Man,play[Man],play,me);
} //移动仕、士
else if (Man > && Man < ){
rule.chapRule(Man,play[Man],play,me);
} //移动将、帅
else if (Man == || Man == ){
rule.willRule(Man,play[Man],play,me);
} //是否走棋错误(是否在原地没有动)
if (Ex == play[Man].getX() && Ey == play[Man].getY()){
text.setText(" 黑棋走棋");
chessPlayClick=;
} else {
text.setText(" 红棋走棋");
chessPlayClick=;
} }//else if //当前没有操作(停止闪烁)
chessManClick=false; }//if //单击棋子
else{
//第一次单击棋子(闪烁棋子)
if (!chessManClick){
for (int i=;i<;i++){
//被单击的棋子
if (me.getSource().equals(play[i])){
//告诉线程让该棋子闪烁
Man=i;
//开始闪烁
chessManClick=true;
break;
}
}//for
}//if //第二次单击棋子(吃棋子)
else if (chessManClick){
//当前没有操作(停止闪烁)
chessManClick=false; for (i=;i<;i++){
//找到被吃的棋子
if (me.getSource().equals(play[i])){
//该红棋吃棋的时候
if (chessPlayClick == && play[Man].getName().charAt() == ''){
Ex = play[Man].getX();
Ey = play[Man].getY(); //卒、兵吃规则
if (Man > && Man < ){
rule.armsRule(play[Man],play[i]);
} //炮吃规则
else if (Man > && Man < ){
rule.cannonRule(,play[Man],play[i],play,me);
} //车吃规则
else if (Man >= && Man < ){
rule.cannonRule(,play[Man],play[i],play,me);
} //马吃规则
else if (Man > && Man < ){
rule.horseRule(play[Man],play[i],play,me);
} //相、象吃规则
else if (Man > && Man < ){
rule.elephantRule(play[Man],play[i],play);
} //士、仕吃棋规则
else if (Man > && Man < ){
rule.chapRule(Man,play[Man],play[i],play);
} //将、帅吃棋规则
else if (Man == || Man == ){
rule.willRule(Man,play[Man],play[i],play);
play[Man].setVisible(true);
} //是否走棋错误(是否在原地没有动)
if (Ex == play[Man].getX() && Ey == play[Man].getY()){
text.setText(" 红棋走棋");
chessPlayClick=;
break;
} else{
text.setText(" 黑棋走棋");
chessPlayClick=;
break;
} }//if //该黑棋吃棋的时候
else if (chessPlayClick == && play[Man].getName().charAt() == ''){
Ex = play[Man].getX();
Ey = play[Man].getY(); //卒吃规则
if (Man > && Man < ){
rule.armsRule(play[Man],play[i]);
} //炮吃规则
else if (Man > && Man < ){
rule.cannonRule(,play[Man],play[i],play,me);
} //车吃规则
else if (Man >= && Man < ){
rule.cannonRule(,play[Man],play[i],play,me);
} //马吃规则
else if (Man > && Man < ){
rule.horseRule(play[Man],play[i],play,me);
} //相、象吃规则
else if (Man > && Man < ){
rule.elephantRule(play[Man],play[i],play);
} //士、仕吃棋规则
else if (Man > && Man < ){
rule.chapRule(Man,play[Man],play[i],play);
} //将、帅吃棋规则
else if (Man == || Man == ){
rule.willRule(Man,play[Man],play[i],play);
play[Man].setVisible(true);
} //是否走棋错误(是否在原地没有动)
if (Ex == play[Man].getX() && Ey == play[Man].getY()){
text.setText(" 黑棋走棋");
chessPlayClick=;
break;
} else {
text.setText(" 红棋走棋");
chessPlayClick=;
break;
} }//else if }//if }//for //是否胜利
if (!play[].isVisible()){
JOptionPane.showConfirmDialog(
this,"黑棋胜利","玩家一胜利",
JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE);
//双方都不可以在走棋了
chessPlayClick=;
text.setText(" 黑棋胜利"); }//if else if (!play[].isVisible()){
JOptionPane.showConfirmDialog(
this,"红棋胜利","玩家二胜利",
JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE);
chessPlayClick=;
text.setText(" 红棋胜利");
}//else if }//else }//else }

作业七:团队项目——Alpha版本冲刺阶段-10的更多相关文章

  1. 作业七:团队项目——Alpha版本冲刺阶段

      本次作业为期三周时间,要求各组结合所选项目并阅读教材<构建之法>第六章内容,完成项目的Alpha版本.本阶段的主要内容如下:(20分) 1. 每天组织一次站立会议,讨论每个成员的昨天进 ...

  2. 作业七:团队项目——Alpha版本冲刺阶段002

    今日进展:我们终于安装好了软件,今天开始进行作业设计. 今日安排:今天开始我们要开始我们的框架的设计.

  3. 作业七:团队项目——Alpha版本冲刺阶段-13

    对项目最后进行了完善. 代码如下: public void chapRule(int Man ,JLabel play,JLabel playTake,JLabel playQ[]){ //当前状态 ...

  4. 作业七:团队项目——Alpha版本冲刺阶段010

    今日安排:组内成员讨论 今日进程:组内成员讨论结束,并有明确的解决办法,每个人准备实践

  5. 作业七:团队项目——Alpha版本冲刺阶段009

    今日安排:组内成员讨论 今日进度:组内成员讨论分工细节以及可能遇到的问题,并提出解决方案

  6. 作业七:团队项目——Alpha版本冲刺阶段008

    今日进度:组内成员讨论 今日安排:组内成员分工

  7. 作业七:团队项目——Alpha版本冲刺阶段007

    今日进展:完善游戏主体代码. 今日安排:让游戏能运行起来.

  8. 作业七:团队项目——Alpha版本冲刺阶段006

    今日进展:完成主体代码. 今日安排:对程序主体进行编写.

  9. 作业七:团队项目——Alpha版本冲刺阶段005

    今日进展:编写代码. 今日安排:完成开始部分代码.

随机推荐

  1. c# datagridview 中DataSource的使用总结

    由于当前项目的窗体更新使用的是订阅事件的方式.其中有个datagridview 动态显示统计数据的列表框.本来想用textbox显示,但不规则,看起来也不美观,改由dgv显示. 我没打算用改dgv表的 ...

  2. 解析jquery获取父窗口的元素

    ("#父窗口元素ID",window.parent.document); 对应javascript版本为window.parent.document.getElementByIdx ...

  3. php发展起源

    PHP原始为Personal Home Page的缩写,已经正式更名为 "PHP: Hypertext Preprocessor".注意不是“Hypertext Preproces ...

  4. SQL Server客户端登录名与数据库用户关联

    数据库迁移之后,在新的SQL Server客户端工具设置关联时,往往会报错: 用户.组或角色 'XXX' 在当前数据库中已存在. 解决方法: 首先介绍一下sql server中“登录”与“用户”的区别 ...

  5. jquery选择器总结 转自(永远的麦子)

    jQuery选择器总结 阅读目录 1, 基本选择器? 2, 层次选择器? 3, 过滤选择器? 4, 表单选择器? jQuery选择器共有四大类,分别为基本选择器,层次选择器,过滤选择器和表单选择器.下 ...

  6. PHP二维数组排序

    $arrays   要排序的数组 $sort_key 根据排序的key $sort_order 升序降序    SORT_ASC/SORT_DESC $sort_type 排序key类型 SORT_N ...

  7. java JFrame修改左上角的图片

    直接案例:

  8. React jQuery公用组件开发模式及实现

    目前较为流行的react确实有很多优点,例如虚拟dom,单向数据流状态机的思想.还有可复用组件化的思想等等.加上搭配jsx语法和es6,适应之后开发确实快捷很多,值得大家去一试.其实组件化的思想一直在 ...

  9. Spring 学习笔记 3. 尚硅谷_佟刚_Spring_配置 Bean

    1,bean 的配置 <bean id="helloWorld" class="com.yfy.HelloWorld"> <property ...

  10. Scrum - BB项目日志

    这是第三个Scrum团队开发,也是我首次担任Scrum Master一职.所以需要掌握的流程还是很多,也会碰到各种问题,在此记录一下,希望对以后有所帮助. Day1: 开了一次kick-off mee ...