/** * Calcula el resultado de los combates introduciendo dos piezas * * Devuelve 2 si se capturó la bandera, 1 si gana el atacante, 0 empate, -1 gana el defensa */ private int Combate(Pieza piezaAtaque, Pieza piezaDefensa){ //Defiende una bandera if (piezaDefensa.GetType() == typeof(Bandera)) { return 2; } //Ataca espia a Mariscal if (piezaAtaque.valor == 1 && piezaDefensa.valor == 10) { return 1; } //Minero ataca bomba if (piezaAtaque.valor == 3 && piezaDefensa.GetType() == typeof(Bomba)) { return 1; } //Defiende una bomba if (piezaDefensa.GetType() == typeof(Bomba)) { return -1; } //Comparar valores if (piezaAtaque.valor > piezaDefensa.valor) return 1; if (piezaAtaque.valor == piezaDefensa.valor) return 0; return -1; }
/** * Muestra el nombre, valor y color adecuado a la pieza seleccionada */ private void mostrarTexto(Pieza pieza, Text texto, Color color){ if (pieza.GetType () == typeof(Bandera) || pieza.GetType () == typeof(Bomba)) { texto.text = pieza.nombre; } else { texto.text = pieza.nombre + ": " + pieza.valor; } //Cambiamos color texto.color = color; }