public void genetateblock() //generates a tetris block using the tetrisblock classes { Random rand = new Random(); //allows the creation of a Random number generator if (generated == -1 && nextgenerated == -1) { generated = rand.Next(7); //generates a number between 0 and 7, this is used for all 7 tetris blocks nextgenerated = rand.Next(7); //generates a number between 0 and 7, this is used for all 7 tetris blocks } else { generated = nextgenerated; nextgenerated = rand.Next(7);//generates a number between 0 and 7, this is used for all 7 tetris blocks } //generated = rand.Next(7); //generated = 6; regenerate(rand); //test case for tetris block zero int dot = 4;//dot is an intger used to map out the initial point of a falling block to make sure it's not on the edge switch (generated) { case 0: first = new TetrisBlock(0, dot, 0, dot - 1, 0, dot + 1, 1, dot); //maps out the falling tetris block if (boardmatrix[0][dot] == 1 || boardmatrix[0][dot - 1] == 1 || boardmatrix[0][dot + 1] == 1 || boardmatrix[1][dot] == 1) { setender(false); } break; case 1: first = new TetrisBlock(1, dot, 0, dot - 1, 1, dot + 1, 0, dot); if (boardmatrix[1][dot] == 1 || boardmatrix[0][dot - 1] == 1 || boardmatrix[1][dot + 1] == 1 || boardmatrix[0][dot] == 1) { setender(false); } break; case 2: first = new TetrisBlock(1, dot, 1, dot - 1, 0, dot + 1, 0, dot); if (boardmatrix[1][dot] == 1 || boardmatrix[1][dot - 1] == 1 || boardmatrix[0][dot + 1] == 1 || boardmatrix[0][dot] == 1) { setender(false); } break; case 3: first = new TetrisBlock(0, dot, 0, dot - 1, 0, dot + 1, 1, dot - 1); if (boardmatrix[0][dot] == 1 || boardmatrix[0][dot - 1] == 1 || boardmatrix[0][dot + 1] == 1 || boardmatrix[1][dot - 1] == 1) { setender(false); } break; case 4: first = new TetrisBlock(0, dot, 0, dot - 1, 0, dot + 1, 1, dot + 1); if (boardmatrix[0][dot] == 1 || boardmatrix[0][dot - 1] == 1 || boardmatrix[0][dot + 1] == 1 || boardmatrix[1][dot + 1] == 1) { setender(false); } break; case 5: first = new TetrisBlock(0, dot, 0, dot - 1, 0, dot + 1, 0, dot - 2); if (boardmatrix[0][dot] == 1 || boardmatrix[0][dot - 1] == 1 || boardmatrix[0][dot + 1] == 1 || boardmatrix[0][dot - 2] == 1) { setender(false); } break; case 6: first = new TetrisBlock(0, dot, 0, dot - 1, 1, dot, 1, dot - 1); if (boardmatrix[0][dot] == 1 || boardmatrix[0][dot - 1] == 1 || boardmatrix[1][dot + 1] == 1 || boardmatrix[1][dot - 1] == 1) { setender(false); } first.setvalid(false); //prevents tetris block from rotating because it is the square block break; default: break; } }