第一范文网 - 专业文章范例文档资料分享平台

俄罗斯方块论文

来源:用户分享 时间:2025/6/1 22:22:08 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

天津市大学软件学院软件工程专业2013届本科生

图5-9 图形模块是设计

其中图一表示为{0,0,0,0, 1,1,1,1 , 0,0,0,0, 0,0,0,0} 其中图二表示为{0,0,0,0, 0,1,1,0 , 0,1,1,0, 0,0,0,0} 其中图三表示为{0,0,0,0, 0,1,0,0 , 0,1,1,1, 0,0,0,0} 其中图四表示为{0,0,0,0, 0,1,0,1 , 0,1,1,0, 0,0,1,0} 方块的旋转是通过绘制4个方向的方块,在不同旋转角度显示不同方向的方块来完成的。所以程序要控制方块的旋转方向,只要控制显示哪副图就可以了。

本游戏是用一个三维数组int[][][] store = new int[][][];作为存储方块的数据结构来保存方块的28种状态的

数据存储模块包括游戏中关卡数据的存储和的分数据的存储。游戏每一次启动都将全部删除上次启动时所产生的数据,重新进行新的数据存储。后台运行时重新进入游戏不算做重启游戏,故数据不会重置。

工具类模块将自身的静态成员或者方法提供给游戏中的其他类使用。

25

天津市大学软件学院软件工程专业2013届本科生

第六章 游戏中各个类中实现的功能

由于在本次游戏的开发中本人对代码的注释比较详尽,故对各个类所实现的功能在代码中都有较详细的注释。

(1)游戏的左、右、下的移动功能和上的变形功能的实现; 由TlieView和TetrisView类来实现代码功能的类: 右移功能实现

public boolean moveRightOnCourt(Court court) {

Log.i(\

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

if (mTile[i][j] != 0) {

if ( !court.isSpace(mOffsetX + i + 1, mOffsetY + j) ) {

}

左移功能实现

public boolean moveLeftOnCourt(Court court) {

int i,j;

for (i = 0; i < 4; i++) { }

26

}

}

}

}

return false;

++mOffsetX; return true;

for (j = 0; j < 4; j++) { }

if (mTile[i][j] != 0) {

if (!court.isSpace(mOffsetX + i - 1, mOffsetY + j)) { }

}

return false;

天津市大学软件学院软件工程专业2013届本科生

}

mOffsetX--; return true;

下移功能实现

public boolean moveDownOnCourt(Court court) {

int i,j;

for (i = 0; i < 4; i++) {

for (j = 0; j < 4; j++) {

if (mTile[i][j] != 0) {

if(!court.isSpace(mOffsetX+i,mOffsetY+j+1)||isUnderBaseline(mOffsetY+j+1) ){

}

变化功能实现

public boolean rotateOnCourt(Court court) {

tempShape = mShape; if (tempShape % 4 > 0) { }

for (int i = 0; i < 4; i++) {

for (int j = 0; j < 4; j++) {

tempTile[i][j]=

27

}

}

}

}

return false;

mOffsetY++; return true;

int tempX = 0, tempY = 0; int tempShape;

int[][] tempTile = new int[4][4];

tempShape--; tempShape += 3;

} else {

天津市大学软件学院软件工程专业2013届本科生

TileStore.store[tempShape][i][];

if( court.availableForTile(tempTile,tempX,tempY) ) { }

else if (court.availableForTile(tempTile,tempX-1,tempY) )

if (canTurn) {

mShape = tempShape; mOffsetX = tempX; mOffsetY = tempY;

28

}

}

tempX = mOffsetX; tempY = mOffsetY; boolean canTurn = false;

canTurn = true;

{ { { { }

canTurn = true; tempX += 2; canTurn = true; tempX++; canTurn =true; tempX -=2; canTurn = true; tempX--;

}else if(court.availableForTile(tempTile,tempX-2,tempY) )

}else if(court.availableForTile(tempTile,tempX+1,tempY) )

}else if(court.availableForTile(tempTile,tempX+2,tempY) )

搜索更多关于: 俄罗斯方块论文 的文档
俄罗斯方块论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c5qrl33dcot1j03u4hzct_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top