PuzzleGame/DungeonMapGenerator/DungeonMapGenerator/Lock.cs

84 lines
No EOL
1.9 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using DiceProbabilities;
using Newtonsoft.Json;
namespace DungeonMapGenerator
{
public class Lock
{
public static readonly List<Lock> NormalLocks = new List<Lock>()
{
new Lock("="),
new Lock("4"),
new Lock("5"),
new Lock("6"),
new Lock("7"),
new Lock("8"),
new Lock("9"),
new Lock("10"),
};
public static readonly List<Lock> HardLocks = new List<Lock>()
{
new Lock("3"),
new Lock("11")
};
public static readonly List<Lock> VeryHardLocks = new List<Lock>()
{
new Lock("2"),
new Lock("12")
};
[JsonProperty("LockType")]
private string _lockType;
public static Lock GetRandomVeryHardLock()
{
return GetRandomLockFromList(VeryHardLocks);
}
public static Lock GetRandomHardLock()
{
return GetRandomLockFromList(HardLocks);
}
public static Lock GetRandomNormalLock()
{
return GetRandomLockFromList(NormalLocks);
}
private static Lock GetRandomLockFromList(List<Lock> list)
{
Random random = new Random();
return new Lock(list[random.Next(0, list.Count())].GetLock());
}
public Lock()
{
}
public Lock(string lockType)
{
_lockType = lockType;
}
public void SetLockType(string lockType)
{
_lockType = lockType;
}
public string GetLock()
{
return _lockType;
}
public float GetOdds()
{
return RollFourSumTwo.ResultOddsmapping[_lockType];
}
}
}