java-JAVA课程设计简单的俄罗斯方块,急!!!

问题描述

JAVA课程设计简单的俄罗斯方块,急!!!

老师提供的代码:
import java.awt.*;
import java.awt.event.*;

/**

  • Sample application of Rassia game
    *
  • @author Zhefan Jin
  • @version 1.00 07/05/28
    */
    class GamePanel extends Frame {

    /**

    • The attributes of class GamePanel
      */

      int cellSize =20;
      int hCellCount =30;
      int vCellCount =40;
      int sideSpace =20, bottomSpace=20, upSpace=60;

      Dimension dimFrame, dimGame;
      Point GameAreaZero;

      BlockB activeBlock;
      //End of attributes

      private Point Convert2DC(Point p){
      Point pReturn =new Point();
      pReturn.x =p.x +sideSpace;
      pReturn.y =dimFrame.height -bottomSpace -p.y;

      return pReturn;
      }

    /**

    • The constructor.
      */

      public GamePanel() {

      dimFrame =new Dimension();
      dimGame =new Dimension();
      GameAreaZero =new Point();

      dimFrame.height = upSpace +bottomSpace +vCellCount*cellSize;
      dimFrame.width = sideSpace*2 + hCellCount*cellSize;
      GameAreaZero.x = sideSpace;
      GameAreaZero.y = dimFrame.height -bottomSpace;
      dimGame.height = vCellCount*cellSize;
      dimGame.width = hCellCount*cellSize;

      activeBlock =new BlockB();

      System.out.println(dimFrame.toString());
      System.out.println(GameAreaZero.toString());

      setResizable(false);

      MenuBar menuBar = new MenuBar();
      Menu menuFile = new Menu();
      MenuItem menuFileExit = new MenuItem();
      MenuItem menuFileStart = new MenuItem();

      menuFile.setLabel("File");
      menuFileExit.setLabel("Exit");
      menuFileStart.setLabel("Start");

      // Add action listener.for the menu button
      menuFileExit.addActionListener
      (
      new ActionListener() {
      public void actionPerformed(ActionEvent e) {
      GamePanel.this.windowClosed(); //syntex?
      }
      }
      );
      menuFileStart.addActionListener
      (
      new ActionListener() {
      public
      老师的要求:

      1. 老师已提供了部分代码,你的目标是按要求完成另一部分代码,最终实现俄罗斯方块游戏的一个局部,效果如下:

图 1
2. 具体如下:
a) 已提供的代码是Russia.java,这个文件是正确的,不要对它作任何修改。
b) 要求你生成一个新文件BlockB.java,在其中实现类BlockB。Russia.java中使用了BlockB类,如果你的编写都正确,Russia就能正常执行。
c) BlockB.java和Russia.java需放在同一个目录下。按照要求实现BlockB类后,编译这两个文件,然后运行Russia,正确情况下将出现图1效果。
3. BlockB类的要求:
a) BlockB类的数据(变量)成员是:
i. Point类的对象origin, p0, p1, p2, p3。Point类在java类库的位置是java.awt.Point。(我们在上学期的实验07中使用了Point类。实验07的题目和答案在发下来的资料中供参考。)
ii. int类型数据成员gesture,其取值范围0-3,表示4种姿态,具体说明见后。
b) BlockB类的方法(函数)成员如下:
i. BlockB()
构造函数。其中对Point类数据成员进行创建(new),并对其它成员变量赋合适的初值。
ii. void setGesture(int g)
设置姿态,包含两个动作:1)用参数g对数据成员gesture进行赋值。2)根据新的姿态,调整p0, p1, p2, p3在Block局部坐标系里的坐标值,坐标说明见后。
iii. void moveTo(int x, int y)
把数据成员origin(原点)移动到窗口坐标系(x,y)位置。
iv. Point getP0()
直接返回p0。
v. Point getP1()
直接返回p1。
vi. Point getP2()
直接返回p2。
vii. Point getP3()
直接返回p3。
4. 关于点的位置、姿态等的说明:
a) 坐标系的说明
i. 俄罗斯方块游戏中的活动块称为一个Block(块)。游戏使用两种坐标系:Block局部坐标系和游戏窗口坐标系。
ii. Block局部的坐标系定义了组成Block的4个小方块p0, p1, p2, p3之间的位置关系,如下图:

如上图中4个点的坐标可以是:p0(0,0), p1(0,1), p2(0,2), p3(-1,0)。
iii. 一个Block在窗口中的位置由点origin确定,origin是Block坐标系的原点在窗口坐标系中的位置,如下图origin位置是(10, 10):

b) 姿态(gesture)的说明。一个Block可以有4种姿态,分别用0、1、2、3来表示,每种姿态下点p0、p1、p2、p3的位置是不同的。

解决方案

俄罗斯方块的源代码 网上有很多,你可以上网找,下一个就好

