Example #1
0
    public static ShipSetupModel[] DbLoadLastShipsSetup()
    {
        using (var db = new ApplicationDbContext())
        {
            int setupNumber = 4;

            ShipSetupDTO[] setup = db.ShipSetups.OrderByDescending(s => s.CreatedAt)
                                   .Take(setupNumber).ToArray();

            if (setup == null || setup.Length == 0)
            {
                return(null);
            }

            String[]         strSize;
            int[]            size;
            ShipSetupModel[] setupModels = new ShipSetupModel[setupNumber];

            for (int i = 0; i < setupNumber; i++)
            {
                strSize        = setup[i].Size.Split(';');
                size           = new int[] { int.Parse(strSize[0]), int.Parse(strSize[1]) };
                setupModels[i] = new ShipSetupModel(setup[i].Name, size, setup[i].ShipNumber);
            }

            return(setupModels);
        }
    }
Example #2
0
    /// <summary>
    /// @param pos The array of positions of the ship to generate.
    /// @param shipType The type of ship to generate.
    /// @return The generated ship.
    /// </summary>
    public static ShipModel GenerateShip(ShipType shipType, ShipSetupModel setup)
    {
        // TODO Load the parameters depending on the ship category
        String name;

        switch (shipType)
        {
        case ShipType.CARRIER:
            name = "Carrier";

            break;

        case ShipType.SUBMARINE:
            name = "Submarine";

            break;

        case ShipType.DESTROYER:
            name = "Destroyer";

            break;

        case ShipType.BATTLESHIP:
            name = "Battleship";

            break;

        case ShipType.BIREME:
            name = "Bireme";

            break;

        case ShipType.CARAVEL:
            name = "Caravel";

            break;

        case ShipType.DRAKKAR:
            name = "Drakkar";

            break;

        default:
            return(null);
        }

        return(new ShipModel(name, setup));
    }