public bool Drop() { bool flag = false; curBrick.MoveTestMod(); curBrick.MoveTestDown(); if (!Intersect()) { flag = true; curBrick.ChangePos();//改变位置 } else { curBrick.InitialtPos(); } return(flag); }
public bool NewFall()//新的方块下落 { curBrick = nextBrick; curBrick.Pos.X = (map.Width + 8 / 2) - 8; curBrick.Pos.Y = 1; nextBrick = new Brick(random.Next(7)); curBrick.MoveTestMod();//移动测试模式 return(!Intersect()); }
public bool Drop() { bool flag = false; curBrick.MoveTestMod(); curBrick.MoveTestDown(); if (!Intersect()) { //显示当前方块的XY坐标 //frm1.label3.Text = curBrick.Pos.X.ToString() + "," + curBrick.Pos.Y.ToString(); flag = true; curBrick.ChangePos();//改变位置 } else { curBrick.InitialtPos(); } return(flag); }
public bool NewFall()//新的方块下落 { //move = 5; curBrick = nextBrick; curBrick.Pos.X = (map.Width + 8 / 2) - 8; curBrick.Pos.Y = 1; //nextBrick = new Brick(6); nextBrick = new Brick(random.Next(19)); curBrick.MoveTestMod();//移动测试模式 double[] p = new double[4]; int[] m = new int[4]; int[] mm = new int[4]; //int p1,p2,p3,p4,m1, m2, m3,m4,m11,m22,m33,m44; int[,] gameMap = returnMapArray(); int[,] brickMap = curBrick.Mod; int[,] b1 = curBrick.assignShapeValue(curBrick.shape1, (curBrick.shape2 + 1) % 4); int[,] b2 = curBrick.assignShapeValue(curBrick.shape1, (curBrick.shape2 + 2) % 4); int[,] b3 = curBrick.assignShapeValue(curBrick.shape1, (curBrick.shape2 + 3) % 4); //int[,] brickMap = returnBrickArray(); //int[,] b1 = Rotate2(brickMap); //int[,] b2 = Rotate2(b1); //int[,] b3 = Rotate2(b2); p[0] = EvaluateShape2(gameMap, brickMap); p[1] = EvaluateShape2(gameMap, b1); p[2] = EvaluateShape2(gameMap, b2); p[3] = EvaluateShape2(gameMap, b3); m[0] = EvaluateShape(gameMap, brickMap); m[1] = EvaluateShape(gameMap, b1); m[2] = EvaluateShape(gameMap, b2); m[3] = EvaluateShape(gameMap, b3); mm[0] = Math.Abs(m[0]); mm[1] = Math.Abs(m[1]); mm[2] = Math.Abs(m[2]); mm[3] = Math.Abs(m[3]); double maxP = p.Max(); if (p[0] == maxP) { rotateCopy = 0; rotate = 0; move = m[0]; moveCopy = m[0]; } else if (p[1] == maxP) { rotateCopy = 1; rotate = 1; move = m[1]; moveCopy = m[1]; } else if (p[2] == maxP) { rotateCopy = 2; rotate = 2; move = m[2]; moveCopy = m[2]; } else { rotateCopy = 3; rotate = 3; move = m[3]; moveCopy = m[3]; } //if (m11<=m22&&m11<=m33&m11<=m44) //{ // move = m1; // rotate = 0; //} //else if (m22 <= m11 && m22 <= m33 && m22 <= m44) //{ // move = m2; // rotate = 1; //} //else if (m33 <= m11 && m33 <= m22 && m33 <= m44) //{ // move = m3; // rotate = 2; //} //else //{ // move = m4; // rotate = 3; //} //move = EvaluateShape(gameMap, brickMap); return(!Intersect()); }