小遊戲 俄羅斯方塊(C 版)

2021-07-05 14:20:28 字數 1768 閱讀 9531

大一作品,留念

#include#include#include//kbhit

#include//rand,srand

#include#define wide 15

#define hight 18

#define period 500

typedef struct point

point;

/*1 ■■■■ 1*4 -> 4*1

■ ■

2■■■ 3 ■■■ 2*3 -> 3*2

■■ ■■ 2*3 -> 3*2

4 ■■ 5 ■■

■■ ■

6 ■■ 2*2 7 ■■■ 2*3->3*2

最大面積為4*4

1234 ■■■■

1234 ■■■■

1234 ■■■■

1234 ■■■■

按w鍵旋轉九十度

*/char map[hight][wide]=;//1:□ 2:■ 其餘的都是空格 char型別節約空間

char stay[hight][wide]=;//殘留方塊

struct point size;//活動方塊的大小 前乙個代表 高度 後乙個代表 寬度 ,主要用於觸碰處理

char sqr[4][4];//活動方塊陣列

struct point posi=;//方塊頂點座標

char situ=0;//旋轉狀況0 正常 1 順時針90度 2:180 3:270

int grade=0,line=0;

//char sqr[4][4];

//point newspr=;

//------------函式宣告

void showmap();

void setmap();

int keypre(char k);//按下某鍵

int getrand(int,int);//取乙個範圍內的隨機數

int setini(int type);//初始化方塊,型別,看錶吧

void turn90();

int isagain();//判斷活動區是否與stay區重複

int exsqr(char row);//判斷stay區某一行是否存在方塊,存在返回1,不存在返回0

void judge();//層滿處理

int main()

if(kbhit()==1)

}while(1);

system("cls");

printf("----------------得分:%d 消除:%d-------------------\n",grade,line);

setmap();

showmap();

printf("----------------遊戲結束!謝謝玩耍!----------------\n");

printf("按回車鍵退出!\n");

while(getchar()!='\n');

return 0;

}int keypre(char k)//按下某鍵

void setmap()//初始化地圖,並置

void judge()//層滿處理

} }return 0;//未重複

}int exsqr(char row)//判斷stay區某一行是否存在方塊,存在返回1,不存在返回0

C 版俄羅斯方塊

請不要使用vc6編譯,建議使用vc2005及以上版本,或dev cpp include windows.h include include include include struct block 4 定義方塊 point tempblock 4 structtblock 4 bool place ...

C 俄羅斯方塊遊戲

俄羅斯方塊是一款非常經典的老遊戲,相比現在的網路遊戲和大型遊戲而言,俄羅斯方塊非常小。不要看似小,要實現俄羅斯方塊的全部功能也不容易。先說說涉及的知識點 繼承 不同的方塊繼承於方塊類 多型 每種方塊都可以旋轉 初始化,但是每種方塊的旋轉都不一樣,採用抽象方法定義 簡單工廠設計模式 由工廠隨機建立方塊...

C語言小遊戲之俄羅斯方塊

include include include sleep 函式的標頭檔案 include include define mod 28 define size n 19 控制邊框的高度 define size m 12 控制邊框的寬度 int a 100 定義排行榜 int cur x,cur y,...