YetAnotherSpieskowcy / Carcassonne-Engine

Other
0 stars 1 forks source link

Check mid game score request #146

Open Kaszana102 opened 1 week ago

Kaszana102 commented 1 week ago

additionaly fixed checking meeple twice in mid game score. Meeple could be counted twice when it was in a middle of a road, and there was second meeple on a crossroad (on a different road), but calculating from that crossroad we would count first meeple again. Now added check to limit to road where meeple is on that tile, when midgamescore.

Fixes #134

Kaszana102 commented 2 days ago

Po polsku komentarz bo prościej i treściwiej.

Podczas sprawdzania midGameScore request w czasie rozgrywki zauważyłem, że w niektórych turach jest on źle liczony, a konkretnie przez drogi. Z racji, ze kafelki są sprawdzane wdg jakiejś kolejności, to może się zdarzyć sytuacja jak w teście TestMidGameScorePreventCalculatingSameMeepleOnRoadsMultipleTimes: image gdzie wpierw punktowany jest kafelek1 z meeplem, a potem kafelek5. Ale przez to, że była wywoływana metoda scoreRoads(), to ona punktowała wszystkie drogi na skrzyżowaniu, co powodało, że meeple na kafelku1 był drugi raz punktowany. Dlatego teraz jest zamiast scoreRoads na scoreRoadCompletion w metodzie ScoreMeeples, by temu przeciwdziałać

(wcześniej przekombinowałem dając nowy parametr, stąd go usunąłem, bo było prostsze rozwiązanie)