用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c++代码库

2016关于CCF竞赛题目的俄罗斯方块的题目代码(运行环境VS2010)

2016-04-15 作者: 小维天使001举报

[c++]代码库

// 俄罗斯方块代码.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<iomanip>
using namespace std;
const int n=15,m=10;
struct point{//用于记录模块中为1的点
    int x;
    int y;
};
//定义的全局变量
struct point mo[4];
int u[n][m],y[4][4],l=0;
int maxR =-1;//图案最后一行
int finalR;
//函数声明
void input();
void output();
void start();
//进入main()函数
int _tmain(int argc, _TCHAR* argv[])
{
    //随机赋值,便于测试
    srand((unsigned long)time(0));
    for(int i=7;i<n;i++){
        for(int j=0;j<m;j++){
            u[i][j]=rand()%2;
        }
    }
    //
    output();
    input();
    start();
    output();
    return 0;
}
//函数定义
void input(){
    int t=0;
    maxR=-1;
    for(int i=0;i<4;i++){
        for(int j=0;j<4;j++){
            cin>>y[i][j];
            if(y[i][j]==1){
                mo[t].x = i;
                mo[t].y = j;
                //找到最后一行
                if(maxR<i)
                    maxR=i;
                ++t;
            }
        }
    }
    //对齐列数
    cin>>l;
    l--;
    for(int i=0;i<4;i++){
        mo[i].y+=l;
    }
}
void output(){
    //打印界面
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cout<<u[i][j]<<" ";
        }
        cout<<endl;
    }
 }
void start(){
    //开始下落
    finalR=maxR;
    int step;
    for(int t=maxR;t<14;t++){
        int flag=0;
        step = finalR-maxR;
        for(int i=0;i<4;i++)
            //if(u[finalR+1][mo[i].y]==0)
            if(u[mo[i].x+step+1][mo[i].y]==0)
                flag++;
        if(flag==4)
            finalR++;
        else
            break;
    }
    //下落完成
    step = finalR-maxR;
    for(int i=0;i<4;i++)
        u[mo[i].x+step][mo[i].y]=1;
}


网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...