/// <summary> /// Metodo para contruir las celdas... /// </summary> public void BuildCeldas() { CalculaRecompensas(); List <Node <Celda> > listaNodos = GrafoTablero.getListaNodos(); int posx = 0; int posy = 500; int i = 1; //recorremos cada uno de los nodos.... foreach (Node <Celda> nodo in listaNodos) { Celda celda = nodo.Value; //cada vez que j aumente un numero subimos una posion if (celda.Fila == i + 1) { posy = posy - 100; posx = 0; i = celda.Fila; } graph.Children.Add(celda); Canvas.SetLeft(celda, posx); Canvas.SetTop(celda, posy); posx = posx + 100; } //de la lista de nodos cogemos el nm }
/// <summary> /// calculamos las recomensas aleatotiamente /// </summary> public void CalculaRecompensas() { try { Random rnd = new Random(); List <Node <Celda> > listaNodos = GrafoTablero.getListaNodos(); for (int i = 0; i < 2; i++) { int cantidad = listaNodos.Count; int randomNumberNode = rnd.Next(0, cantidad); Celda celda = listaNodos[randomNumberNode].Value; celda.Recompensa = -100; } //finalmente calculamos la recomensa positivo int cantidad2 = listaNodos.Count; int randomNumberNode2 = rnd.Next(0, cantidad2); Celda celda2 = listaNodos[randomNumberNode2].Value; celda2.Recompensa = 100; } catch (Exception e) { throw; } }
/// <summary> /// devuelve la celda 1,1 de la que partimos siempre- /// </summary> /// <returns></returns> public Node <Celda> getPrimeraCelda() { //obtengo toda la lista de nodos Celda celda = null; List <Node <Celda> > listaNodos = GrafoTablero.getListaNodos(); //recorro todos los nodos foreach (Node <Celda> nodo in listaNodos) { celda = nodo.Value; if (celda.Fila == 1 && celda.Columna == 1) { return(nodo); } } return(null); }