AI Attack Timeout

This commit is contained in:
Anthony Calosa
2024-11-14 19:11:25 +08:00
parent 919832cc06
commit e2c37d11e7
70 changed files with 1128 additions and 617 deletions

View File

@@ -18,6 +18,7 @@ import forge.screens.home.quest.DialogChooseFormats;
import forge.screens.home.quest.DialogChooseSets;
import forge.screens.match.controllers.CDetailPicture;
import forge.util.CollectionSuppliers;
import forge.util.CollectionUtil;
import forge.util.Localizer;
import javax.swing.*;
@@ -98,7 +99,7 @@ public class CardManager extends ItemManager<PaperCard> {
// Use standard sort + index, for better performance!
Collections.sort(acceptedEditions);
if (StaticData.instance().cardArtPreferenceIsLatest())
Collections.reverse(acceptedEditions);
CollectionUtil.reverse(acceptedEditions);
Iterator<CardEdition> editionIterator = acceptedEditions.iterator();
Entry<PaperCard, Integer> candidateEntry = null;
Entry<PaperCard, Integer> firstCandidateEntryFound = null;

View File

@@ -1,7 +1,6 @@
package forge.screens.deckeditor.controllers;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
@@ -14,6 +13,7 @@ import forge.item.InventoryItem;
import forge.item.PaperCard;
import forge.screens.deckeditor.CDeckEditorUI;
import forge.screens.deckeditor.views.VProbabilities;
import forge.util.CollectionUtil;
import forge.util.ItemPool;
import forge.util.MyRandom;
@@ -63,7 +63,7 @@ public enum CProbabilities implements ICDoc {
final List<String> cardProbabilities = new ArrayList<>();
final List<PaperCard> shuffled = deck.toFlatList();
Collections.shuffle(shuffled, MyRandom.getRandom());
CollectionUtil.shuffle(shuffled, MyRandom.getRandom());
// Log totals of each card for decrementing
final Map<PaperCard, Integer> cardTotals = new HashMap<>();

View File

@@ -13,6 +13,7 @@ import forge.game.GameFormat;
import forge.gui.SOverlayUtils;
import forge.localinstance.skin.FSkinProp;
import forge.model.FModel;
import forge.util.CollectionUtil;
import forge.util.Localizer;
import net.miginfocom.swing.MigLayout;
import forge.toolbox.FCheckBoxTree.FTreeNode;
@@ -467,7 +468,7 @@ public class DialogChooseSets {
FTreeNode setTypeNode = checkBoxTree.getNodeByKey(editionType);
if (setTypeNode != null){
List<FTreeNode> activeChildNodes = checkBoxTree.getActiveChildNodes(setTypeNode);
Collections.shuffle(activeChildNodes);
CollectionUtil.shuffle(activeChildNodes);
for (int i = 0; i < totalToSelect; i++)
checkBoxTree.setNodeCheckStatus(activeChildNodes.get(i), true);
}

View File

@@ -26,12 +26,12 @@ import forge.screens.deckeditor.controllers.CEditorDraftingProcess;
import forge.screens.deckeditor.views.VProbabilities;
import forge.screens.deckeditor.views.VStatistics;
import forge.toolbox.FOptionPane;
import forge.util.CollectionUtil;
import forge.util.Localizer;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -163,7 +163,7 @@ public enum CSubmenuDraft implements ICDoc {
for(int i = 0; i < maxDecks; i++) {
aiIndices.add(i);
}
Collections.shuffle(aiIndices);
CollectionUtil.shuffle(aiIndices);
aiIndices = aiIndices.subList(0, numOpponents);
for(int i : aiIndices) {

View File

@@ -2,7 +2,6 @@ package forge.view;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
@@ -10,6 +9,7 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TimeoutException;
import forge.util.CollectionUtil;
import org.apache.commons.lang3.time.StopWatch;
import forge.LobbyPlayer;
@@ -201,7 +201,7 @@ public class SimulateMatch {
} else {
log = g1.getGameLog().getLogEntries(GameLogEntryType.MATCH_RESULTS);
}
Collections.reverse(log);
CollectionUtil.reverse(log);
for (GameLogEntry l : log) {
System.out.println(l);
}