当前位置: 代码迷 >> J2SE >> java2打一棋子
  详细解决方案

java2打一棋子

热度:70   发布时间:2016-04-23 22:06:16.0
java二打一棋子
[align=center]java二打一棋子

求代码,测试可行后50分!
高手有空只当玩玩,帮忙编一下,新手可以当学习编一下,[/align]

游戏“二打一棋”:http://baike.baidu.com/view/8852571.htm
这是一个80后小时候玩的小游戏,因为本人java初学,又很想编出来,求高手按百度中的解释把代码帮我改进一下:

1.走棋:走在相邻空位上

2,吃子方法(如图1.0走动黑子,白子被吃掉系统自己去除,如图2.0走动白子黑子被去除,注意在同一行或同一列中不能有其它棋子)

(1.0)


(2.0)


3.判断输赢:有一方棋子数小于1,则这方输;或者有一方棋子不能走动如图3.0
(3.0)


4.人人对战,人机对战,(人机对战可以让电脑随机走动一棋子,优先走在不使一行有单个的)
注:如果能实现网络对战更好!

如图没还没有实现走棋子,和判定输赢,另外,下面显示也不对,应该是:
(练走棋步数:___,黄走棋步数___,请绿(黄)点击自己的棋子/请黄点击相邻的空位)

界面:






package kangzi.kang.kaioes;

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
public class Game extends JFrame implements MouseListener
{
/**
 * 
 */
private static final long serialVersionUID = 1L;
public Game()
{
this.setLayout(null);//
this.setTitle("80后小时候玩的游戏");
this.addMouseListener(this);
this.setSize(800, 600);
this.setLocationRelativeTo(null);
//窗口置于屏幕中央
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
//不可自动调节窗口大小
this.setVisible(true);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
      new Game();
}
/*
 * 用数组position代表棋盘上点的状态
 * 其中不可以下棋的地方设置为0
 * 可以走棋的地方设置为1
 * 有棋子且颜色为绿色的2
 * 有棋子且颜色为橘黄色的3
//定义一个二维数组,用来储存,20个position可取1234
//表示当前的状态*/
int state=3;
/*
 *用1表示放置棋子(默认)
 *用2表示吃棋子(点击对方的棋子)
 *用3表示走棋的第一步,即点击自己的棋子
 *用4表示走棋的第二步,即点击相邻的下棋空白点
 */
//定义棋盘的起始坐标
int a=50,b=50,c=60;
int x,y,r=c/4;
//定义绿棋已经下的棋子数目
int greennum=0;
//定义绿方被吃掉的棋子数目
int greeneat=0;
//定义黄棋已经下的棋子数目
int orangenum=0;
//定义黄方被吃掉的棋子数目
int orangeeat=0;
//定义下棋的人的状态,默认为绿方先下
boolean GREEN=true;



//设置提示信息的字体
Font font=new Font("华文行楷",Font.BOLD,25);//font 字体
//提示玩家下棋信息
String s="请绿方点击自己棋子";
String s1="绿方已放置棋子数目:";
String s2="黄方已放置棋子数目:";
//String s0="现在是放棋阶段";
String s3=null;
    //保存上一步信息