;
文章:新闻EDA技术电源技术无线通信测量仪表嵌入式类电子技术制造技术半导体网络协议展会实验家电维修 3G  
  下载:EDA教程电源技术电子书籍电子元件无线通信通信网络电路图纸嵌入式类单片机传感/控制电子教材模拟数字
.... 音视频类
消费电子机械电子行业软件C/C++FPGA/ASIC规则标准家电维修DSPIC资料ARM软件电路图电子技术论坛
 
您当前的位置:电子发烧友-> 源码下载 -> java源码下载 -> 俄罗斯方块——java源代码提供下载 退出登录 用户管理
栏目导航
uCOS编程 C/C++语言编程
Symbian编程 Linux/uClinux/Unix编程
VHDL/Verilog/EDA源码 VxWorks/Nucleus/eCos/PalmOS
Windows编程 DSP编程
Labview源程序 matlab源程序
asp源码下载 php源码下载
jsp源码下载 asp.net源码下载
java源码下载 汇编编程
编译器/仿真器 驱动程序
集成开发环境源码 单片机编程
加密解密 数值算法/人工智能
其它程序 通讯/手机编程
热门下载
· 《Powerbuilder 9.0实用教...
· 4星级酒店管理系统
· 试题库管理系统
· 人事档案管理系统
· PowerBuilder 8.0基础篇源...
· 联机坦克游戏
· HTML Encryptv2.04
· HomePlus 主页特效专家
· 拼图游戏(java)
· 信用卡管理系统
专题相关
软件名称 俄罗斯方块——java源代码提供
运行环境 Win9X/Win2000/WinXP/Win2003/
整理时间 2010-2-10 14:00:41
新频道星级
新频道大小 278 KB csb23@126.com
下载统计
相关连接 官方主页  [点击收藏]
 技术资料介绍

    俄罗斯方块——java源代码提供

     
    import java.awt.*;
    import java.awt.event.*;
    //俄罗斯方块类
    public class ERS_Block extends Frame{
    public static boolean isPlay=false;
    public static int level=1,score=0;
    public static TextField scoreField,levelField;

    public static MyTimer timer;
    GameCanvas gameScr;

    public static void main(String[] argus){
    ERS_Block ers = new ERS_Block("俄罗斯方块游戏 V1.0 Author:Vincent");
    WindowListener win_listener = new WinListener();
    ers.addWindowListener(win_listener);
    }

    //俄罗斯方块类的构造方法
    ERS_Block(String title){
    super(title);

    setSize(600,480);
    setLayout(new GridLayout(1,2));

    gameScr = new GameCanvas();
    gameScr.addKeyListener(gameScr);

    timer = new MyTimer(gameScr);
    timer.setDaemon(true);
    timer.start();
    timer.suspend();

    add(gameScr);

    Panel rightScr = new Panel();
    rightScr.setLayout(new GridLayout(2,1,0,30));
    rightScr.setSize(120,500);
    add(rightScr);

    //右边信息窗体的布局
    MyPanel infoScr = new MyPanel();
    infoScr.setLayout(new GridLayout(4,1,0,5));
    infoScr.setSize(120,300);
    rightScr.add(infoScr);

    //定义标签和初始值
    Label scorep = new Label("分数:",Label.LEFT);
    Label levelp = new Label("级数:",Label.LEFT);
    scoreField = new TextField(8);
    levelField = new TextField(8);
    scoreField.setEditable(false);
    levelField.setEditable(false);
    infoScr.add(scorep);
    infoScr.add(scoreField);
    infoScr.add(levelp);
    infoScr.add(levelField);
    scorep.setSize(new Dimension(20,60));
    scoreField.setSize(new Dimension(20,60));
    levelp.setSize(new Dimension(20,60));
    levelField.setSize(new Dimension(20,60));
    scoreField.setText("0");
    levelField.setText("1");

    //右边控制按钮窗体的布局
    MyPanel controlScr = new MyPanel();
    controlScr.setLayout(new GridLayout(5,1,0,5));
    rightScr.add(controlScr);

    //定义按钮play
    Button play_b = new Button("开始游戏");
    play_b.setSize(new Dimension(50,200));
    play_b.addActionListener(new Command(Command.button_play,gameScr));

    //定义按钮Level UP
    Button level_up_b = new Button("提高级数");
    level_up_b.setSize(new Dimension(50,200));
    level_up_b.addActionListener(new Command(Command.button_levelup,gameScr));

    //定义按钮Level Down
    Button level_down_b =new Button("降低级数");
    level_down_b.setSize(new Dimension(50,200));
    level_down_b.addActionListener(new Command(Command.button_leveldown,gameScr));

    //定义按钮Level Pause
    Button pause_b =new Button("游戏暂停");
    pause_b.setSize(new Dimension(50,200));
    pause_b.addActionListener(new Command(Command.button_pause,gameScr));

    //定义按钮Quit
    Button quit_b = new Button("退出游戏");
    quit_b.setSize(new Dimension(50,200));
    quit_b.addActionListener(new Command(Command.button_quit,gameScr));

    controlScr.add(play_b);
    controlScr.add(level_up_b);
    controlScr.add(level_down_b);
    controlScr.add(pause_b);
    controlScr.add(quit_b);
    setVisible(true);
    gameScr.requestFocus();
    }
    }

    //重写MyPanel类,使Panel的四周留空间
    class MyPanel extends Panel{
    public Insets getInsets(){
    return new Insets(30,50,30,50);
    }
    }

    //游戏画布类
    class GameCanvas extends Canvas implements KeyListener{
    final int unitSize = 30; //小方块边长
    int rowNum; //正方格的行数
    int columnNum; //正方格的列数
    int maxAllowRowNum; //允许有多少行未削
    int blockInitRow; //新出现块的起始行坐标
    int blockInitCol; //新出现块的起始列坐标
    int [][] scrArr; //屏幕数组
    Block b; //对方快的引用

    //画布类的构造方法
    GameCanvas(){
    rowNum = 15;
    columnNum = 10;
    maxAllowRowNum = rowNum - 2;
    b = new Block(this);
    blockInitRow = rowNum - 1;
    blockInitCol = columnNum/2 - 2;
    scrArr = new int [32][32];
    }

    //初始化屏幕,并将屏幕数组清零的方法
    void initScr(){
    for(int i=0;i<rowNum;i++)
    for (int j=0; j<columnNum;j++)
    scrArr[j]=0;
    b.reset();
    repaint();
    }

    //重新刷新画布方法
    public void paint(Graphics g){
    for(int i = 0; i < rowNum; i++)
    for(int j = 0; j < columnNum; j++)
    drawUnit(i,j,scrArr[j]);

  点击进入俄罗斯方块——java源代码提供下载页面
点击此处立即下载 - 俄罗斯方块——java源代码提供
  相关技术资料下载   相关技术应用阅读
技术资料评论  (评论内容只代表网友观点,与本站立场无关!) 更多评论......
∷下载说明∷
为了达到最快的下载速度,推荐使用[网际快车]下载本站软件。
请一定升级到最新版[WinRAR3.5 ]才能正常解压本站提供的软件!
如果您发现该软件不能下载,请点击报告错误谢谢!
站内提供的所有软件包含破解及注册码均是由网上搜集,若侵犯了你的版权利益,敬请来信通知我们!

 
关于本站- 意见反馈 - 网站导航 - 帮助 - 隐私政策 - 联系我们 - 使用条款 - 安全承诺 - 友情连接 - 欢迎投稿
站长QQ:39550527 Powered by: 飓风网络(电路图
Copyright 2006-2008 Elecfans.Com.电子发烧友: 粤ICP备07065979号All Rights Reserved