This was actually kinda relaxing. My thesis is stressing me out big time and this was a good way to unwind.
using System;
using System.Linq;
using System.Collections.Generic;
public class TierList {
public static void TierListPrinter(Dictionary<string, string[]> tL, string[] tiers) {
foreach (string tier in tiers) {
if (!tL.Keys.Contains(tier))
continue;
var mons = tL[tier].First();
foreach (string mon in tL[tier][1..])
mons += ", " + mon;
Console.WriteLine(tier + " Tier: " + mons);
}
}
public static void Main() {
string[] tiers = { "Supreme Deity", "S", "A", "B", "C", "D", "E", "F" };
string[] monsters = { "Arborgias", "Angelion", "Novadrake", "Rexotyrant", "Apollodrake", "Nulltron", "Kunomi", "Tezcacoatl", "Tezcatlipoca", "Sacrumega", "Jerbo", "C.W. Roseus", "Atrahasis", "A.S. Bulwark", "Malwing", "Razoray", "Kanna", "Aethereon", "Magmarinus", "Shieldragon", "Milgon", "Deodragon", "Captain Canine" }; // a sample of monsters
Dictionary<string, string> monAndTier = new();
Dictionary<string, string[]> tierList = new();
foreach (var mon in monsters) {
if (mon == "Arborgias")
monAndTier.Add(mon, "Supreme Deity");
else {
var tier = tiers[1..].OrderBy(x => new Random().Next()).First();
monAndTier.Add(mon, tier);
}
}
foreach (var group in monAndTier.GroupBy(x => x.Value)) {
var mons = group.Select(x => x.Key).ToArray();
tierList.Add(group.Key, mons);
}
TierListPrinter(tierList, tiers);
}
}