C Language course with a class, the teacher provides a C language plane game let us feel, last semester C language course, mainly is the practice of various sentences, this time is to use the knowledge to feel a real system.
Install C-free First, and then run the program.
The game program seems simple, but in C language to achieve or the first time to see, it was very surprised.
Analysis of the program, the feeling is not too complicated, is the last semester to learn the combination of simple statements, but the use of very good. First look at the use of several statements:
1. First is the statement that appears on the screen printf
printf ("Tetris");
Gotoxy (HOUT,FRAMEX+2*FRAME_WIDTH+3,FRAMEY+7);
printf ("********** Next Block:");
Gotoxy (HOUT,FRAMEX+2*FRAME_WIDTH+3,FRAMEY+13);
printf ("**********");
Gotoxy (HOUT,FRAMEX+2*FRAME_WIDTH+3,FRAMEY+17);
printf ("↑ Key: Variant");
Gotoxy (hout,framex+2*frame_width+3,framey+19);
printf ("Space: Pause Game");
Gotoxy (HOUT,FRAMEX+2*FRAME_WIDTH+3,FRAMEY+15);
printf ("ESC: Exit Game");
2, another is the multi-conditional judgment switch--case
Switch (Tetris->flag)//A total of 6 categories, 19 types
{
Case 1://tin Word Box
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x+2][tetris->y-1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case 2://Straight BLOCK:----
{
a[tetris->x-2][tetris->y]=b[1];
a[tetris->x+2][tetris->y]=b[2];
a[tetris->x+4][tetris->y]=b[3];
Break
}
Case 3://Straight BLOCK: |
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x][tetris->y-2]=b[2];
a[tetris->x][tetris->y+1]=b[3];
Break
}
Case 4://t Word box
{
a[tetris->x-2][tetris->y]=b[1];
a[tetris->x+2][tetris->y]=b[2];
a[tetris->x][tetris->y+1]=b[3];
Break
}
Case 5://t word clockwise 90-degree block
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x][tetris->y+1]=b[2];
a[tetris->x-2][tetris->y]=b[3];
Break
}
Case 6://t word clockwise 180-degree block
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x-2][tetris->y]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case 7://t word clockwise 270-degree block
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x][tetris->y+1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case 8://z Word Box
{
a[tetris->x][tetris->y+1]=b[1];
a[tetris->x-2][tetris->y]=b[2];
a[tetris->x+2][tetris->y+1]=b[3];
Break
}
Case 9://z word clockwise 90-degree block
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x-2][tetris->y]=b[2];
a[tetris->x-2][tetris->y+1]=b[3];
Break
}
Case://z word clockwise turn 180 degree block
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x-2][tetris->y-1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case one://z word clockwise turn 270 degree block
{
a[tetris->x][tetris->y+1]=b[1];
a[tetris->x+2][tetris->y-1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case 12://7 Word Box
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x][tetris->y+1]=b[2];
a[tetris->x-2][tetris->y-1]=b[3];
Break
}
Case 13://7 word clockwise 90-degree block
{
a[tetris->x-2][tetris->y]=b[1];
a[tetris->x-2][tetris->y+1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case 14://7 word clockwise 180-degree block
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x][tetris->y+1]=b[2];
a[tetris->x+2][tetris->y+1]=b[3];
Break
}
Case 15://7 word clockwise 270-degree block
{
a[tetris->x-2][tetris->y]=b[1];
a[tetris->x+2][tetris->y-1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case 16://pour 7 word blocks
{
a[tetris->x][tetris->y+1]=b[1];
a[tetris->x][tetris->y-1]=b[2];
a[tetris->x+2][tetris->y-1]=b[3];
Break
}
Case 17://Inverted 7-character clockwise to 90-degree block
{
a[tetris->x-2][tetris->y]=b[1];
a[tetris->x-2][tetris->y-1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
Case 18://pour 7 words clockwise to 180 degree block
{
a[tetris->x][tetris->y-1]=b[1];
a[tetris->x][tetris->y+1]=b[2];
a[tetris->x-2][tetris->y+1]=b[3];
Break
}
Case 19://pour 7 words clockwise to 270 degree block
{
a[tetris->x-2][tetris->y]=b[1];
a[tetris->x+2][tetris->y+1]=b[2];
a[tetris->x+2][tetris->y]=b[3];
Break
}
3. Key function
Press the ← Key to move left, center axis minus 2
Press the → Key to move right, center axis plus 2
Press the ↑ key to change the current block clockwise to 90 degrees
4, sentiment
Through this class, I have a further understanding of C language, seemingly simple program, in fact, by hundreds of lines of code into. Find yourself in the programming aspect still have insufficient, make me know C language to be rigorous, step-by-steps to do, the procedure can make out.
Tetris Software: The initial experience of C language application