/// <summary> /// Mostrar la ventana de fin de partida /// </summary> /// <param name="nomPlayer"></param> private void showVictoryWin(String nomPlayer, Motor.FOUR_CONNECT type) { try { String text; String caption; if (type != Motor.FOUR_CONNECT.NULL) { text = String.Format("¡¡Enhorabuena {0}!!", nomPlayer); caption = "Victoria"; } else { text = "¡¡Partida en tablas!!"; caption = "Empate"; } MessageBoxResult victoryWin = MessageBox.Show(text + "\n¿quieres jugar una partida con el mismojugador?", caption, MessageBoxButton.YesNo); switch (victoryWin) { case (MessageBoxResult.Yes): { motor.mode = Motor.MODE.OFF; buildBoard(); motor.run(); break; } default: { changeFlag(); //para poder iniciar una nueva partida motor.mode = Motor.MODE.OFF; confi.resetConfi(); //reseteamos la configuracion a los valores por defecto break; } } } catch (Exception ex) { Debugger.WriteException(ex, this); } }
/// <summary> /// Este metodo cambia el color de las piezas que consiguen el 4 en raya. Añade una partida ganada al jugador que la ha ganado /// y muesra la ventana de victoria /// </summary> /// <param name="x"></param> /// <param name="y"></param> /// <param name="des"></param> /// <param name="type"></param> private void victoryEvent(int x, int y, int des, Motor.FOUR_CONNECT type) { try { if (type == Motor.FOUR_CONNECT.NULL) { confi.playerList.ElementAt(0).Ganadas += 1 / 2; confi.playerList.ElementAt(1).Ganadas += 1 / 2; showVictoryWin("", type); } else { if (type == Motor.FOUR_CONNECT.VERTICAL) { int k = 0; while (k < 4) { space[x + k, y].Fill = brushFillVictory; space[x + k, y].Stroke = brusStrokeVictory; k++; } //MessageBox.Show("vertical"); } if (type == Motor.FOUR_CONNECT.HORIZONTAL) { int acc = 0; while (acc < 4) { space[x, y - (des - 1) + acc].Fill = brushFillVictory; space[x, y - (des - 1) + acc].Stroke = brusStrokeVictory; acc++; } //MessageBox.Show("horizontal"); } if (type == Motor.FOUR_CONNECT.NOMAIN) { int acc = 0; while (acc < 4) { space[x + (des - 1) - acc, y - (des - 1) + acc].Fill = brushFillVictory; space[x + (des - 1) - acc, y - (des - 1) + acc].Stroke = brusStrokeVictory; acc++; } //MessageBox.Show("nomain"); } if (type == Motor.FOUR_CONNECT.MAIN) { int acc = 0; while (acc < 4) { space[x - (des - 1) + acc, y - (des - 1) + acc].Fill = brushFillVictory; space[x - (des - 1) + acc, y - (des - 1) + acc].Stroke = brusStrokeVictory; acc++; } //MessageBox.Show("main"); } if (Turn == 1) { confi.playerList.ElementAt(0).Ganadas += 1; showVictoryWin(confi.playerList.ElementAt(0).Nombre, type); } else { confi.playerList.ElementAt(1).Ganadas += 1; showVictoryWin(confi.playerList.ElementAt(1).Nombre, type); } } } catch (Exception ex) { Debugger.WriteException(ex, this); } }
public void test(int x, int y, int des, Motor.FOUR_CONNECT type) { }