Udtræk fra Dictionary<Player, Point> hvor koordinater er ens
Jeg er ved at udvikle et brætspil. I løbet af spillet kan nogle spillere komme til at kollidere med hinanden. Da to spillere ikke har mulighed for at være på samme felt på samme tid, skal jeg have afgjort hvad der så skal ske med dem.Jeg har indtil videre en Dictionary<Player, Point> hvor jeg skal have kontrolleret om nogle af de Point der findes, er i konflikt med hinanden, dvs. har samme koordinater.
F.eks. har jeg følgende datasæt:
PlayerA; 10,2
PlayerB; 12,4
PlayerC; 28,12
PlayerD; 10,2
PlayerE; 23,18
PlayerF; 0,9
PlayerG; 16,16
PlayerH; 16,16
PlayerI; 31,5
PlayerJ; 28,12
Min indledende idé var at få splittet datasættet op i to dictionaries. Én med alle de Points der ikke er i konflikt med andre, og én med alle de Points der er i konflikt med hinanden. Sidstnævnte må gerne være grupperet efter Point. Rækkefølgen på spillerne er ligegyldig. Eksempelvis:
Dictionary 1 - ikke i konflikt:
PlayerB; 12,4
PlayerE; 23,18
PlayerF; 0,9
PlayerI; 31,5
Dictionary 2 - i konflikt, grupperet:
PlayerA; 10,2
PlayerD; 10,2
PlayerG; 16,16
PlayerH; 16,16
PlayerC; 28,12
PlayerJ; 28,12
Herefter skulle det være en smal sag at gennemløbe dem, og behandle de konflikter der nu måtte være.
Hvordan gøres det smartest? Og er der andre metoder som kunne være bedre til formålet?
Til testformål kan Player objektet blot erstattes af en string. Det er ligegyldigt i denne sammenhæng.