# Tetris projecct
1.把程式碼分不同檔
2.把方塊變顏色
3.加背景音樂
4.加遊戲的溫馨小提醒
5.按esc鍵可跳出遊戲
6.結束顯示分數並按任意鍵可退出
-------------------------------
分為兩個檔
副函式.h和主函式.c


改方塊顏色
```
void setColor(int c){
SetConsoleTextAttribute(GetStdHandle( STD_OUTPUT_HANDLE ),c);
}
void make_new_block()
{
enum block_type type = (int)(rand()%block_type_num);
switch(type){
case O:
setColor(13);//淡紫色
copy_block(Block0,block_cur);
break;
case J:
setColor(10); //淡綠色
copy_block(Blockj,block_cur);
break;
case L:
setColor(14); //淡黃色
copy_block(BlockL,block_cur);
break;
case I:
setColor(12); //淡紅色
copy_block(BlockI,block_cur);
break;
case Z:
setColor(9); //淡藍色
copy_block(BlockZ,block_cur);
break;
case S:
setColor(3); //湖藍色
copy_block(BlockS,block_cur);
break;
case T:
setColor(2); //綠色
copy_block(BlockT,block_cur);
break;
default:
break;
}
cur_x = (WIDTH-block_w)/2;
cur_y = 0;
}
```

播音樂
`PlaySound(TEXT("Light.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP);`
遊戲的溫馨小提醒
```
void inter_face(){
gotoxy(cur_x+11,2*cur_y);
printf("| --Game tips--");
gotoxy(cur_x+11,2*cur_y+2);
printf("| 左移:←");
gotoxy(cur_x+11,2*cur_y+4);
printf("| 右移:→");
gotoxy(cur_x+11,2*cur_y+6);
printf("| 快速往下:↓");
gotoxy(cur_x+11,2*cur_y+8);
printf("| 轉方向:↑");
gotoxy(cur_x+11,2*cur_y+10);
printf("| esc:結束遊戲!");
gotoxy(cur_x+11,2*cur_y+12);
printf("| ! 加油┌(> O <)┘!");
gotoxy(cur_x+11,2*cur_y+13);
printf("| ! fighting┌(> O <)┘!");
}
```

中途想逃離可以按esc鍵
```
case 27:
system("cls");
gotoxy(cur_x/ 2+4, cur_y+2);
printf("---游戲結束---!\n");
gotoxy(cur_x/ 2+4, cur_y+4);
printf("---bye(^O^)bye---!\n");
gotoxy(cur_x / 2+4,cur_y+6);
printf("---按任意鍵退出---!\n");
getch();
exit(0);
break;
```

結束顯示分數並按任意鍵可退出
```
if(isCollision(cur_x,cur_y)==1){
system("cls");
close_timer();
char arr[30];
setColor(15);
sprintf(arr,"score : %d",score);
gotoxy(cur_x+22,2*cur_y+4);
printf("Game over QAQ");
gotoxy(cur_x+20,2*cur_y+6);
printf("!!你很棒了\\(>3<)/!!");
gotoxy(cur_x+20,2*cur_y+8);
printf("---按任意鍵退出---!\n");
getch();
exit(0);
printxy(arr,30,0);
}
```
