Android也能寫游戲——五子棋的實現

前序:

? ? ? ?你沒有看錯,開發游戲不再是Cocos2d-x的專利,Android也能寫游戲。小編今天比較閑,突奇想就寫了個游戲五子棋玩一玩。純Android寫,相當的簡單,唯一比較為難的就是切圖了,當然也就是比較為難,機智如小編專治各種疑難雜癥!哼,這里小編會告訴你是從網上切的圖么?。?!

正文:

? ? ? 先看游戲運行后是啥玩意請看圖:


? ? ? ?一句話概括就是兩類一接口,沒錯,這就能實現五子棋的游戲了。老規矩請看截圖:



? ? ? ?其實小編想將所有代碼截下來的,可是一看,臥槽,有500行代碼,另加上這迷人的網速,小編瞬間決定等時機成熟再傳,也趁此時間好好的修改一番,特別是屏幕適配這個問題,切的圖就那么大,在不同屏幕展現都可能出現失真的效果。

核心代碼:

privateBitmapCreatMatrixBitmap(intresourcesID, floatscr_width, floatres_height)

{

Bitmap bitMap =null;

bitMap = BitmapFactory.decodeResource(sResources,resourcesID);

intbitWidth = bitMap.getWidth();

intbitHeight = bitMap.getHeight();

floatscaleWidth = scr_width / (float) bitWidth;

floatscaleHeight = res_height / (float) bitHeight;

Matrix matrix =newMatrix();

matrix.postScale(scaleWidth,scaleHeight);

bitMap = Bitmap.createBitmap(bitMap,0,0,bitWidth,bitHeight,matrix, true);

returnbitMap;

}

private voidUpdateTouchEvent(intx, inty)

{

switch(mGameState)

{

caseGS_GAME:

if(x >0&& y >mTitleHeight)

{

mMapIndexX= (int) (x /mTitleSpace);

mMapIndexY= (int) ((y -mTitleHeight) /mTitleSpace);

if(mMapIndexX>mMapWidthLengh)

{

mMapIndexX=mMapWidthLengh;

}

if(mMapIndexX<0)

{

mMapIndexX=0;

}

if(mMapIndexY>mMapHeightLengh)

{

mMapIndexY=mMapHeightLengh;

}

if(mMapIndexY<0)

{

mMapIndexY=0;

}

if(mGameMap[mMapIndexY][mMapIndexX] ==CAMP_DEFAULT)

{

if(mCampTurn==CAMP_HERO)

{

mGameMap[mMapIndexY][mMapIndexX] =CAMP_HERO;

if(CheckPiecesMeet(CAMP_HERO))

{

mCampWinner= R.string.Role_black;

setGameState(GS_END);

}

else

{

mCampTurn=CAMP_ENEMY;

}

}

else

{

mGameMap[mMapIndexY][mMapIndexX] =CAMP_ENEMY;

if(CheckPiecesMeet(CAMP_ENEMY))

{

mCampWinner= R.string.Role_white;

setGameState(GS_END);

}else

{

mCampTurn=CAMP_HERO;

}

}

}

}

break;

caseGS_END:

setGameState(GS_GAME);

break;

}

}

分享經驗:

? ? ? ? ? 作為一名開發人員是如何與產品汪斗智斗勇,對于產品汪,小編跟廣大網友一樣,不爽、不爽、不爽!重要的事情說三遍,特別還是這位產品汪還是尼瑪一屌絲。吆喝,今天跟我談需求變更,尼瑪,平時這么拽,現在看我怎么整他,還是請直接看圖:


沒錯,你沒有看錯,我答應了下來,并且說15個工作日,并且把這份計劃圖也給他看,小編都佩服自己,看看時間就跟我說那就不改了,就這樣挺好!哈哈哈......

反饋:

? ? ? ? ? 歡迎萬能網友互相分享交流!

? ? ? ? ??CSDN:http://write.blog.csdn.net/postlist

? ? ? ? ??github: https://github.com/ITtrap

? ? ? ? QQ: 2632545852? ? ? ? ? 微信:xuchen2100 ? ? ??

? ? ? ? Email: xuchen1009@gmail.com

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容