解决方案二:

仅供参考:
http://bbs.csdn.net/topics/340119430

解决方案三:

http://wenku.baidu.com/link?url=HwOY_dSVxb3iSs2jJ3s2PgQckO0Mo5IEQu_dD5yTxoQAQk0Orqb7IysDZQPq7I8vycfwB8qp1uoqEwtoocI4i36otkY0W-FNyixA_iVB3xW

解决方案四:

额。我只要.net的俄罗斯方块。java做的好像是另外一种游戏来着。。。

时间: 2024-09-30 12:28:00

java-JAVA课程设计简单的俄罗斯方块,急!!!的相关文章

高分跪求java得课程设计

问题描述 1.根据windows中的计算器,使用用户图形界面和监听,设计出你自己的计算器,要求能够进行连续的数据计算.2.根据游戏中的扫雷程序,编写出单机版的扫雷程序,最好能记录最高成绩.3.完成一个记事本的功能.4.连接数据库,完成一个学生管理系统.5.通过网络通信,完成一个通络聊天工具.急需 解决方案 解决方案二:在网上搜吧

java源码-java课程设计登陆界面

问题描述 java课程设计登陆界面 java课程设计需要一个登陆界面,要包含登陆和注册,要最简单的代码,也要好理解 解决方案 参考:http://www.cnblogs.com/liwustore/archive/2013/01/01/2841492.html 解决方案二: 纯java还是web开发... 解决方案三: 对的,需要知道你是纯JAVA还是涉及到JAVAee 解决方案四: 应该是要java swing,有够懒的,这还要代码吗? 解决方案五: 是jsp的吗 首先创个Login.jsp

基础-JAVA课程设计实数计算器求指导思路

问题描述 JAVA课程设计实数计算器求指导思路 [问题描述]运用面向对象程序设计知识,利用Java语言设计和实现一个复数计算器.要求具备如下主要功能: (1)建立实数类.复数类 (2)实现实数.复数信息的初始化 (3)实现实数的加.减.乘.除.自增.自减.求平方.二次方根等操作 (4)实现复数的加.减.乘.除.取模.求平方.求共轭复数.求单个复数的向量角.求两个复数的夹角等运算 (5)实现实数.复数信息的输出 在实现过程中,需利用面向对象程序设计理论的基础知识,充分体现出Java语言关于类.继承

Java小例子:图书馆课程设计

用 Java 模拟一个图书馆.包括创建图书.创建读者.借书.还书.列出所有图书. 列出所有读者.列出已借出的图书.列出过期未还的图书等功能.每个读者最多只能借 3 本书,每个书最多只能借 3 个星期,超过就算过期. 下面是一个命令行下的实现.这个例子的主要目的是向初学者展示内部类的好处. Command 及其子类都是 LibrarySimulator 的内部类.它们可以无阻碍的访问 LibrarySimulator 的成员.使用内部类,而不是大量的 if-else,让程序更容易扩展. 01.im

java 课程设计 投票统计

问题描述 java 课程设计 投票统计 课程设计,照着书做也不会,能不能就是给一个完整的代码,一次就可以编译执行,功能就是点一下哪个人的头像,那个人的票数就增加一个,然后点显示得票数就能显示三个人的票数 解决方案 Java 小例子:图书馆课程设计Java 小例子:图书馆课程设计 解决方案二: 先Mark一下我也想知道这个怎么解决最近在学IO

java ee-软件工程课程设计!!!求指导

问题描述 软件工程课程设计!!!求指导 使用java,jsp ,数据库,ajax,等等技术,开发一款电子商务平台,能够进行正常的运转,不要求最先进的技术,但要完成最基本的需求.. 解决方案 http://www.jb51.net/books/292002.html 解决方案二: 这种系统一般用mvc三层结构比较好做

java类的问题-java版 数据结构课程设计 通讯录的制作

问题描述 java版 数据结构课程设计 通讯录的制作 A.通讯录的制作 要求每条信息至包含姓名(name )城市(city)电话(tel)QQ号(qq),完成如下功能: (1) 输入信息-- enter(); (2) 显示信息--display( ); (3) 查找以姓名作为关键字 --search( ); (4) 删除信息--delete( ); (5) 存盘(将数据保存在文件或者数据库中)--save ( );

Java 23种设计模型详解_java

设计模式(Design Patterns)                                   --可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可靠性. 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样.项目中合理的运用设计模式可以完美的解决很多问题,每

Java设计模式编程中简单工厂与抽象工厂模式的使用实例_java

简单工厂模式类图 通过一个工厂类,以一个条件来创建对应的对象 //业务功能 public interface ICalculation { double getResult(double numA, double numB); } public class CalcAdd implements ICalculation { @Override public double getResult(double numA, double numB) { System.out.println("加法&qu