Android实现中国象棋附源码下载实现中国象棋附源码下载
象棋,很多人多接触过,学者写了一个,大神可以指点一下~直接上代码:
贴出主要代码,想要Demo的点击下载:中国象棋Demo
package wyf.ytl;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.media.MediaPlayer;
import android.view.MotionEvent;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
/**
* 该类是整个程序最主要的类,是主游戏的界面
* 该界面继承自SurfaceView并实现了SurfaceHolder.Callback接口
* 其中包含了一个刷帧的线程类
*
*/
public class GameView extends SurfaceView implements SurfaceHolder.Callback{
private TutorialThread thread;//刷帧的线程
TimeThread timeThread ;
ChessActivity activity;//声明Activity的引用
Bitmap qiPan;//棋盘
Bitmap qizibackground;//棋子的背景图片
Bitmap win;//胜利的图片
Bitmap lost;//失败的图片
Bitmap ok;//确定按钮
Bitmap vs;//黑方红方VS的图片
Bitmap right;//向右的指针
Bitmap left;//向左的指针
Bitmap current;//“当前”文字
Bitmap exit2;//退出按钮图片
Bitmap sound2;//声音按钮图片
Bitmap sound3;//当前是否播放了声音
Bitmap time;//冒号
Bitmap redtime;//红色冒号
Bitmap background;//背景图片
MediaPlayer go;//下棋声音
Paint paint;//画笔
boolean caiPan = true;//是否为玩家走棋
boolean focus = false;//当前是否有选中的棋子
int selectqizi = 0; //当然选中的棋子
int startI, startJ;//记录当前棋子的开始位置
int endI, endJ;//记录当前棋子的目标位置
Bitmap[] heiZi = new Bitmap[7];//黑子的图片数组
Bitmap[] hongZi = new Bitmap[7];//红子的图片数组
Bitmap[] number = new Bitmap[10];//数字的图片数组,用于显示时间
Bitmap[] redNumber = new Bitmap[10];//红色数字的图片,用于显示时间
GuiZe guiZe;//规则类
int status = 0;//游戏状态。0游戏中,1胜利, 2失败
int heiTime = 0;//黑方总共思考时间
int hongTime = 0;//红方总共思考时间
int[][] qizi = new int[][]{//棋盘
{2,3,6,5,1,5,6,3,2},
{0,0,0,0,0,0,0,0,0},
{0,4,0,0,0,0,0,4,0},
{7,0,7,0,7,0,7,0,7},
{0,0,0,0,0,0,0,0,0},