作业七:团队项目——Alpha版本冲刺阶段-10
部分代码:
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的更多相关文章
- 作业七:团队项目——Alpha版本冲刺阶段
本次作业为期三周时间,要求各组结合所选项目并阅读教材<构建之法>第六章内容,完成项目的Alpha版本.本阶段的主要内容如下:(20分) 1. 每天组织一次站立会议,讨论每个成员的昨天进 ...
- 作业七:团队项目——Alpha版本冲刺阶段002
今日进展:我们终于安装好了软件,今天开始进行作业设计. 今日安排:今天开始我们要开始我们的框架的设计.
- 作业七:团队项目——Alpha版本冲刺阶段-13
对项目最后进行了完善. 代码如下: public void chapRule(int Man ,JLabel play,JLabel playTake,JLabel playQ[]){ //当前状态 ...
- 作业七:团队项目——Alpha版本冲刺阶段010
今日安排:组内成员讨论 今日进程:组内成员讨论结束,并有明确的解决办法,每个人准备实践
- 作业七:团队项目——Alpha版本冲刺阶段009
今日安排:组内成员讨论 今日进度:组内成员讨论分工细节以及可能遇到的问题,并提出解决方案
- 作业七:团队项目——Alpha版本冲刺阶段008
今日进度:组内成员讨论 今日安排:组内成员分工
- 作业七:团队项目——Alpha版本冲刺阶段007
今日进展:完善游戏主体代码. 今日安排:让游戏能运行起来.
- 作业七:团队项目——Alpha版本冲刺阶段006
今日进展:完成主体代码. 今日安排:对程序主体进行编写.
- 作业七:团队项目——Alpha版本冲刺阶段005
今日进展:编写代码. 今日安排:完成开始部分代码.
随机推荐
- <停车卫> 产品需求说明书 version 2.0
<停车卫> 产品需求说明书 文档版本号: Version 2.0 文档编号: xxxx 文档密级: 归属部门/项目: 产品名: 停车卫 子系统名: 编写人: kina 编写日期: 2015 ...
- odoo10 费用报销
odo10 对费用报销进行了改进,恢复了 8.0 及之前版本具有的 单个报销包含多个 明细内容的功能. 使用步骤大致如下: 根据管理需要设立 相应的科目和分析帐户 科目 分析帐户 建立费用目录 员工录 ...
- axure设置变量值
以登录框为例设置axure变量值 1.打开axure,打开新页面命名为login,拖入一个矩形背景,命名:登录背景图 2.拖入标签控件和输入框控件分别命名为用户名:.userName.密码:.pass ...
- tomcat集群实例重复执行
http://www.cnblogs.com/interdrp/p/3458882.html
- (Python)继承
面向对象的另一个特性是继承,继承可以更好的代码重用. 例如一个学校里面的成员有老师.学生.老师和学生都有共同的属性名字和年纪.但老师还有它自己的属性,如工资.学生也有它的属性,如成绩. 因此我们可以设 ...
- vs2013卸载后重新安装不能用了,如何解决
vs2013卸载后重新安装不能用了 据说VS卸载后有残留文件,估计是注册文件没删除,弄了很多方法,最后只有重装.你可以下载一个cclearn清理注册表,再装试试 我卸载完用360清理了一下 之后再安装 ...
- Unity将来时:IL2CPP是什么?
作者:小玉链接:https://zhuanlan.zhihu.com/p/19972689来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. Unity3D 想必大家都不陌 ...
- gitlab安装过程总结
gitlab总算搭建好了,今天下午完成了第一个工程的导入. 梳理下搭建的过程: 1.下载bitnami的一键安装包,并安装 注意设置权限为777,以免出现某文件写入错误的问题 2.配置邮件服务 分别修 ...
- 企业搜索引擎开发之连接器connector(二十九)
在哪里调用监控器管理对象snapshotRepositoryMonitorManager的start方法及stop方法,然后又在哪里调用CheckpointAndChangeQueue对象的resum ...
- [poi2007] biu
题意:给定一个图,点n<=105,边m<=106,现在求它的补图有多少个联通分量.. 思路:很容易想到并查集,但是补图边太多了.. 于是只能优化掉一些多余的边.. 具体做法是用队列优化.. ...