
/*
Online Java - IDE, Code Editor, Compiler

Online Java is a quick and easy tool that helps you to build, compile, test your programs online.
*/

interface Movable
{
    public void assignSnakesLadders();
    public void setGrid();
    public void checkSnakesLadder();
    
}


class SnakesLadders implements Movable
{
    //to hold all enum values....
    PositionSnakesLadders[] psl;
    
    enum PositionSnakesLadders
    {
        SNAKE1(16,6), SNAKE2(48,26), SNAKE3(49,11), SNAKE4(56,53), SNAKE5(62,19), SNAKE6(64,60),  SNAKE7(87,24), SNAKE8(93,73), SNAKE9(95,75), SNAKE10(98,78),
        LADDERS1(1,38), LADDERS2(4,14), LADDERS3(9,31), LADDERS4(21,42), LADDERS5(28,84), LADDERS6(36,44),  LADDERS7(51,67), LADDERS8(71,91), LADDERS9(80,100);
        
        int startPos;
        int endPos;
        
        PositionSnakesLadders(int startPos, int endPos)
        {
            this.startPos=startPos;
            this.endPos=endPos;
        }
        
    }
    
    //since the code could execute out of control if there is a loop, for instance
    //tail of snake at same position as a ladder climb...
    //or top of ladder same position, as a snake slide...
    //need to validate inputs...
    
    public void checkSnakesLadder()
    {
        for (PositionSnakesLadders en: psl)
        {
            for (PositionSnakesLadders en: psl)
            {
                
            }
            
        }
        
    }
    
    public SnakesLadders()
    {
        
        psl = PositionSnakesLadders.values();
        
    }
    
    public void setBoard()
    {
        int [][] Board = new int[][]  { 
                                        {100,99,98,97,96,95,94,93,92,91},
                                         {90,89,88,87,86,85,84,83,82,81},
                                        { 80,79,78,77,76,75,74,73,72,71},
                                        { 70,69,68,67,66,65,64,63,62,61},
                                        { 60,59,58,57,56,55,54,53,52,51},
                                        { 50,49,48,47,46,45,44,43,42,41},
                                        { 40,39,38,37,36,35,34,33,32,31},
                                        { 30,29,28,27,26,25,24,23,22,21},
                                        { 20,19,18,17,16,15,14,13,12,11},
                                        { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1},
                                        
                                        };
                                        
        
        
        
    }
    
    // without converting the board other than int[][], this method will always ensure that
    //all values of the enum
    //since the 
    public void assignSnakesLadders()
    {
        checkSnakesLadder();
        
    }
    
     public void setGrid()
    {
        
    }
    
}

public class Main
{
    public static void main(String[] args) {
        System.out.println("Welcome to Online IDE!! Happy Coding :)");
        
        SnakesLadders sl = new SnakesLadders();
        
        /*
        int [][][] test = new int [][][] {   //first row  can have multiple arrays(of various sizes)... 
                                            {  {1,2},  {3,4,5}              },
                                            {  {6}, {7,8,9},  {0}           }
                             
                                          };
                                          
        System.out.println("Practice getting values out:");
        System.out.println("should print 1: " + test[0][0][0]);
        System.out.println("should print 2: " + test[0][0][1]);
        System.out.println("should print 3: " + test[0][1][0]);
        System.out.println("should print 4: " + test[0][1][1]);
        System.out.println("should print 5: " + test[0][1][2]);
        System.out.println("should print 5: " + test[1][0][0]);
        System.out.println("should print 7: " + test[1][1][0]);
        System.out.println("should print 8: " + test[1][1][1]);
        System.out.println("should print 9: " + test[1][1][2]);
        System.out.println("should print 0: " + test[1][2][0]);
        */                                  
}
}
