`

J2ME实战:蓝牙联网俄罗斯方块(2)——系统总体设计

阅读更多
使用Netbeans6.1创建项目,如何创建这里就不再赘述了。
1.结构设计与系统框图:(应用UML建模创建类视图)
­本游戏的操作流程分为如下几步:
(1).用户启动MIDlet后,首先进入Master/Slave选择画面,如选择Slave,则向周围广播自己的服务,然后等待;如是Master,则搜索周围的服务。Master端在搜索到服务后,将Slave端的服务描述信息现实在屏幕上。
(2).Master选择想联机游戏的Slave(广播服务可以是多个),建立连接。
(3).按“开始”键,判断远端的玩家是否已经同意开始游戏(此时进入等待状态),如没有同意,则继续等待,并发送“等待”信号给远端玩家。
(4).按“开始”键,如远端玩家已经“等待”,则“初始化”游戏,同时发送该信号给远端玩家。
(5).开始游戏后,再按“开始”键,则暂停或游戏状态之间互相切换。
(6).如受到对方游戏结束信号,则主屏上显示胜利画面,副屏上显示失败画面,如自己失败,则主屏上显示失败画面,副屏上显示胜利画面,并发送该信号给远端玩家。
(7).如远端玩家退出或断开,则本地游戏玩家继续,代表远端玩家的状态值为退出或失去连接,并停止发送数据。
2.主程序模块MainMIDlet类
源代码如下所示:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package game.teris;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.bluetooth.*;
import game.bluetooth.*;
/**
 *
 * @author dongdong
 */
public class MainMIDlet extends MIDlet implements Commandlistener {
    private Display display;
    private BluetoothDiscovery disc;
    private TetrisCanvas canvas;
    private MasterSlaveSelect select;
    
    public MainMIDlet(){//构造函数实现如下功能:
        //1.通过引用display得到Display类对象;
        //2.使用ErrorScreen的静态方法init(Image img,Display disp)进行参数初始化;
        //3.构造BluetoothDiscovery类对象disc;
        display=Display.getDisplay(this);
        ErrorScreen.init(null,display);
        disc=new BluetoothDiscovery(display);
        
    }
    public void startApp(){//startApp()方法实现如下功能:
        //1.调用name=LocalDevice.getLocalDevice.getFriendlyName()得到本地设备;
        //2.设置disc的UUID值和name;
        //3.调用startUI()方法进行角色选择换面;
        String name;
        try{
             name=LocalDevice.getLocalDevice().getFriendlyName();
        }
        catch(BluetoothStateException e){
            showAlertandexit("","请切换蓝牙设备!",AlertType.ERROR);
            return;
        }
        disc.setServiceUUID("20000000000010008000006057028C19");
        disc.setName(name);
        startUI();
                
    }
    public void startUI(){
        //startUI()方法引导玩家进行角色选择画面;
        select= new MasterSlaveSelect(this);
        display.setCurrent(select);
        
    }
    public void pauseApp(){
        
    }
    public void destoryApp(boolean unconditional){
        
    }
    public void showAlertAndExit(String t, String s, AlertType type ){
        //该方法构造一个Alert对象,标题为t,警告文本为s,警告类型为type,实现如下:
        Alert a=new Alert(t,s,null,type);
        a.addCommand(new Command("退出", Command.EXIT, 1));
        a.setCommandListener(this);
        display.setCurrent(a);
        
    }
    public void Exit(){/*该方法调用destoryApp(boolean unconditional)和
     notifyDestroyed()方法退出程序*/
        destroyApp(false);
        notifyDestroyd();       
    }
    public void commandAction(Command c,Displayable s){
        /*该方法为commandListener接口定义的方法,进行按键响应,如c的命令类型
         为Command.EXIT测退出*/
        switch(c.getCommandType())
        {
            case Command.EXIT:
            Exit();
            break;  
        }
        
    }
    public Display getDisplay(){
        //getDisplay()方法返回Display类对象的引用display;
        return display;
        
    }
    public BluetoothDiscovery getDisc(){
        //getDisc()方法返回BluetoothDiscovery类对象的引用disc;
        return disc;      
    }
    public void setCanvas(TetrisCanvas _canvas){
        //该方法设置canvas为Tetriscanvas的引用;
        canvas=_canvas;
        
    }
    public TetrisCanvas getCanvas(){
        //返回TetrisCanvas类型的引用;
        return canvas;
        
    }
}
 
未完待续。。。
分享到:
评论
1 楼 dayang2001911 2008-10-20  
继续! 

相关推荐

    使用j2me编程的游戏——俄罗斯方块

    《使用J2ME编程的游戏——俄罗斯方块》 在移动设备和嵌入式系统中,J2ME(Java 2 Micro Edition)是一个广泛使用的平台,用于开发轻量级的应用程序,尤其是游戏。在这个主题中,我们将深入探讨如何利用J2ME来编写...

    j2me例子:俄罗斯方块

    J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于开发在移动设备、嵌入式系统等资源有限的环境中的应用程序。J2ME由一系列配置和 profiles 组成,适应不同类型的设备,如手机、智能手表、家用电器等...

    j2me手机游戏——俄罗斯方块!

    根据给定的信息,我们可以分析并总结出关于J2ME(Java 2 Micro Edition)手机游戏——俄罗斯方块的重要知识点。 ### J2ME简介 J2ME(Java 2 Platform, Micro Edition)是Sun Microsystems为嵌入式设备和移动设备...

    俄罗斯方块J2ME下载

    【标题】:“俄罗斯方块J2ME下载” 【描述】:描述中连续多次提到了...总的来说,"俄罗斯方块J2ME下载"涉及的是利用Java的J2ME技术开发和分发俄罗斯方块游戏的过程,涵盖了游戏设计、编程、优化和用户体验等多个方面。

    j2me版俄罗斯方块

    《J2ME版俄罗斯方块:移动平台的经典重构》 J2ME,全称为Java 2 Micro Edition,是Java平台上针对嵌入式设备和移动设备的一种编程框架,它为开发者提供了在各种小型设备上创建应用的能力,包括手机、PDA等。在本...

    J2me 游戏《俄罗斯方块》

    《J2ME游戏:俄罗斯方块》是一款基于Java 2 Micro Edition(J2ME)平台开发的经典游戏。J2ME是Java技术的一个分支,主要用于移动设备、嵌入式设备等小型计算平台,提供了丰富的功能和良好的跨平台能力,使得开发者...

    jbuilder 2006 j2me ALERT: java/lang/ClassFormatError: Bad version information.

    1. **JDK版本不匹配**:JBuilder 2006可能与你系统中安装的JDK版本不兼容。确保你的JDK版本与JBuilder支持的版本一致。JBuilder可能需要特定版本的JDK来正确编译和运行J2ME项目。 2. **类文件混淆**:有可能是你的...

    J2ME-OPPOF15俄罗斯方块

    《J2ME-OPPOF15俄罗斯方块》是一款基于Java 2 Micro Edition (J2ME) 平台开发的、适用于OPPO F15手机的经典游戏。它以其独特的可扩展性和源码开放性,为开发者提供了学习和研究移动游戏开发的宝贵资源。 首先,我们...

    J2ME课程设计论文 手机俄罗斯方块 面向对象程序设计

    《J2ME课程设计论文——手机俄罗斯方块 面向对象程序设计》 本篇论文主要探讨了如何使用J2ME(Java Micro Edition)语言进行面向对象程序设计,以实现一款可在手机上运行的俄罗斯方块游戏。J2ME是Java平台的一个...

    j2me源码——蓝牙联网实现五子棋

    《J2ME源码——蓝牙联网实现五子棋详解》 在移动开发领域,Java 2 Micro Edition(J2ME)是一种广泛应用于嵌入式设备和移动设备的Java平台,尤其在早期智能手机和平板电脑中占据重要地位。本文将深入探讨一个基于...

    俄罗斯方块源程序 j2me

    在移动设备普及的年代,J2ME(Java Micro Edition)作为一款跨平台的开发工具,广泛应用于手机游戏开发,其中包括经典游戏——俄罗斯方块。本篇文章将深入探讨如何使用J2ME技术实现这个深受玩家喜爱的游戏。 首先,...

    J2me俄罗斯方块,设计报告

    《J2me俄罗斯方块设计报告》是一份深入解析如何使用Java 2 Micro Edition (J2ME) 技术开发经典游戏俄罗斯方块的详细文档。这份报告涵盖了从项目规划到实现过程的各个环节,旨在帮助学习者理解移动平台游戏开发的基础...

    J2ME练习--俄罗斯方块

    在这个专题中,我们将深入探讨如何使用J2ME来实现经典游戏——俄罗斯方块。这个项目不仅能够帮助我们了解J2ME的基本原理,还能提升对游戏编程的理解。 首先,让我们来看看J2ME的环境搭建。要进行J2ME开发,你需要...

    J2ME游戏代码:俄罗斯方块

    /* * 一个简单的俄罗斯方块游戏代码,代码中主要包含3个类: *TerrisMIDlet——MIDlet类 *GameCanvas——游戏界面类 *GameEngine——游戏逻辑类 *已经使用WTK2.5.2运行通过. */

    j2me俄罗斯方块

    本项目——"j2me俄罗斯方块",便是基于J2ME技术开发的一款经典游戏,它充分展示了J2ME在移动游戏开发中的潜力。 首先,我们来了解下J2ME。J2ME是Java平台的一个子集,专为资源有限的设备设计,如手机和嵌入式系统。...

    J2ME教材:J2ME&Gaming中文版

    10. **案例分析与实践**:教材可能会包含一些基础游戏的实例,如贪吃蛇、俄罗斯方块等,帮助读者将理论知识转化为实际操作能力。 总的来说,“J2ME&Gaming中文版”是一本引导初学者进入J2ME游戏开发领域的教程,它...

    J2ME+LUA写的俄罗斯方块

    本项目基于2007年底开发的一款经典游戏——俄罗斯方块,它利用了J2ME(Java 2 Micro Edition)作为底层的运行环境,并结合了LUA脚本来实现游戏逻辑与绘制功能。这种技术组合的优势在于可以充分利用J2ME平台的强大...

    j2me-tetris.zip_j2me_j2me tetris_j2me 俄罗斯方块_tetris_tetris j2me

    本篇将深入探讨一个基于J2ME实现的经典游戏——俄罗斯方块的开发过程,通过分析“j2me-tetris.zip”这个项目,我们能够了解J2ME开发的基本概念和技术要点。 首先,J2ME是Java平台的一个子集,专门设计用于资源有限...

    j2me-俄罗斯方块(源码)

    《J2ME版俄罗斯方块:解构与学习》 在移动设备的早期时代,Java 2 Micro Edition(J2ME)是开发游戏和应用程序的主流平台之一。今天,我们有机会深入研究一个基于J2ME的俄罗斯方块游戏源码,这为我们提供了宝贵的...

    J2ME手机游戏源码_俄罗斯方块

    Java Micro Edition(J2ME)是Java平台的一个子集,主要设计用于资源有限的设备,如移动电话和嵌入式系统。在这个特定的压缩包中,我们拥有的是一款基于J2ME开发的俄罗斯方块游戏的源代码。通过研究这个源码,我们...

Global site tag (gtag.js) - Google Analytics