1.游戏介绍
此为软件工程的第二次作业,要求开发一个具有3D效果的小游戏。考虑将经典的俄罗斯方块改变成具有3D效果的,效果更美观的俄罗斯方块程序。
2.游戏设计
在游戏界面中,坐标x是两格,y是9格,z是18格。而方块是使用4*4表格来表示各种方块。
3.制作
程序的初始设计来源于网上一个案例。下载下来的为2D游戏,做了如下更改:
① :将枯燥的黑白界面改为彩色界面;
② 将原始的2D转换为3D方块。
③:将原始的得分系统改为直接在游戏右边显示(以前为游戏结束后显示成绩)
④:将以前的界面只有1栏可以堆叠方块改为可以两层堆叠(如后图)
4.操作示意:
5重要代码:
class PLocation{
PLocation(int a,int b,boolean c){
x=a;
y=b;
z=c;
}
PLocation(){
this(0,0,true);
}
void copy(PLocation p){
x=p.x;
y=p.y;
z=p.z;
}
int x;
int y;
boolean z;
synchronized void add(PLocation p,int xzhuang){
int a=x,b=y;
switch(xzhuang){
case 1:
x=p.x+a;
y=p.y+b;
z=p.z||z;
break;
case 2:
x=p.x+b;
y=p.y-a;
z=p.z||z;
break;
case 3:
x=p.x-a-1;
y=p.y-b;
z=p.z||z;
break;
case 0:
x=p.x-b;
y=p.y+a+1;
z=p.z||z;
}
}
synchronized void add(PLocation p,boolean yzhuang,booleanzzhuang,boolean dzhuang){
if(yzhuang&&p.x
x--;
z=!z;