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

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

我運(yùn)行虛擬機(jī),點(diǎn)開五子棋APP,顯示我has stopped?有人說看日志?日志在哪里?

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?android.view.ViewTreeObserver;

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


public?class?WuziqiPanel?extends?View?{
????private?int?mPanelWidth;
????private?float?mLineHight;
????private?int?MAX_LINE?=?10;

????private?Paint?mPaint?=?new?Paint();
????private?Bitmap?mWhitePiece;
????private?Bitmap?mBlackPiece;
????private?float?ratioPieceOfLineHeight=3*1.0f/4;

????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(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.stone_w2);
????????mBlackPiece=?BitmapFactory.decodeResource(getResources(),R.drawable.stone_b1);
????}

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

????????int?heighSize?=?MeasureSpec.getSize(heightMeasureSpec);
????????int?heighMode?=?MeasureSpec.getMode(heightMeasureSpec);

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

????????if?(widthMode?==?MeasureSpec.UNSPECIFIED)?{
????????????width?=?heighSize;
????????}?else?if?(heighMode?==?MeasureSpec.UNSPECIFIED)?{
????????????width?=?widthSize;
????????}
????????setMeasuredDimension(width,?width);
????}

????@Override
????protected?void?onSizeChanged(int?w,?int?h,?int?oldw,?int?oldh)?{
//?TODO?Auto-generated?method?stub
????????super.onSizeChanged(w,?h,?oldw,?oldh);
????????mPanelWidth?=?w;
????????mLineHight?=mPanelWidth*?1.0f?/?MAX_LINE;
????????int?PieceWidth=(int)?(ratioPieceOfLineHeight);
????????mWhitePiece=Bitmap.createScaledBitmap(mWhitePiece,PieceWidth,PieceWidth,false);
????????mBlackPiece=Bitmap.createScaledBitmap(mBlackPiece,PieceWidth,PieceWidth,false);

????}

????@Override
????public?boolean?onTouchEvent(MotionEvent?event)?{
?????????int?action?=event.getAction();
????????if(action==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;

????}
????private?Point?getVaLidPoint(int?x,int?y)
????{
????????return?new?Point((int)(x/mLineHight),(int)(y/mLineHight));
????}

????@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?WhitePiont=mWhiteArray.get(i);
????????????canvas.drawBitmap(mWhitePiece,
????????????????????(WhitePiont.x+(1-ratioPieceOfLineHeight)/2)*mLineHight,
????????????????????(WhitePiont.y+(1-ratioPieceOfLineHeight)/2)*mLineHight,null);
????????}
????????for(int?i=0,n=mBlackArray.size();i<n;i++){
????????????Point?BlackPiont=mBlackArray.get(i);
????????????canvas.drawBitmap(mBlackPiece,
????????????????????(BlackPiont.x+(1-ratioPieceOfLineHeight)/2)*mLineHight,
????????????????????(BlackPiont.y+(1-ratioPieceOfLineHeight)/2)*mLineHight,null);
????????}
????}

????private?void?drawBoard(Canvas?canvas)?{
????????int?w?=?mPanelWidth;
????????float?lineHeight?=mLineHight?;
????????//繪制棋盤的橫線和豎線
????????for?(int?i?=?0;?i?<?MAX_LINE;?i++)?{
????????????int?startX?=?(int)?(lineHeight?*?0.5);
????????????int?endX?=?w?-?startX;
????????????int?y?=?(int)?(lineHeight?*?(0.5?+?i));//倍數(shù)增長(zhǎng),如果是加,長(zhǎng)度就會(huì)是完全錯(cuò)誤的
????????????//繪制橫線
????????????canvas.drawLine(startX,?y,?endX,?y,?mPaint);
????????????//繪制豎線
????????????canvas.drawLine(y,?startX,?y,?endX,?mPaint);
????????}
????}

}


正在回答

1 回答

logcat

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

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

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

進(jìn)入課程

我運(yùn)行虛擬機(jī),點(diǎn)開五子棋APP,顯示我has stopped?有人說看日志?日志在哪里?

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

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

幫助反饋 APP下載

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

公眾號(hào)

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