前序:
? ? ? ?你沒有看錯(cuò)淆两,開發(fā)游戲不再是Cocos2d-x的專利住闯,Android也能寫游戲瓜浸。小編今天比較閑澳淑,突奇想就寫了個(gè)游戲五子棋玩一玩。純Android寫插佛,相當(dāng)?shù)暮?jiǎn)單偶惠,唯一比較為難的就是切圖了,當(dāng)然也就是比較為難朗涩,機(jī)智如小編專治各種疑難雜癥忽孽!哼,這里小編會(huì)告訴你是從網(wǎng)上切的圖么P淮病P忠弧!
正文:
? ? ? 先看游戲運(yùn)行后是啥玩意請(qǐng)看圖:
? ? ? ?一句話概括就是兩類一接口识腿,沒錯(cuò)出革,這就能實(shí)現(xiàn)五子棋的游戲了。老規(guī)矩請(qǐng)看截圖:
? ? ? ?其實(shí)小編想將所有代碼截下來的渡讼,可是一看骂束,臥槽,有500行代碼成箫,另加上這迷人的網(wǎng)速展箱,小編瞬間決定等時(shí)機(jī)成熟再傳,也趁此時(shí)間好好的修改一番蹬昌,特別是屏幕適配這個(gè)問題混驰,切的圖就那么大,在不同屏幕展現(xiàn)都可能出現(xiàn)失真的效果皂贩。
核心代碼:
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;
}
}
分享經(jīng)驗(yàn):
? ? ? ? ? 作為一名開發(fā)人員是如何與產(chǎn)品汪斗智斗勇栖榨,對(duì)于產(chǎn)品汪,小編跟廣大網(wǎng)友一樣明刷,不爽婴栽、不爽、不爽辈末!重要的事情說三遍愚争,特別還是這位產(chǎn)品汪還是尼瑪一屌絲。吆喝本冲,今天跟我談需求變更准脂,尼瑪,平時(shí)這么拽檬洞,現(xiàn)在看我怎么整他狸膏,還是請(qǐng)直接看圖:
沒錯(cuò),你沒有看錯(cuò)添怔,我答應(yīng)了下來湾戳,并且說15個(gè)工作日贤旷,并且把這份計(jì)劃圖也給他看,小編都佩服自己砾脑,看看時(shí)間就跟我說那就不改了幼驶,就這樣挺好!哈哈哈......
反饋:
? ? ? ? ? 歡迎萬能網(wǎng)友互相分享交流韧衣!
? ? ? ? ??CSDN:http://write.blog.csdn.net/postlist
? ? ? ? ??github: https://github.com/ITtrap
? ? ? ? QQ: 2632545852? ? ? ? ? 微信:xuchen2100 ? ? ??
? ? ? ? Email: xuchen1009@gmail.com