public bool[] Blocks_Creation(Tiles Tiles) { // 0123 // 4567 // 8901 // 2345 // data for 4v4 block shapes bool[] array_for_blocks_creation = new bool[tile_size << 2]; switch (Tiles.type) { case image_type.image1: if (Tiles.angle.Equals(block_rotation.zero_deg) || Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[2] = true; // ..#. 0123 array_for_blocks_creation[6] = true; // ..#. 4567 array_for_blocks_creation[10] = true; // ..#. 8901 array_for_blocks_creation[14] = true; // ..#. 2345 } else { array_for_blocks_creation[12] = true; // .... 0123 array_for_blocks_creation[13] = true; // .... 4567 array_for_blocks_creation[14] = true; // .... 8901 array_for_blocks_creation[15] = true; // #### 2345 } break; case image_type.image2: array_for_blocks_creation[0] = true; // ##.. 0123 array_for_blocks_creation[1] = true; // ##.. 4567 array_for_blocks_creation[4] = true; // .... 8901 array_for_blocks_creation[5] = true; // .... 2345 break; case image_type.image3: if (Tiles.angle.Equals(block_rotation.zero_deg) || Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[5] = true; // .... 0123 array_for_blocks_creation[6] = true; // .##. 4567 array_for_blocks_creation[8] = true; // ##.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } else { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[5] = true; // .##. 4567 array_for_blocks_creation[6] = true; // ..#. 8901 array_for_blocks_creation[10] = true; // .... 2345 } break; case image_type.image4: if (Tiles.angle.Equals(block_rotation.zero_deg) || Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[4] = true; // .... 0123 array_for_blocks_creation[5] = true; // ##.. 4567 array_for_blocks_creation[9] = true; // .##. 8901 array_for_blocks_creation[10] = true; // .... 2345 } else { array_for_blocks_creation[2] = true; // ..#. 0123 array_for_blocks_creation[5] = true; // .##. 4567 array_for_blocks_creation[6] = true; // .#.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } break; case image_type.image5: if (Tiles.angle.Equals(block_rotation.zero_deg)) { array_for_blocks_creation[4] = true; // .... 0123 array_for_blocks_creation[5] = true; // ###. 4567 array_for_blocks_creation[6] = true; // .#.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } else if (Tiles.angle.Equals(block_rotation.ninety_deg)) { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[4] = true; // ##.. 4567 array_for_blocks_creation[5] = true; // .#.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } else if (Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[5] = true; // .... 0123 array_for_blocks_creation[8] = true; // .#.. 4567 array_for_blocks_creation[9] = true; // ###. 8901 array_for_blocks_creation[10] = true; // .... 2345 } else { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[5] = true; // .##. 4567 array_for_blocks_creation[6] = true; // .#.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } break; case image_type.image6: if (Tiles.angle.Equals(block_rotation.zero_deg)) { array_for_blocks_creation[4] = true; // .... 0123 array_for_blocks_creation[5] = true; // ###. 4567 array_for_blocks_creation[6] = true; // #... 8901 array_for_blocks_creation[8] = true; // .... 2345 } else if (Tiles.angle.Equals(block_rotation.ninety_deg)) { array_for_blocks_creation[0] = true; // ##.. 0123 array_for_blocks_creation[1] = true; // .#.. 4567 array_for_blocks_creation[5] = true; // .#.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } else if (Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[6] = true; // .... 0123 array_for_blocks_creation[8] = true; // ..#. 4567 array_for_blocks_creation[9] = true; // ###. 8901 array_for_blocks_creation[10] = true; // .... 2345 } else { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[5] = true; // .#.. 4567 array_for_blocks_creation[9] = true; // .##. 8901 array_for_blocks_creation[10] = true; // .... 2345 } break; case image_type.image7: if (Tiles.angle.Equals(block_rotation.zero_deg)) { array_for_blocks_creation[4] = true; // .... 0123 array_for_blocks_creation[5] = true; // ###. 4567 array_for_blocks_creation[6] = true; // ..#. 8901 array_for_blocks_creation[10] = true; // .... 2345 } else if (Tiles.angle.Equals(block_rotation.ninety_deg)) { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[5] = true; // .#.. 4567 array_for_blocks_creation[8] = true; // ##.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } else if (Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[4] = true; // .... 0123 array_for_blocks_creation[8] = true; // #... 4567 array_for_blocks_creation[9] = true; // ###. 8901 array_for_blocks_creation[10] = true; // .... 2345 } else { array_for_blocks_creation[1] = true; // .##. 0123 array_for_blocks_creation[2] = true; // .#.. 4567 array_for_blocks_creation[5] = true; // .#.. 8901 array_for_blocks_creation[9] = true; // .... 2345 } break; case image_type.image8: array_for_blocks_creation[0] = true; // #... 0123 // .... 4567 // .... 8901 // .... 2345 break; case image_type.image9: if (Tiles.angle.Equals(block_rotation.zero_deg) || Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[1] = true; // .##. 0123 array_for_blocks_creation[2] = true; // .#.. 4567 array_for_blocks_creation[5] = true; // ##.. 8901 array_for_blocks_creation[8] = true; // .... 2345 array_for_blocks_creation[9] = true; // .... 2345 } else { array_for_blocks_creation[0] = true; // #... 0123 array_for_blocks_creation[4] = true; // ###. 4567 array_for_blocks_creation[5] = true; // ..#. 8901 array_for_blocks_creation[6] = true; // .... 2345 array_for_blocks_creation[10] = true; } break; case image_type.image10: if (Tiles.angle.Equals(block_rotation.zero_deg) || Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[0] = true; // ##.. 0123 array_for_blocks_creation[1] = true; // .#.. 4567 array_for_blocks_creation[5] = true; // .##. 8901 array_for_blocks_creation[9] = true; // .... 2345 array_for_blocks_creation[10] = true; } else { array_for_blocks_creation[3] = true; // ...# 0123 array_for_blocks_creation[5] = true; // .### 4567 array_for_blocks_creation[6] = true; // .#.. 8901 array_for_blocks_creation[7] = true; // .... 2345 array_for_blocks_creation[9] = true; } break; case image_type.image11: if (Tiles.angle.Equals(block_rotation.zero_deg)) { array_for_blocks_creation[0] = true; // ###. 0123 array_for_blocks_creation[1] = true; // .#.. 4567 array_for_blocks_creation[2] = true; // .#.. 8901 array_for_blocks_creation[5] = true; // .... 2345 array_for_blocks_creation[9] = true; } else if (Tiles.angle.Equals(block_rotation.ninety_deg)) { array_for_blocks_creation[2] = true; // ..#. 0123 array_for_blocks_creation[4] = true; // ###. 4567 array_for_blocks_creation[5] = true; // ..#. 8901 array_for_blocks_creation[6] = true; // .... 2345 array_for_blocks_creation[10] = true; } else if (Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[5] = true; // .#.. 4567 array_for_blocks_creation[8] = true; // ###. 8901 array_for_blocks_creation[9] = true; // .... 2345 array_for_blocks_creation[10] = true; } else { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[5] = true; // .### 4567 array_for_blocks_creation[6] = true; // .#.. 8901 array_for_blocks_creation[7] = true; // .... 2345 array_for_blocks_creation[9] = true; } break; case image_type.image12: if (Tiles.angle.Equals(block_rotation.zero_deg)) { array_for_blocks_creation[2] = true; // ..#. 0123 array_for_blocks_creation[5] = true; // .##. 4567 array_for_blocks_creation[6] = true; // .... 8901 // .... 2345 } else if (Tiles.angle.Equals(block_rotation.ninety_deg)) { array_for_blocks_creation[1] = true; // .#.. 0123 array_for_blocks_creation[4] = true; // .##. 4567 array_for_blocks_creation[5] = true; // .... 8901 // .... 2345 } else if (Tiles.angle.Equals(block_rotation.one_eighty_deg)) { array_for_blocks_creation[1] = true; // .##. 0123 array_for_blocks_creation[2] = true; // ..#. 4567 array_for_blocks_creation[6] = true; // .... 8901 // .... 2345 } else { array_for_blocks_creation[1] = true; // .##. 0123 array_for_blocks_creation[2] = true; // .#.. 4567 array_for_blocks_creation[5] = true; // .... 8901 // .... 2345 } break; } return(array_for_blocks_creation); }
public void Assign(Tiles t) { Rotation = t.angle; Shape = t.type; }
public void OnTimedEvent(Object source, ElapsedEventArgs e) { //keepTimer += 10; //fulcore del gioco // string tileCorrente = ""; keepTimer = 0; switch (currentCase) { case 0: Tiles currentTile = new Tiles(); tileCorrente = currentTile.getStringa(); campoGioco4.istance(x, y, tileCorrente); currentCase = 1; break; case 1: //Logica del gioco da sistemare //1) Controlla se la matrice è già piena prima di inserire //2) Inserisci blocco //2.5) Incrementa y //3) Controlla se la prossima posizione si può utilizzare //3) Si --> 4 No --> 5 //4) Inserisci blocco più giù //5) y = 0; --> 2 if (campoGioco4.check(x, y, tileCorrente)) { if (y == 0) { aTimer.Dispose(); aTimer.Enabled = false; aTimer.Stop(); cTimer.Enabled = false; cTimer.Stop(); string s = "GAMEOVER"; byte[] msg = Encoding.UTF8.GetBytes(s); // Blocks until send returns. socket.Send(msg, 0, msg.Length, SocketFlags.None); DialogResult ok = MessageBox.Show("Game Over"); if (ok == DialogResult.OK) { t.Join(); aggiornaCampoAvversario.Join(); socket.Dispose(); DialogResult = DialogResult.No; } } else { campoGioco4.swithcState(); currentCase = 0; y = 0; x = 3; campoGioco4.verifica = false; } } else { campoGioco4.clean(); campoGioco4.istance(x, y, tileCorrente); y++; List <int> indiciRigheComplete; int righeComplet = campoGioco4.checkFullLine(out indiciRigheComplete); if (righeComplet != 0) { InvioRighe(righeComplet); righeComplet = 0; campoGioco4.spostaGiu(indiciRigheComplete, righeComplet); campoGioco4.clean(); } } break; } //manda e ricevi }