• 小组第四周总结


    小组项目第四周总结

    游戏界面


    操作方式

    方向键←:模块左移
    方向键↓:模块加速向下移
    方向键↑:调整模块


    部分代码注释

    private int aa=0;
        private int ic=0;
        private final int sp_width=10;                               //游戏界面宽格10格
        private final int sp_height=20;                              //游戏界面高格20格
        private final int types[][][]={                              //游戏模块
                {{-1,0},{0,0},{1,0},{2,0}},                          //长条(一共两种形态)
                {{0,-1},{0,0},{0,1},{0,2}},
                {{-1,0},{0,0},{1,0},{1,1}},                          //直角(右)(一共四种形态)
                {{0,1},{0,0},{0,-1},{1,-1}},
                {{1,0},{0,0},{-1,0},{-1,-1}},
                {{0,-1},{0,0},{0,1},{-1,1}},
                {{-1,0},{0,0},{0,1},{1,0}},                          //直角(中)(一共四种形态)
                {{0,1},{0,0},{1,0},{0,-1}},
                {{1,0},{0,0},{0,-1},{-1,0}},
                {{0,-1},{0,0},{-1,0},{0,1}},
                {{-1,1},{-1,0},{0,0},{1,0}},                         //直接(左)(一共八种形态)
                {{1,1},{0,1},{0,0},{0,-1}},
                {{1,-1},{1,0},{0,0},{-1,0}},
                {{-1,-1},{0,-1},{0,0},{0,1}},
                {{0,-1},{0,0},{1,0},{1,1}},
                {{-1,0},{0,0},{0,-1},{1,-1}},
                {{0,1},{0,0},{1,0},{1,-1}},
                {{1,0},{0,0},{0,-1},{-1,-1}},
                {{0,0},{0,1},{1,0},{1,1}}                            //正方形(一共就一种形态)
        };
    
        private int[][] block_box=new int[4][2];                     //四个方块坐标
        private int[][] block_box_tt=new int[4][2];
        private int block_x=0,block_y=0;                             //游戏方块在游戏界面中的坐标
        private int block_type=0;                                    //方块类别
        private int[][] game_space=new int[20][10];                  //空间数据
        private int movetype=0;
        private int scroe=0;
        private int speed=5;
    
        public RussionBlockGame()
        {
            clearspace();
            makenewblock();
        }
    
        public void clearspace()                                     //初始化空间数据
        {
            for(int i=0;i<sp_height;i++)
                for(int j=0;j<sp_width;j++)
                    game_space[i][j]=0;
        }
    
        public void makenewblock()                                   //随机出现模块,利用随机生成数,在switch语句产生对应的模块
        {
            aa=(int)(Math.random()*100%7+1);
            ic=aa*10+1;
            switch(aa)
            {
                case 1:
                    block_type=0;
                    break;
                case 2:
                    block_type=2;
                    break;
                case 3:
                    block_type=6;
                    break;
                case 4:
                    block_type=10;
                    break;
                case 5:
                    block_type=14;
                    break;
                case 6:
                    block_type=16;
                    break;
                case 7:
                    block_type=18;
                    break;
            }
            block_x=1;                                               //产生模块时,从最上面第一个出现,即x=1;
            block_y=sp_width/2;                                      //产生模块时,从界面中间出现,即y=5;
            for(int i=0;i<4;i++)                                     //一共五种类型的模块,有一个点生成对应的模块
            {
                block_box[i][0]=block_x-types[block_type][i][1];
                block_box[i][1]=block_y+types[block_type][i][0];
            }
        }
    

    部分BUG

    1.游戏在暂停后,点击开始会无法重新开始。
    2.游戏过程中会偶尔会发生模块凭空出现的情况。
    3.在模块超出游戏设置的空间时,游戏无法主动结束。
    4.无法主动更替背景颜色与难度等级


    小组感想

    之前实验也设计过成绩管理系统等程序,课程设计思想大致相似,变化范围有限,没有太多可发挥的空间。大家作品结果离不开一个模式。相比一些数据库软件,游戏的设计有很多人情色彩和艺术思想的发挥。然而“心比天高,身为下贱”。设计游戏的困难远超想象。在设计初期,为了解决模块的运动,游戏界面的建立,我们花费了数天时间查询相关的技术,如需要使用的线程、Game包的功能、高级,低级图形界面的使用、贴图等,每一项都需要一定的时间去熟悉额掌握。这款游戏作为小组的项目设计,其模块间的联系十分紧密,代码重复执行率高,小组项目进度曾一度停滞不前。所幸,网上有很多热情的人,贴吧大神除了授业解惑外,还提供了他设计的代码以供参考,这是开源精神的体现。我们小组曾含泪播种,进行过无数次调试,修改,能最终看到成品也算是含笑收获了。


    小组成员分工

    祁玮:负责博客编写
    韩昊辰:调试游戏,寻找BUG
    史婧瑶、荆玉茗:寻找相关资料,对部分源代码设计测试代码

  • 相关阅读:
    webclassify 用于网页分类的python工具包
    基于Web 开发模式的信息抽取
    携梦远行 » curl 抓取跳转内容
    CharField cannot have a "max_length" greater than 255 when using "unique=True" Google Groups
    并发编程利器Eventlet
    ANSI colored Python logging — Gist
    Fabulous — fabulous v0.1.5 documentation
    让你的博客支持MetaWeblog离线发布_维护记录 站点功能_DangJian's Blog
    Plumber Jack: Colourising logging output in terminals
    ajax客户端与服务端传输字符串
  • 原文地址:https://www.cnblogs.com/dky201452/p/5562153.html
Copyright © 2020-2023  润新知