public void moverA(Columna columna) { if (this.vacia()) { new GestorIO().mostrar("Error!!! No hay cartas en columna"); } else { Carta carta = this.sacar(); if (columna.apilable(carta)) { columna.poner(carta); } else { this.poner(carta); new GestorIO().mostrar("Error!!! No se puede realizar ese movimiento"); } } }
public void moverA(Palo palo) { if (this.vacia()) { new GestorIO().mostrar("Error!!! No hay cartas en descarte"); } else { Carta carta = this.sacar(); if (palo.apilable(carta)) { palo.poner(carta); } else { this.poner(carta); new GestorIO().mostrar("Error!!! No se puede realizar ese movimiento"); } } }
internal bool distintoColor(Carta carta) { return(this.rojo() != carta.negro() || this.negro() != carta.negro()); }
internal bool igualPalo(Carta carta) { return(palo == carta.palo); }
internal bool siguiente(Carta carta) { return(numero == carta.numero + 1); }
public void poner(Carta carta) { cartas[ultima] = carta; ultima++; }
public bool apilable(Carta carta) { return(this.vacia() && carta.esAs() || !this.vacia() && carta.siguiente(this.cima()) && carta.igualPalo(this.cima())); }