Android也能写游戏——五子棋的实现

前序:

       你没有看错,开发游戏不再是Cocos2d-x的专利,Android也能写游戏。小编今天比较闲,突奇想就写了个游戏五子棋玩一玩。纯Android写,相当的简单,唯一比较为难的就是切图了,当然也就是比较为难,机智如小编专治各种疑难杂症!哼,这里小编会告诉你是从网上切的图么!!!

正文:

      先看游戏运行后是啥玩意请看图:

《Android也能写游戏——五子棋的实现》

       一句话概括就是两类一接口,没错,这就能实现五子棋的游戏了。老规矩请看截图:

《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;

}

}

分享经验:

          作为一名开发人员是如何与产品汪斗智斗勇,对于产品汪,小编跟广大网友一样,不爽、不爽、不爽!重要的事情说三遍,特别还是这位产品汪还是尼玛一屌丝。吆喝,今天跟我谈需求变更,尼玛,平时这么拽,现在看我怎么整他,还是请直接看图:

《Android也能写游戏——五子棋的实现》

没错,你没有看错,我答应了下来,并且说15个工作日,并且把这份计划图也给他看,小编都佩服自己,看看时间就跟我说那就不改了,就这样挺好!哈哈哈……

反馈:

          欢迎万能网友互相分享交流!

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

          github: https://github.com/ITtrap

        QQ: 2632545852          微信:xuchen2100       

        Email: xuchen1009@gmail.com

    原文作者:Trap_余生
    原文地址: https://www.jianshu.com/p/2e44e5c4e108
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