84 lines
No EOL
1.9 KiB
C#
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];
|
|
}
|
|
}
|
|
} |