#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <time.h>
#define TTY_PATH "/dev/tty"
#define STTY_US "stty raw -echo -F "
#define STTY_DEF "stty -raw echo -F "
int get_char();
void drawPoint(int x, int y);
void drawShape();
void userCtrl(char c);
void createShape();
void moveDown();
void initBackbround();
struct Point
{
int x;
int y;
};
/*struct Point shap1[4] = {
{0,0},{0,-1},{1,0},{-1,0}};
struct Point shap2[4] = {
{0,0},{0,-1},{0,1},{1,0}};
struct Point shap3[4] = {
{0,0},{-1,0},{1,0},{0,1}};
struct Point shap4[4] = {
{0,0},{0,-1},{0,1},{-1,0}};*/
struct Point shapes[19][4] = {
{
{0,0},{-1,0},{1,0},{2,0}},//横条
{
{0,0},{0,-1},{0,1},{0,2}},//竖条
{
{0,0},{-1,-1},{-1,0},{0,-1}},//方块
{
{0,0},{0,-1},{0,-2},{1,0}},//正L1
{
{0,0},{0,1},{1,0},{2,0}},//正L2
{
{0,0},{-1,0},{0,1},{0,2}},//正L3
{
{0,0},{0,-1},{-1,0},{-2,0}},//正L4
{
{0,0},{-1,0},{0,-1},{0,-2}},//反L1
{
{0,0},{0,-1},{1,0},{2,0}},//反L2
{
{0,0},{1,0},{0,1},{0,2}},//反L3
{
{0,0},{-1,0},{-2,0},{0,1}},//反L4
{
{0,0},{-1,0},{1,0},{0,-1}},//T1
{
{0,0},{0,1},{0,-1},{1,0}},//T2
{
{0,0},{-1,0},{1,0},{0,1}},//T3
{
{