第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

顯示不出來棋子

package?com.imooc_wuziqi;

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.util.AttributeSet;
import?android.view.MotionEvent;
import?android.view.View;

import?java.util.ArrayList;
import?java.util.List;

/**
?*?Created?by?Administrator?on?2017/6/24.
?*/
public?class?Wuziqipanl?extends?View?{
????private??int??mPanelWidth;
????private?float?mLineheight;
????private?int?MAX_LINE?=?10;

????private?Paint?mPaint?=?new?Paint();

????private?Bitmap?mWhitePiece;
????private?Bitmap?mBlackPiece;
????//限制棋子是棋格的3/4
????private?float?ratioPieceOfLineHeight?=?3*1.0f/4;
????//當前輪到白棋
????private??boolean?mIsWhite?=?true;
????private?List<Point>?mWhiteArray?=?new?ArrayList<Point>();
????private?List<Point>?mBlackArray?=?new?ArrayList<Point>();

????public?Wuziqipanl(Context?context,?AttributeSet?attrs)?{
????????super(context,?attrs);
????????setBackgroundColor(0x44ff0000);
????????init();
????}

????private?void?init()?{
????????mPaint.setColor(0x88000000);
????????mPaint.setAntiAlias(true);
????????mPaint.setDither(true);
????????mPaint.setStyle(Paint.Style.STROKE);
????????//黑白棋初始化
????????mWhitePiece?=?BitmapFactory.decodeResource(getResources(),R.drawable.bai);
????????mBlackPiece?=?BitmapFactory.decodeResource(getResources(),R.drawable.hei);
????}

????@Override
????protected?void?onMeasure(int?widthMeasureSpec,?int?heightMeasureSpec)?{
????????int?widthSize?=?MeasureSpec.getSize(widthMeasureSpec);
????????int?widthMode?=?MeasureSpec.getMode(widthMeasureSpec);

????????int?heightSize?=?MeasureSpec.getSize(heightMeasureSpec);
????????int?heightMode?=?MeasureSpec.getMode(heightMeasureSpec);

????????int?width?=?Math.min(widthSize,heightSize);
????????if(widthMode?==?MeasureSpec.UNSPECIFIED){
????????????width?=?heightSize;
????????}else?if(?heightMode?==?MeasureSpec.UNSPECIFIED){
????????????width?=?widthSize;
????????}
????????setMeasuredDimension(width,width);
????}

????@Override
????protected?void?onSizeChanged(int?w,?int?h,?int?oldw,?int?oldh)?{
????????super.onSizeChanged(w,?h,?oldw,?oldh);
????????mPanelWidth?=?w;
????????mLineheight?=?mPanelWidth?*?1.0f/?MAX_LINE;
????????//實現(xiàn)棋子的比列
????????int?pieceWidth?=?(int)?(mLineheight*ratioPieceOfLineHeight);
????????mWhitePiece?=?Bitmap.createScaledBitmap(mWhitePiece,pieceWidth,pieceWidth,false);
????????mBlackPiece?=?Bitmap.createScaledBitmap(mBlackPiece,pieceWidth,pieceWidth,false);

????}
????//觸摸事件
????@Override
????public?boolean?onTouchEvent(MotionEvent?event)?{
????????int?cation?=?event.getAction();
????????if?(cation?==?MotionEvent.ACTION_UP){
????????????int?x?=?(int)?event.getX();
????????????int?y?=?(int)?event.getY();
????????????Point?p?=?getValidPoint(x?,?y);
????????????if?(mWhiteArray.contains(p)?||?mBlackArray.contains(p)){
????????????????return?false;
????????????}
????????????if?(mIsWhite){
????????????????mWhiteArray.add(p);
????????????}else?{
????????????????mBlackArray.add(p);
????????????}
????????????invalidate();
????????????mIsWhite?=?!mIsWhite;
????????????return?true;
????????}
????????return?super.onTouchEvent(event);
????}

????private?Point?getValidPoint(int?x,?int?y)?{
??????return?new?Point((int)(x/mLineheight),?(int)?(y/mLineheight));
????}

????//繪制棋盤
????@Override
????protected?void?onDraw(Canvas?canvas)?{
????????super.onDraw(canvas);
????????drawBoard(canvas);
????????drawpieces(canvas);
????}

????private?void?drawpieces(Canvas?canvas)?{
????????for(int?i=0,n?=?mWhiteArray.size();?i<?n?;?i++){
????????????Point?whitePoint?=?mWhiteArray.get(i);
????????????canvas.drawBitmap(mWhitePiece,
????????????????????(whitePoint.x?+(1-ratioPieceOfLineHeight)/2)*mLineheight,
????????????????????(whitePoint.y?+(1-ratioPieceOfLineHeight)/2)*mLineheight,null);
????????}
????????for(int?i=0,n?=?mBlackArray.size();i<n;i++){
????????????Point?blackPoint?=?mBlackArray.get(i);
????????????canvas.drawBitmap(mBlackPiece,
????????????????????(blackPoint.x?+(1-ratioPieceOfLineHeight)/2)*mLineheight,
????????????????????(blackPoint.y?+(1-ratioPieceOfLineHeight)/2)*mLineheight,null);
????????}
????}

????private?void?drawBoard(Canvas?canvas)?{
????????int?w?=?mPanelWidth;
????????float?lineheight?=?mLineheight;
????????for?(int?i?=?0;i<?MAX_LINE;i++)?{
????????????int?startX?=?(int)?(lineheight?/?2);
????????????int?endX?=?(int)?(w?-?(lineheight?/?2));

????????????int?y?=?(int)?((0.5?+i)*lineheight);
????????????canvas.drawLine(startX,y,endX,y,mPaint);
????????????canvas.drawLine(y,startX,y,endX,mPaint);
????????}
????}
}


正在回答

1 回答

觸摸時間轉型沒有括號

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android-五子連珠
  • 參與學習       38999    人
  • 解答問題       174    個

Android游戲開發(fā)-五子連珠,本教程通過UI與邏輯實現(xiàn)雙人對戰(zhàn)

進入課程

顯示不出來棋子

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號