从今天开始,我会不断发布这个专辑的内容,预计分十次完成。
今天我们先来完成第一步:俄罗斯方块的创作与输出
1:方块样式
int block_1[4][4]={{0,1,1,1},{0,0,1,0},{0,0,0,0},{0,0,0,0}};
int block_2[4][4]={{0,1,1,0},{0,1,1,0},{0,0,0,0},{0,0,0,0}};
int block_3[4][4]={{0,0,1,0},{0,1,1,1},{0,0,1,0},{0,0,0,0}};
int block_4[4][4]={{1,1,1,1},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
int block_5[4][4]={{0,1,0,0},{0,1,1,1},{0,0,0,0},{0,0,0,0}};
分别建立5个方块二维数组,内部数字1为方块,0为空格,之后便可以用遍历的方法来输出方块。
2:遍历方块
int putBlock(int block_Num){for(int i=0;i<=3;i++){for(int j=0;j<=3;j++){if(block_Num==1){if(block_1[i][j]==1)cout<<"■";else cout<<" ";}else if(block_Num==2){if(block_2[i][j]==1)cout<<"■";else cout<<" ";}else if(block_Num==3){if(block_3[i][j]==1)cout<<"■";else cout<<" ";}else if(block_Num==4){if(block_4[i][j]==1)cout<<"■";else cout<<" ";}else if(block_Num==5){if(block_5[i][j]==1)cout<<"■";else cout<<" ";}else{cout<<"错误!";break;}}cout<<endl;if(block_Num<1||block_Num>5)break;}
这个函数用来便利方块,block_Num用来代表方块序号,便于之后遍历。
再用两个for循环来遍历,这个方法不用多讲了吧!
注意:其中有一些代码用于修复bug,自己琢磨琢磨便会会知道。
3:MAIN函数定义
int main(){int n;while(cin>>n){cout<<putBlock(n)<<endl<<endl;}return 0;
}