基于Android平台的2048游戏设计与开发(9)
发布时间:2021-06-06
发布时间:2021-06-06
在Eclipse中基于Android平台的2048游戏设计与开发
3.6 添加游戏卡片
由于目前用户使用的手机的屏幕分辨率不同,所以需要动态计算游戏文本框的宽度和高度,以此来填充满整个手机屏幕。当手机由原来的垂直方向转换到水平方向时,游戏的布局会发生改变,为了不让游戏的布局宽度和高度不发生改变,需要在Manifest.xml文件中第一次进入游戏时的Activity中添加一条语句android:screenOrientations="portrait",以后不论手机如何放置,当前的布局宽度和高度都不会改变。
当第一次进入游戏时,动态计算文本框的宽度和高度,需要重写onSizeChanged方法,可以得到当前布局的宽度和高度,来计算文本框的宽度和高度。
定义个添加文本框的方法addCard,总共四行四列,然后用之前的卡片类来生成实例对象,再调用setNumber方法设置每个文本框的数字为0,最后调用addView方法把所有的文本框添加到游戏当中。
具体实现代码如下:
private void addCard(int cardWidth,int cardHeight){ }
3.7 在游戏中添加随机数
对于每个文本框来说,规定如果文本框的数字小于等于0,清空当前文本框的数字小于等于0的文本框的数字,把每个空的文本框存储在一个空点数组中,最后取出一个空点,然后把改所在的文本框的数字设置为0或4,并且规定0和4出现的概率为9比1。
具体实现代码如下: private void addRadomNumber(){
emptyPoint.clear(); for (int i = 0; i < 4.; i++) {
for (int j = 0; j < 4; j++) {
CardActivity c; for(int i=0;i<4;i++){ }
for(int j=0;j<4;j++){ }
c = new CardActivity(getContext()); c.setNumber(0);
addView(c, cardWidth, cardHeight);
上一篇:物流系统分析与设计重点整理
下一篇:薄壁不锈钢给水管施工工艺