πŸ† Neo Monsters tier list (see first post) πŸ†

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);
        }
    }
9 Likes