软件工程第二次作业-3D游戏开发(3D版俄罗斯方块)

本文介绍了将经典2D俄罗斯方块转化为3D效果的软件工程作业,详细描述了游戏的设计和制作过程,包括界面改进、3D转换、得分系统更新以及双层堆叠方块的实现。还展示了关键代码,如`PLocation`和`FangKuai`类的实现。
摘要由CSDN通过智能技术生成

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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值