前序:
? ? ? ?你沒有看錯,開發游戲不再是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