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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

點(diǎn)擊不出棋子

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;

public?class?WuziqiPanel?extends?View?{
????private?int?mPanelWidth;
????private?float?mLineHeight;
????private?int?MAX_Line?=?10;

????private?Paint?mPaint?=?new?Paint();//設(shè)置所畫(huà)內(nèi)容的顏色等;

????//棋子圖片變量
????private?Bitmap?mWhitePiece;
????private?Bitmap?mBlackPiece;
????//設(shè)置棋子格式變量
????private?float?ratioPieceOFLineHeight?=?3?*?1.0f?/?4;

????//白棋先手,當(dāng)前輪到白棋
????private?boolean?mIsWhite?=?true;
????private?List<Point>?mWhiteArray?=?new?ArrayList<>();
????private?List<Point>?mBlackArray?=?new?ArrayList<>();

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

????private?void?init()?{
????????//設(shè)置畫(huà)的圖形樣子,顏色
????????mPaint.setColor(0x88000000);
????????mPaint.setAntiAlias(true);//
????????mPaint.setDither(true);
????????mPaint.setStyle(Paint.Style.STROKE);

????????//對(duì)棋子初始化
????????mWhitePiece?=?BitmapFactory.decodeResource(getResources(),?R.drawable.stone_w);
????????mBlackPiece?=?BitmapFactory.decodeResource(getResources(),?R.drawable.stone_b);
????}

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

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


????????int?width?=?Math.min(widthSize,?heightSize);

????????if?(widthMode?==?MeasureSpec.UNSPECIFIED)?{
????????????width?=?heightSize;
????????}?else?if?(heightMode?==?MeasureSpec.UNSPECIFIED)?{
????????????width?=?heightSize;
????????}
????????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;

????????//修改棋子尺寸
????????int?pieceWidth?=?(int)?(mLineHeight?*?ratioPieceOFLineHeight);
????????mWhitePiece?=?Bitmap.createScaledBitmap(mWhitePiece,?pieceWidth,?pieceWidth,?false);
????????mBlackPiece?=?Bitmap.createScaledBitmap(mWhitePiece,?pieceWidth,?pieceWidth,?false);
????}

????public?boolean?onTouchEvent(MotionEvent?event)?{
????????int?action?=?event.getAction();
????????if?(action?==?MotionEvent.ACTION_UP)?{
????????????//獲取點(diǎn)擊坐標(biāo)
????????????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);
????????????}
????????????mIsWhite?=?!mIsWhite;
????????????return?true;
????????}
????????return?true;
????}

????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);
????????drawPiece(canvas);
????}

????private?void?drawPiece(Canvas?canvas)?{
????????for?(int?i?=?0,?j?=?mWhiteArray.size();?i?<?j;?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,?j?=?mBlackArray.size();?i?<?j;?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?starX?=?(int)?lineheight?/?2;//左邊棋盤(pán)開(kāi)始畫(huà)的x坐標(biāo)
????????????int?endX?=?(int)?(w?-?lineheight?/?2);//右邊棋盤(pán)的最后終止坐標(biāo)
????????????int?y?=?(int)?((0.5?+?i)?*?lineheight);
????????????canvas.drawLine(starX,?y,?endX,?y,?mPaint);
????????????canvas.drawLine(y,?starX,?y,?endX,?mPaint);
????????}
????}
}

正在回答

舉報(bào)

0/150
提交
取消
Android-五子連珠
  • 參與學(xué)習(xí)       38999    人
  • 解答問(wèn)題       174    個(gè)

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

進(jìn)入課程

點(diǎn)擊不出棋子

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)