public static void Main(string[] args) { string peticion; string[] comandos; string nombreComando; string respuesta; while (true) { respuesta = "no respuesta"; peticion = Console.ReadLine(); Dpr.Log("WINBOARD: " + peticion); comandos = peticion.Split(' '); nombreComando = comandos[0]; switch (nombreComando) { case "protover": respuesta = Protocolo.Protover(); break; case "new": WinboardSession.PtdActual = new Partida(); break; case "usermove": respuesta = Protocolo.Usermove(comandos[1], WinboardSession.PtdActual); break; case "force": Protocolo.Force(WinboardSession.PtdActual); break; case "go": respuesta = Protocolo.Go(WinboardSession.PtdActual); break; case "sd": Protocolo.Sd(comandos[1], WinboardSession.PtdActual); break; default: break; } if (nombreComando == "quit") { break; } else if (respuesta != "no respuesta") { Console.WriteLine(respuesta); Dpr.Log("ALEDREZ: " + respuesta); } } }
public void VerLista() { Dpr.Log("LISTA"); Dpr.Log("Inicio: " + this.inicio); Dpr.Log("Libre: " + this.libre); for (int i = 0; i < Items.Length; i++) { Dpr.Log("Escaque: " + Items[i].Escaque + " - Siguiente: " + Items[i].Siguiente); } Dpr.Log("FIN LISTA"); }
public override void EliminarMovimientos(int esq, Tablero tab) { for (int j = 0; j < BdMov[esq][0].Length; j++) { tab[BdMov[esq][0][j]].Movs[this.Color].Eliminar(esq); tab[BdMov[esq][0][j]].Bloqueados.Eliminar(esq); } for (int k = 1; k <= 2; k++) { if (BdMov[esq][k].Length > 0) { int posicion = tab[BdMov[esq][k][0]].Protectores[this.Color].Eliminar(esq); if (posicion == -1) { tab[BdMov[esq][k][0]].Movs[this.Color].Eliminar(esq); } } } for (int i = 0; i < 64; i++) { if (tab[i].Movs[this.Color].Buscar(esq) != -1) { Dpr.Log("quedan Movs"); } if (tab[i].Protectores[this.Color].Buscar(esq) != -1) { Dpr.Log("quedan Protectores"); } if (tab[i].Bloqueados.Buscar(esq) != -1) { Dpr.Log("quedan Bloqueados"); Dpr.Log(i + ", " + esq); } } }
public bool Insertar(int escaque, Tablero tab) { if (this.libre == -1) { Dpr.Log("Mierda"); return(false); } int lugar = ObtenerEspacio(); if (lugar != -1) { this.Items[lugar].Escaque = escaque; //Dpr.Log("Insertado " + escaque); this.Cuenta++; } else { return(false); } if (this.inicio == -1) { this.Items[lugar].Siguiente = -1; this.inicio = lugar; return(true); } int anterior = -1; int actual = this.inicio; while (actual != -1) { if (escaque == this.Items[actual].Escaque) { Liberar(lugar); this.Cuenta--; // Dpr.Log("Borrado " + escaque); return(false); } if (tab[escaque].Tipo.Valor <= tab[this.Items[actual].Escaque].Tipo.Valor) { if (anterior == -1) { this.Items[lugar].Siguiente = this.inicio; this.inicio = lugar; } else { this.Items[lugar].Siguiente = this.Items[anterior].Siguiente; this.Items[anterior].Siguiente = lugar; } return(true); } else if (tab[escaque].Tipo.Valor > tab[this.Items[actual].Escaque].Tipo.Valor) { anterior = actual; actual = this.Items[actual].Siguiente; } if (actual == -1) { this.Items[anterior].Siguiente = lugar; this.Items[lugar].Siguiente = -1; } } return(true); }