实现效果
代码段
IDE:AS 语言:JAVA
package com.example.myapplication;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.Point;
import android.os.Bundle;
import android.os.Parcelable;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Toast;
import androidx.annotation.Nullable;
import java.util.ArrayList;
import java.util.List;
public class WuziqiPanel extends View
{
private int mPanelWidth;//格子宽度
private float mLineHeight;//格子高度
private int MAX_LINE = 12;//棋盘格数
private float ratioPieceOfLineHight=3*1.0f/4;
private Paint mPaint=new Paint();
private Bitmap mWhitePiece;
private Bitmap mBlackPiece;
//白棋先手或者当前轮到白棋
private boolean mIsWhite= true;
private ArrayList<Point> mWhiteArray= new ArrayList<>();
private ArrayList<Point>mBlackArray= new ArrayList<>();
private boolean mIsGameOver; //游戏是不是结束
private boolean mIsWhiteWinner; //true白棋胜利,false黑棋胜利
private int MAX_COUNT_IN_LINE=5; //五子棋
public WuziqiPanel(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
//setBackgroundColor(0x44ff0000);
init();
}
private void init() {
mPaint.setColor(0x8B008B00);
mPaint.setAntiAlias(true);
mPaint.setDither(true);
mPaint.setStyle(Paint.Style.STROKE);
mBlackPiece = Bitma