Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ConsoleApplication62.cpp : コンソール アプリケーションのエントリ ポイントを定義します。
- //for たくみん
- #include "stdafx.h"
- #include "windows.h"
- int canvas[21][12] = {}, field[21][12] = {}, block[4][4] = { { 0,0,0,0 },{ 0,1,1,0 },{ 0,1,1,0 } ,{ 0,0,0,0 } }, x = 4, y = 0;
- void MoveBlock(int x2, int y2);
- void Initialize();
- void ShowGameField();
- void AddCanvas();
- int CheckOverlap(int x2, int y2);
- int main()
- {
- int i, j;
- Initialize();
- ShowGameField();
- for (i = 0; i <18; i++) {
- system("cls");
- MoveBlock(4, i);
- ShowGameField();
- AddCanvas();
- Sleep(1000);
- }
- return 0;
- }
- void MoveBlock(int x2, int y2) { //ブロック移動用関数^^
- int i, j;
- for (i = 0; i < 4; i++) {
- for (j = 0; j<4; j++) {
- field[y + i][x + j] -= block[i][j];
- }
- }
- x = x2;
- y = y2;
- for (i = 0; i < 4; i++) {
- for (j = 0; j<4; j++) {
- field[y + i][x + j] += block[i][j];
- }
- }
- }
- void Initialize() { //初期化用関数^^
- int i, j;
- for (i = 0; i < 21; i++) {
- for (j = 0; j < 12; j++) {
- if (j == 0 && i != 20 || j == 11 && i != 20 || i == 20) {
- canvas[i][j] += 9;
- field[i][j] = canvas[i][j];
- }
- }
- }
- for (i = 0; i < 4; i++) {
- for (j = 0; j<4; j++) {
- field[i][j + 4] += canvas[i][j + 4] + block[i][j];
- }
- }
- }
- void ShowGameField() { //画面表示用関数^^
- int i, j;
- for (i = 0; i < 21; i++) {
- for (j = 0; j < 12; j++) {
- if (field[i][j] == 0) {
- printf(" ");
- }
- else if (field[i][j] == 9) {
- printf("■");
- }
- else if (field[i][j] == 1) {
- printf("□");
- }
- else {
- printf("%d", field[i][j]);
- }
- }
- printf("\n");
- }
- }
- int CheckOverlap(int x2, int y2) {
- int i, j;
- for (i = 0; i < 4; i++) {
- for (j = 0; j < 4; j++) {
- if (block[i][j]) {
- if (canvas[y2 + i][x2 + j] != 0) {
- return 1;
- }
- }
- }
- }
- return 0;
- }
- void AddCanvas() {
- int i, j;
- for (i = 0; i < 21; i++) {
- for (j = 0; j < 12; j++) {
- canvas[i][j] = field[i][j];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement