#include "defs.h" void define_shapes(void) { /* 27 shapes of pentix */ /* begin shape 0 definition, four rotations */ shape[0].table[0][0] = 0; /* */ shape[0].table[1][0] = 0; /* */ shape[0].table[2][0] = 4; /* # */ shape[0].table[3][0] = 0; /* */ shape[0].table[4][0] = 0; /* */ shape[0].pointv[0] = 1; shape[0].table[0][1] = 0; /* */ shape[0].table[1][1] = 0; /* */ shape[0].table[2][1] = 4; /* # */ shape[0].table[3][1] = 0; /* */ shape[0].table[4][1] = 0; /* */ shape[0].pointv[1] = 1; shape[0].table[0][2] = 0; /* */ shape[0].table[1][2] = 0; /* */ shape[0].table[2][2] = 4; /* # */ shape[0].table[3][2] = 0; /* */ shape[0].table[4][2] = 0; /* */ shape[0].pointv[2] = 1; shape[0].table[0][3] = 0; /* */ shape[0].table[1][3] = 0; /* */ shape[0].table[2][3] = 4; /* # */ shape[0].table[3][3] = 0; /* */ shape[0].table[4][3] = 0; /* */ shape[0].pointv[3] = 1; shape[0].color = BLUE; /* begin shape 1 definition, four rotations */ shape[1].table[0][0] = 0; shape[1].table[1][0] = 0; shape[1].table[2][0] = 6; /* ## */ shape[1].table[3][0] = 0; shape[1].table[4][0] = 0; shape[1].pointv[0] = 1; shape[1].table[0][1] = 0; /* */ shape[1].table[1][1] = 0; /* */ shape[1].table[2][1] = 4; /* # */ shape[1].table[3][1] = 4; /* # */ shape[1].table[4][1] = 0; /* */ shape[1].pointv[1] = 1; shape[1].table[0][2] = 0; shape[1].table[1][2] = 0; shape[1].table[2][2] = 6; /* ## */ shape[1].table[3][2] = 0; shape[1].table[4][2] = 0; shape[1].pointv[2] = 1; shape[1].table[0][3] = 0; /* */ shape[1].table[1][3] = 0; /* */ shape[1].table[2][3] = 4; /* # */ shape[1].table[3][3] = 4; /* # */ shape[1].table[4][3] = 0; /* */ shape[1].pointv[2] = 1; shape[1].color = RED; /* begin shape 2 definition, four rotations */ shape[2].table[0][0] = 0; shape[2].table[1][0] = 0; shape[2].table[2][0] = 14; /* ### */ shape[2].table[3][0] = 0; shape[2].table[4][0] = 0; shape[2].pointv[0] = 3; shape[2].table[0][1] = 0; /* */ shape[2].table[1][1] = 4; /* # */ shape[2].table[2][1] = 4; /* # */ shape[2].table[3][1] = 4; /* # */ shape[2].table[4][1] = 0; /* */ shape[2].pointv[1] = 2; shape[2].table[0][2] = 0; shape[2].table[1][2] = 0; shape[2].table[2][2] = 14; /* ### */ shape[2].table[3][2] = 0; shape[2].table[4][2] = 0; shape[2].pointv[2] = 3; shape[2].table[0][3] = 0; /* */ shape[2].table[1][3] = 4; /* # */ shape[2].table[2][3] = 4; /* # */ shape[2].table[3][3] = 4; /* # */ shape[2].table[4][3] = 0; /* */ shape[2].pointv[2] = 2; shape[2].color = RED; /* begin shape 3 definition, four rotations */ shape[3].table[0][0] = 0; shape[3].table[1][0] = 0; shape[3].table[2][0] = 15; /* ####*/ shape[3].table[3][0] = 0; shape[3].table[4][0] = 0; shape[3].pointv[0] = 4; shape[3].table[0][1] = 2; /* # */ shape[3].table[1][1] = 2; /* # */ shape[3].table[2][1] = 2; /* # */ shape[3].table[3][1] = 2; /* # */ shape[3].table[4][1] = 0; /* */ shape[3].pointv[1] = 3; shape[3].table[0][2] = 0; shape[3].table[0][2] = 0; shape[3].table[1][2] = 15; /* ####*/ shape[3].table[2][2] = 0; shape[3].table[3][2] = 0; shape[3].pointv[2] = 4; shape[3].table[0][3] = 2; /* # */ shape[3].table[1][3] = 2; /* # */ shape[3].table[2][3] = 2; /* # */ shape[3].table[3][3] = 2; /* # */ shape[3].table[4][3] = 0; /* */ shape[3].pointv[2] = 3; shape[3].color = RED; /* begin shape 4 definition, four rotations */ shape[4].table[0][0] = 0; shape[4].table[1][0] = 0; shape[4].table[2][0] = 31; /*#####*/ shape[4].table[3][0] = 0; shape[4].table[4][0] = 0; shape[4].pointv[0] = 5; shape[4].table[0][1] = 4; /* # */ shape[4].table[1][1] = 4; /* # */ shape[4].table[2][1] = 4; /* # */ shape[4].table[3][1] = 4; /* # */ shape[4].table[4][1] = 4; /* # */ shape[4].pointv[1] = 3; shape[4].table[0][2] = 0; shape[4].table[0][2] = 0; shape[4].table[1][2] = 31; /*#####*/ shape[4].table[2][2] = 0; shape[4].table[3][2] = 0; shape[4].pointv[2] = 5; shape[4].table[0][3] = 4; /* # */ shape[4].table[1][3] = 4; /* # */ shape[4].table[2][3] = 4; /* # */ shape[4].table[3][3] = 4; /* # */ shape[4].table[4][3] = 4; /* # */ shape[4].pointv[2] = 3; shape[4].color = RED; /* begin shape 5 definition, four rotations */ shape[5].table[0][0] = 0; /* */ shape[5].table[1][0] = 0; /* */ shape[5].table[2][0] = 6; /* ## */ shape[5].table[3][0] = 6; /* ## */ shape[5].table[4][0] = 0; /* */ shape[5].pointv[0] = 2; shape[5].table[0][1] = 0; /* */ shape[5].table[1][1] = 0; /* */ shape[5].table[2][1] = 6; /* ## */ shape[5].table[3][1] = 6; /* ## */ shape[5].table[4][1] = 0; /* */ shape[5].pointv[1] = 2; shape[5].table[0][2] = 0; /* */ shape[5].table[1][2] = 0; /* */ shape[5].table[2][2] = 6; /* ## */ shape[5].table[3][2] = 6; /* ## */ shape[5].table[4][2] = 0; /* */ shape[5].pointv[2] = 2; shape[5].table[0][3] = 0; /* */ shape[5].table[1][3] = 0; /* */ shape[5].table[2][3] = 6; /* ## */ shape[5].table[3][3] = 6; /* ## */ shape[5].table[4][3] = 0; /* */ shape[5].pointv[3] = 2; shape[5].color = BLUE; /* begin shape 6 definition, four rotations */ shape[6].table[0][0] = 0; /* */ shape[6].table[1][0] = 0; /* */ shape[6].table[2][0] = 6; /* ## */ shape[6].table[3][0] = 6; /* ## */ shape[6].table[4][0] = 4; /* # */ shape[6].pointv[0] = 3; shape[6].table[0][1] = 0; /* */ shape[6].table[1][1] = 0; /* */ shape[6].table[2][1] = 6; /* ## */ shape[6].table[3][1] = 7; /* ###*/ shape[6].table[4][1] = 0; /* */ shape[6].pointv[1] = 3; shape[6].table[0][2] = 0; /* */ shape[6].table[1][2] = 2; /* # */ shape[6].table[2][2] = 6; /* ## */ shape[6].table[3][2] = 6; /* ## */ shape[6].table[4][2] = 0; /* */ shape[6].pointv[2] = 3; shape[6].table[0][3] = 0; /* */ shape[6].table[1][3] = 0; /* */ shape[6].table[2][3] = 7; /* ### */ shape[6].table[3][3] = 6; /* ## */ shape[6].table[4][3] = 0; /* */ shape[6].pointv[3] = 3; shape[6].color = BLUE; /* begin shape definition, four rotations */ shape[7].table[0][0] = 0; /* */ shape[7].table[1][0] = 0; /* */ shape[7].table[2][0] = 6; /* ## */ shape[7].table[3][0] = 6; /* ## */ shape[7].table[4][0] = 2; /* # */ shape[7].pointv[0] = 3; shape[7].table[0][1] = 0; /* */ shape[7].table[1][1] = 0; /* */ shape[7].table[2][1] = 7; /* ###*/ shape[7].table[3][1] = 6; /* ## */ shape[7].table[4][1] = 0; /* */ shape[7].pointv[1] = 3; shape[7].table[0][2] = 0; /* */ shape[7].table[1][2] = 7; /* # */ shape[7].table[2][2] = 6; /* ## */ shape[7].table[3][2] = 0; /* ## */ shape[7].table[4][2] = 0; /* */ shape[7].pointv[2] = 3; shape[7].table[0][3] = 0; /* */ shape[7].table[1][3] = 6; /* */ shape[7].table[2][3] = 6; /* ## */ shape[7].table[3][3] = 2; /* ### */ shape[7].table[4][3] = 2; /* */ shape[7].pointv[3] = 3; shape[7].color = BLUE; /* begin shape 6 definition, four rotations */ shape[6].table[0][0] = 0; /* */ shape[6].table[1][0] = 7; /* ###*/ shape[6].table[2][0] = 2; /* # */ shape[6].table[3][0] = 0; /* */ shape[6].table[4][0] = 0; /* */ shape[6].pointv[0] = 4; shape[6].table[0][1] = 0; /* */ shape[6].table[1][1] = 4; /* # */ shape[6].table[2][1] = 6; /* ## */ shape[6].table[3][1] = 4; /* # */ shape[6].table[4][1] = 0; /* */ shape[6].pointv[0] = 3; shape[6].table[0][2] = 0; /* */ shape[6].table[1][2] = 2; /* # */ shape[6].table[2][2] = 7; /* ###*/ shape[6].table[3][2] = 0; /* */ shape[6].table[4][2] = 0; /* */ shape[6].pointv[2] = 3; shape[6].table[0][3] = 0; /* */ shape[6].table[1][3] = 2; /* # */ shape[6].table[2][3] = 6; /* ## */ shape[6].table[3][3] = 2; /* # */ shape[6].table[4][3] = 0; /* */ shape[6].pointv[3] = 3; shape[6].color = YELLOW; /* begin shape 7 definition, four rotations */ shape[7].table[0][0] = 0; /* */ shape[7].table[1][0] = 14; /* ### */ shape[7].table[2][0] = 4; /* # */ shape[7].table[3][0] = 4; /* # */ shape[7].table[4][0] = 0; /* */ shape[7].pointv[0] = 5; shape[7].table[0][1] = 0; /* */ shape[7].table[1][1] = 8; /* # */ shape[7].table[2][1] = 14; /* ### */ shape[7].table[3][1] = 8; /* # */ shape[7].table[4][1] = 0; /* */ shape[7].pointv[1] = 3; shape[7].table[0][2] = 0; /* */ shape[7].table[1][2] = 4; /* # */ shape[7].table[2][2] = 4; /* # */ shape[7].table[3][2] = 14; /* ### */ shape[7].table[4][2] = 0; /* */ shape[7].pointv[2] = 3; shape[7].table[0][3] = 0; /* */ shape[7].table[1][3] = 2; /* # */ shape[7].table[2][3] = 14; /* ### */ shape[7].table[3][3] = 2; /* # */ shape[7].table[4][3] = 0; /* */ shape[7].pointv[3] = 3; shape[7].color = YELLOW; /* begin shape 8 definition, four rotations */ shape[8].table[0][0] = 0; /* */ shape[8].table[1][0] = 4; /* # */ shape[8].table[2][0] = 14; /* ### */ shape[8].table[3][0] = 4; /* # */ shape[8].table[4][0] = 0; /* */ shape[8].pointv[0] = 4; shape[8].table[0][1] = 0; /* */ shape[8].table[1][1] = 4; /* # */ shape[8].table[2][1] = 14; /* ### */ shape[8].table[3][1] = 4; /* # */ shape[8].table[4][1] = 0; /* */ shape[8].pointv[1] = 4; shape[8].table[0][2] = 0; /* */ shape[8].table[1][2] = 4; /* # */ shape[8].table[2][2] = 14; /* ### */ shape[8].table[3][2] = 4; /* # */ shape[8].table[4][2] = 0; /* */ shape[8].pointv[2] = 4; shape[8].table[0][3] = 0; /* */ shape[8].table[1][3] = 4; /* # */ shape[8].table[2][3] = 14; /* ### */ shape[8].table[3][3] = 4; /* # */ shape[8].table[4][3] = 0; /* */ shape[8].pointv[3] = 4; shape[8].color = WHITE; /* begin shape 9 definition, four rotations */ shape[9].table[0][0] = 0; /* */ shape[9].table[1][0] = 4; /* # */ shape[9].table[2][0] = 14; /* ### */ shape[9].table[3][0] = 8; /* # */ shape[9].table[4][0] = 0; /* */ shape[9].pointv[0] = 3; shape[9].table[0][1] = 0; /* */ shape[9].table[1][1] = 4; /* # */ shape[9].table[2][1] = 12; /* ## */ shape[9].table[3][1] = 6; /* ## */ shape[9].table[4][1] = 0; /* */ shape[9].pointv[1] = 3; shape[9].table[0][2] = 0; /* */ shape[9].table[1][2] = 2; /* # */ shape[9].table[2][2] = 14; /* ### */ shape[9].table[3][2] = 4; /* # */ shape[9].table[4][2] = 0; /* */ shape[9].pointv[2] = 4; shape[9].table[0][3] = 0; /* */ shape[9].table[1][3] = 12; /* ## */ shape[9].table[2][3] = 6; /* ## */ shape[9].table[3][3] = 4; /* # */ shape[9].table[4][3] = 0; /* */ shape[9].pointv[3] = 5; shape[9].color = CYAN; /* begin shape 10 definition, four rotations */ shape[10].table[0][0] = 0; /* */ shape[10].table[1][0] = 4; /* # */ shape[10].table[2][0] = 14; /* ### */ shape[10].table[3][0] = 2; /* # */ shape[10].table[4][0] = 0; /* */ shape[10].pointv[0] = 3; shape[10].table[0][1] = 0; /* */ shape[10].table[1][1] = 6; /* ## */ shape[10].table[2][1] = 12; /* ## */ shape[10].table[3][1] = 4; /* # */ shape[10].table[4][1] = 0; /* */ shape[10].pointv[1] = 5; shape[10].table[0][2] = 0; /* */ shape[10].table[1][2] = 8; /* # */ shape[10].table[2][2] = 14; /* ### */ shape[10].table[3][2] = 4; /* # */ shape[10].table[4][2] = 0; /* */ shape[10].pointv[2] = 4; shape[10].table[0][3] = 0; /* */ shape[10].table[1][3] = 4; /* # */ shape[10].table[2][3] = 6; /* ## */ shape[10].table[3][3] = 12; /* ## */ shape[10].table[4][3] = 0; /* */ shape[10].pointv[3] = 3; shape[10].color = GREEN; /* begin shape 11 definition, four rotations */ shape[11].table[0][0] = 0; /* */ shape[11].table[1][0] = 2; /* # */ shape[11].table[2][0] = 14; /* ### */ shape[11].table[3][0] = 8; /* # */ shape[11].table[4][0] = 0; /* */ shape[11].pointv[0] = 3; shape[11].table[0][1] = 0 ; /* */ shape[11].table[1][1] = 12; /* ## */ shape[11].table[2][1] = 4; /* # */ shape[11].table[3][1] = 6; /* ## */ shape[11].table[4][1] = 0; /* */ shape[11].pointv[1] = 5; shape[11].table[0][2] = 0; /* */ shape[11].table[1][2] = 2; /* # */ shape[11].table[2][2] = 14; /* ### */ shape[11].table[3][2] = 8; /* # */ shape[11].table[4][2] = 0; /* */ shape[11].pointv[2] = 3; shape[11].table[0][3] = 0; /* */ shape[11].table[1][3] = 12; /* ## */ shape[11].table[2][3] = 4; /* # */ shape[11].table[3][3] = 6; /* ## */ shape[11].table[4][3] = 0; /* */ shape[11].pointv[3] = 5; shape[11].color = GREEN; /* begin shape 12 definition, four rotations */ shape[12].table[0][0] = 0; /* */ shape[12].table[1][0] = 8; /* # */ shape[12].table[2][0] = 14; /* ### */ shape[12].table[3][0] = 2; /* # */ shape[12].table[4][0] = 0; /* */ shape[12].pointv[0] = 3; shape[12].table[0][1] = 0; /* */ shape[12].table[1][1] = 6; /* ## */ shape[12].table[2][1] = 4; /* # */ shape[12].table[3][1] = 12; /* ## */ shape[12].table[4][1] = 0; /* */ shape[12].pointv[1] = 5; shape[12].table[0][2] = 0; /* */ shape[12].table[1][2] = 8; /* # */ shape[12].table[2][2] = 14; /* ### */ shape[12].table[3][2] = 2; /* # */ shape[12].table[4][2] = 0; /* */ shape[12].pointv[2] = 3; shape[12].table[0][3] = 0; /* */ shape[12].table[1][3] = 6; /* ## */ shape[12].table[2][3] = 4; /* # */ shape[12].table[3][3] = 12; /* ## */ shape[12].table[4][3] = 0; /* */ shape[12].pointv[3] = 5; shape[12].color = PURPLE; /* begin shape 13 definition, four rotations */ shape[13].table[0][0] = 0; /* */ shape[13].table[1][0] = 14; /* ### */ shape[13].table[2][0] = 10; /* # # */ shape[13].table[3][0] = 0; /* */ shape[13].table[4][0] = 0; /* */ shape[13].pointv[0] = 4; shape[13].table[0][1] = 0; /* */ shape[13].table[1][1] = 12; /* ## */ shape[13].table[2][1] = 8; /* # */ shape[13].table[3][1] = 12; /* ## */ shape[13].table[4][1] = 0; /* */ shape[13].pointv[1] = 5; shape[13].table[0][2] = 0; /* */ shape[13].table[1][2] = 0; /* */ shape[13].table[2][2] = 10; /* # # */ shape[13].table[3][2] = 14; /* ### */ shape[13].table[4][2] = 0; /* */ shape[13].pointv[2] = 3; shape[13].table[0][3] = 0; /* */ shape[13].table[1][3] = 6; /* ## */ shape[13].table[2][3] = 2; /* # */ shape[13].table[3][3] = 6; /* ## */ shape[13].table[4][3] = 0; /* */ shape[13].pointv[3] = 5; shape[13].color = PURPLE; /* begin shape 14 definition, four rotations */ shape[14].table[0][0] = 0; /* */ shape[14].table[1][0] = 6; /* ## */ shape[14].table[2][0] = 3; /* ##*/ shape[14].table[3][0] = 0; /* */ shape[14].table[4][0] = 0; /* */ shape[14].pointv[0] = 3; shape[14].table[0][1] = 0; /* */ shape[14].table[1][1] = 2; /* # */ shape[14].table[2][1] = 6; /* ## */ shape[14].table[3][1] = 4; /* # */ shape[14].table[4][1] = 0; /* */ shape[14].pointv[1] = 3; shape[14].table[0][2] = 0; /* */ shape[14].table[1][2] = 6; /* ## */ shape[14].table[2][2] = 3; /* ##*/ shape[14].table[3][2] = 0; /* */ shape[14].table[4][2] = 0; /* */ shape[14].pointv[2] = 3; shape[14].table[0][3] = 0; /* */ shape[14].table[1][3] = 2; /* # */ shape[14].table[2][3] = 6; /* ## */ shape[14].table[3][3] = 4; /* # */ shape[14].table[4][3] = 0; /* */ shape[14].pointv[3] = 3; shape[14].color = CYAN; /* begin shape 15 definition, four rotations */ shape[15].table[0][0] = 0; /* */ shape[15].table[1][0] = 3; /* ##*/ shape[15].table[2][0] = 6; /* ## */ shape[15].table[3][0] = 0; /* */ shape[15].table[4][0] = 0; /* */ shape[15].pointv[0] = 3; shape[15].table[0][1] = 0; /* */ shape[15].table[1][1] = 4; /* # */ shape[15].table[2][1] = 6; /* ## */ shape[15].table[3][1] = 2; /* # */ shape[15].table[4][1] = 0; /* */ shape[15].pointv[1] = 3; shape[15].table[0][2] = 0; /* */ shape[15].table[1][2] = 3; /* ##*/ shape[15].table[2][2] = 6; /* ## */ shape[15].table[3][2] = 0; /* */ shape[15].table[4][2] = 0; /* */ shape[15].pointv[2] = 3; shape[15].table[0][3] = 0; /* */ shape[15].table[1][3] = 4; /* # */ shape[15].table[2][3] = 6; /* ## */ shape[15].table[3][3] = 2; /* # */ shape[15].table[4][3] = 0; /* */ shape[15].pointv[3] = 3; shape[15].color = GREEN; /* begin shape 16 definition, four rotations */ shape[16].table[0][0] = 0; /* */ shape[16].table[1][0] = 14; /* ### */ shape[16].table[2][0] = 3; /* ##*/ shape[16].table[3][0] = 0; /* */ shape[16].table[4][0] = 0; /* */ shape[16].pointv[0] = 4; shape[16].table[0][1] = 2; /* # */ shape[16].table[1][1] = 6; /* ## */ shape[16].table[2][1] = 4; /* # */ shape[16].table[3][1] = 4; /* # */ shape[16].table[4][1] = 0; /* */ shape[16].pointv[1] = 4; shape[16].table[0][2] = 0; /* */ shape[16].table[1][2] = 12; /* ## */ shape[16].table[2][2] = 7; /* ###*/ shape[16].table[3][2] = 0; /* */ shape[16].table[4][2] = 0; /* */ shape[16].pointv[2] = 4; shape[16].table[0][3] = 2; /* # */ shape[16].table[1][3] = 2; /* # */ shape[16].table[2][3] = 6; /* ## */ shape[16].table[3][3] = 4; /* # */ shape[16].table[4][3] = 0; /* */ shape[16].pointv[3] = 3; shape[16].color = GREEN; /* begin shape 17 definition, four rotations */ shape[17].table[0][0] = 0; /* */ shape[17].table[1][0] = 7; /* ###*/ shape[17].table[2][0] = 12; /* ## */ shape[17].table[3][0] = 0; /* */ shape[17].table[4][0] = 0; /* */ shape[17].pointv[0] = 4; shape[17].table[0][1] = 4; /* # */ shape[17].table[1][1] = 4; /* # */ shape[17].table[2][1] = 6; /* ## */ shape[17].table[3][1] = 2; /* # */ shape[17].table[4][1] = 0; /* */ shape[17].pointv[1] = 3; shape[17].table[0][2] = 0; /* */ shape[17].table[1][2] = 3; /* ##*/ shape[17].table[2][2] = 14; /* ### */ shape[17].table[3][2] = 0; /* */ shape[17].table[4][2] = 0; /* */ shape[17].pointv[2] = 4; shape[17].table[0][3] = 4; /* # */ shape[17].table[1][3] = 6; /* ## */ shape[17].table[2][3] = 2; /* # */ shape[17].table[3][3] = 2; /* # */ shape[17].table[4][3] = 0; /* */ shape[17].pointv[3] = 4; shape[17].color = CYAN; /* begin shape 18 definition, four rotations */ shape[18].table[0][0] = 0; /* */ shape[18].table[1][0] = 7; /* ###*/ shape[18].table[2][0] = 4; /* # */ shape[18].table[3][0] = 0; /* */ shape[18].table[4][0] = 0; /* */ shape[18].pointv[0] = 3; shape[18].table[0][1] = 0; /* */ shape[18].table[1][1] = 4; /* # */ shape[18].table[2][1] = 4; /* # */ shape[18].table[3][1] = 6; /* ## */ shape[18].table[4][1] = 0; /* */ shape[18].pointv[1] = 2; shape[18].table[0][2] = 0; /* */ shape[18].table[1][2] = 0; /* */ shape[18].table[2][2] = 1; /* #*/ shape[18].table[3][2] = 7; /* ###*/ shape[18].table[4][2] = 0; /* */ shape[18].pointv[2] = 3; shape[18].table[0][3] = 0; /* */ shape[18].table[1][3] = 3; /* ##*/ shape[18].table[2][3] = 1; /* #*/ shape[18].table[3][3] = 1; /* #*/ shape[18].table[4][3] = 0; /* */ shape[18].pointv[3] = 4; shape[18].color = PURPLE; /* begin shape 19 definition, four rotations */ shape[19].table[0][0] = 0; /* */ shape[19].table[1][0] = 7; /* ###*/ shape[19].table[2][0] = 1; /* #*/ shape[19].table[3][0] = 0; /* */ shape[19].table[4][0] = 0; /* */ shape[19].pointv[0] = 3; shape[19].table[0][1] = 0; /* */ shape[19].table[1][1] = 6; /* ## */ shape[19].table[2][1] = 4; /* # */ shape[19].table[3][1] = 4; /* # */ shape[19].table[4][1] = 0; /* */ shape[19].pointv[1] = 4; shape[19].table[0][2] = 0; /* */ shape[19].table[1][2] = 0; /* */ shape[19].table[2][2] = 4; /* # */ shape[19].table[3][2] = 7; /* ###*/ shape[19].table[4][2] = 0; /* */ shape[19].pointv[2] = 3; shape[19].table[0][3] = 0; /* */ shape[19].table[1][3] = 1; /* #*/ shape[19].table[2][3] = 1; /* #*/ shape[19].table[3][3] = 3; /* ##*/ shape[19].table[4][3] = 0; /* */ shape[19].pointv[3] = 2; shape[19].color = WHITE; /* begin shape 20 definition, four rotations */ shape[20].table[0][0] = 0; /* */ shape[20].table[1][0] = 15; /* ####*/ shape[20].table[2][0] = 8; /* # */ shape[20].table[3][0] = 0; /* */ shape[20].table[4][0] = 0; /* */ shape[20].pointv[0] = 4; shape[20].table[0][1] = 4; /* # */ shape[20].table[1][1] = 4; /* # */ shape[20].table[2][1] = 4; /* # */ shape[20].table[3][1] = 6; /* ## */ shape[20].table[4][1] = 0; /* */ shape[20].pointv[1] = 3; shape[20].table[0][2] = 0; /* */ shape[20].table[1][2] = 1; /* #*/ shape[20].table[2][2] = 15; /* ####*/ shape[20].table[3][2] = 0; /* */ shape[20].table[4][2] = 0; /* */ shape[20].pointv[2] = 4; shape[20].table[0][3] = 6; /* ## */ shape[20].table[1][3] = 2; /* # */ shape[20].table[2][3] = 2; /* # */ shape[20].table[3][3] = 2; /* # */ shape[20].table[4][3] = 0; /* */ shape[20].pointv[3] = 5; shape[20].color = PURPLE; /* begin shape 21 definition, four rotations */ shape[21].table[0][0] = 0; /* */ shape[21].table[1][0] = 15; /* ####*/ shape[21].table[2][0] = 1; /* #*/ shape[21].table[3][0] = 0; /* */ shape[21].table[4][0] = 0; /* */ shape[21].pointv[0] = 4; shape[21].table[0][1] = 6; /* ## */ shape[21].table[1][1] = 4; /* # */ shape[21].table[2][1] = 4; /* # */ shape[21].table[3][1] = 4; /* # */ shape[21].table[4][1] = 0; /* */ shape[21].pointv[1] = 5; shape[21].table[0][2] = 0; /* */ shape[21].table[1][2] = 8; /* # */ shape[21].table[2][2] = 15; /* ####*/ shape[21].table[3][2] = 0; /* */ shape[21].table[4][2] = 0; /* */ shape[21].pointv[2] = 4; shape[21].table[0][3] = 2; /* # */ shape[21].table[1][3] = 2; /* # */ shape[21].table[2][3] = 2; /* # */ shape[21].table[3][3] = 6; /* ## */ shape[21].table[4][3] = 0; /* */ shape[21].pointv[3] = 3; shape[21].color = YELLOW; /* begin shape 22 definition, four rotations */ shape[22].table[0][0] = 0; /* */ shape[22].table[1][0] = 0; /* */ shape[22].table[2][0] = 6; /* ## */ shape[22].table[3][0] = 4; /* # */ shape[22].table[4][0] = 0; /* */ shape[22].pointv[0] = 2; shape[22].table[0][1] = 0; /* */ shape[22].table[1][1] = 0; /* */ shape[22].table[2][1] = 4; /* # */ shape[22].table[3][1] = 6; /* ## */ shape[22].table[4][1] = 0; /* */ shape[22].pointv[1] = 2; shape[22].table[0][2] = 0; /* */ shape[22].table[1][2] = 0; /* */ shape[22].table[2][2] = 2; /* # */ shape[22].table[3][2] = 6; /* ## */ shape[22].table[4][2] = 0; /* */ shape[22].pointv[2] = 2; shape[22].table[0][3] = 0; /* */ shape[22].table[1][3] = 0; /* */ shape[22].table[2][3] = 6; /* ## */ shape[22].table[3][3] = 2; /* # */ shape[22].table[4][3] = 0; /* */ shape[22].pointv[3] = 2; shape[22].color = WHITE; /* begin shape 23 definition, four rotations */ shape[23].table[0][0] = 0; /* */ shape[23].table[1][0] = 7; /* ###*/ shape[23].table[2][0] = 4; /* # */ shape[23].table[3][0] = 4; /* # */ shape[23].table[4][0] = 0; /* */ shape[23].pointv[0] = 4; shape[23].table[0][1] = 0; /* */ shape[23].table[1][1] = 4; /* # */ shape[23].table[2][1] = 4; /* # */ shape[23].table[3][1] = 7; /* ###*/ shape[23].table[4][1] = 0; /* */ shape[23].pointv[1] = 3; shape[23].table[0][2] = 0; /* */ shape[23].table[1][2] = 1; /* #*/ shape[23].table[2][2] = 1; /* #*/ shape[23].table[3][2] = 7; /* ###*/ shape[23].table[4][2] = 0; /* */ shape[23].pointv[2] = 3; shape[23].table[0][3] = 0; /* */ shape[23].table[1][3] = 7; /* ###*/ shape[23].table[2][3] = 1; /* #*/ shape[23].table[3][3] = 1; /* #*/ shape[23].table[4][3] = 0; /* */ shape[23].pointv[3] = 4; shape[23].color = WHITE; /* begin shape 24 definition, four rotations */ shape[24].table[0][0] = 0; /* */ shape[24].table[1][0] = 12; /* ## */ shape[24].table[2][0] = 6; /* ## */ shape[24].table[3][0] = 2; /* # */ shape[24].table[4][0] = 0; /* */ shape[24].pointv[0] = 4; shape[24].table[0][1] = 0; /* */ shape[24].table[1][1] = 6; /* ## */ shape[24].table[2][1] = 12; /* ## */ shape[24].table[3][1] = 8; /* # */ shape[24].table[4][1] = 0; /* */ shape[24].pointv[1] = 4; shape[24].table[0][2] = 0; /* */ shape[24].table[1][2] = 8; /* # */ shape[24].table[2][2] = 12; /* ## */ shape[24].table[3][2] = 6; /* ## */ shape[24].table[4][2] = 0; /* */ shape[24].pointv[2] = 3; shape[24].table[0][3] = 0; /* */ shape[24].table[1][3] = 2; /* # */ shape[24].table[2][3] = 6; /* ## */ shape[24].table[3][3] = 12; /* ## */ shape[24].table[4][3] = 0; /* */ shape[24].pointv[3] = 3; shape[24].color = YELLOW; /* begin shape 25 definition, four rotations */ shape[25].table[0][0] = 0; /* */ shape[25].table[1][0] = 15; /* ####*/ shape[25].table[2][0] = 2; /* # */ shape[25].table[3][0] = 0; /* */ shape[25].table[4][0] = 0; /* */ shape[25].pointv[0] = 4; shape[25].table[0][1] = 4; /* # */ shape[25].table[1][1] = 6; /* ## */ shape[25].table[2][1] = 4; /* # */ shape[25].table[3][1] = 4; /* # */ shape[25].table[4][1] = 0; /* */ shape[25].pointv[1] = 4; shape[25].table[0][2] = 0; /* */ shape[25].table[1][2] = 4; /* # */ shape[25].table[2][2] = 15; /* ####*/ shape[25].table[3][2] = 0; /* */ shape[25].table[4][2] = 0; /* */ shape[25].pointv[2] = 4; shape[25].table[0][3] = 2; /* # */ shape[25].table[1][3] = 2; /* # */ shape[25].table[2][3] = 6; /* ## */ shape[25].table[3][3] = 2; /* # */ shape[25].table[4][3] = 0; /* */ shape[25].pointv[2] = 3; shape[25].color = WHITE; /* begin shape 26 definition, four rotations */ shape[26].table[0][0] = 0; /* */ shape[26].table[1][0] = 15; /* ####*/ shape[26].table[2][0] = 4; /* # */ shape[26].table[3][0] = 0; /* */ shape[26].table[4][0] = 0; /* */ shape[26].pointv[0] = 4; shape[26].table[0][1] = 4; /* # */ shape[26].table[1][1] = 4; /* # */ shape[26].table[2][1] = 6; /* ## */ shape[26].table[3][1] = 4; /* # */ shape[26].table[4][1] = 0; /* */ shape[26].pointv[1] = 3; shape[26].table[0][2] = 0; /* */ shape[26].table[1][2] = 2; /* # */ shape[26].table[2][2] = 15; /* ####*/ shape[26].table[3][2] = 0; /* */ shape[26].table[4][2] = 0; /* */ shape[26].pointv[2] = 4; shape[26].table[0][3] = 2; /* # */ shape[26].table[1][3] = 6; /* ## */ shape[26].table[2][3] = 2; /* # */ shape[26].table[3][3] = 2; /* # */ shape[26].table[4][3] = 0; /* */ shape[26].pointv[2] = 4; shape[26].color = YELLOW; } void store_shape(int shape_no, int xpos, int ypos, int rot) { int i; for (i = 0; i < 5; i++) { if (shape[shape_no].table[i][rot] & 16) grid[xpos + 0][ypos + i] = 1; if (shape[shape_no].table[i][rot] & 8) grid[xpos + 1][ypos + i] = 1; if (shape[shape_no].table[i][rot] & 4) grid[xpos + 2][ypos + i] = 1; if (shape[shape_no].table[i][rot] & 2) grid[xpos + 3][ypos + i] = 1; if (shape[shape_no].table[i][rot] & 1) grid[xpos + 4][ypos + i] = 1; } } void create_shape(void) { shape_no = next_no; rot = next_rot; next_no = random() % 27; next_rot = random() % 4; xpos = (UWIDTH / 2) - 3; ypos = -5; }