首页 > 其他 > 详细

我罗斯

时间:2020-05-06 22:18:27      阅读:66      评论:0      收藏:0      [点我收藏+]

我罗斯

一、题目要求

设计一款基础玩法与普通俄罗斯一样的,但增加了双人竞技的玩法。
玩家一用方向键控制,玩家二用wasd键控制。

二、设计方案

1、方块类

class block {
public:
    void generate();                                //随机产生
    void  change();                                 //变形
    void fall_speed();                              //加速和下落
    void left_right_move();                         //左右移动
    void color();                                   //填色
private:
    int shape[7][4][2] = 
    {               {{2,6},{2,7},{3,6},{3,7}},       //第1种基本方块“田”
                    {{1,7},{2,7},{2,6},{3,6}},       //第2种基本方块“z”
                    {{1,6},{2,6},{2,7},{3,7}},       //第3种基本方块倒“z”
                    {{2,6},{3,6},{3,7},{3,8}},       //第4种基本方块反“L”
                    {{2,8},{3,8},{3,7},{3,6}},       //第5种基本方块“L”
                    {{3,5},{3,6},{3,7},{3,8}},       //第6种基本方块“|”
                    {{2,7},{3,6},{3,7},{3,8}}};      //第7种基本方块“T”
};

2、玩家类

class play {
public:
    int addscore();                 //分数计算
    void pause();                   //暂停
    void test_key();                //检测按键“wasd”“↑ ↓ ← →”
private:
    string name;
    int score;
};

3、游戏类

class game {
public:
    void begin();               //开始
    void end();                 //判断结束
    void add();                 //加分
    void add_line();            //增行
    void decrease_line();       //消行
    void show_score();          //显示分数
};

4、渲染

//win32
//1.设计窗口类
    TCHAR szAppClassName[] = L" cc-elsfk";
    WNDCLASS wc = { 0 };
    wc.hbrBackground = CreateSolidBrush(RGB(0, 0, 0));
    wc.hCursor = LoadCursor(NULL, IDC_ARROW);
    wc.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
    wc.hInstance = hInstance;
    wc.lpfnWndProc = WindowProc;
    wc.lpszClassName = szAppClassName;
    wc.style = CS_HREDRAW | CS_VREDRAW;
//2.注册窗口类
    RegisterClass(&wc);
//3.创建窗口
    HWND hWnd = CreateWindow();
//4.显示窗口
    ShowWindow(hWnd, SW_SHOW);
//5.更新窗口
    UpdateWindow(hWnd);
//6.消息循环
    MSG msg;
      while (GetMessage(&msg, NULL, 0, 0))
      {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
      }

5、期待画面

开始界面

技术分享图片

游戏界面

技术分享图片

我罗斯

原文:https://www.cnblogs.com/clt1120/p/12837591.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!