gpt4 book ai didi

java - 配对游戏-setCard方法

转载 作者:行者123 更新时间:2023-12-01 12:29:27 24 4
gpt4 key购买 nike

尝试创建一个接受“数字”的方法,然后使用该数字,它会进入全局 arraylist <string>并使用一系列 if-else 语句将位置“number”的图标更改为某个图标。

问题是我不知道如何调用该位置。

如果没有方法,我会这样编码;

card1.seticon(a);

我会手动为所有 if-else 语句以及 arraylist 中的所有项目执行此操作。 .

如何使其动态化,以便“卡”后面的数字以相同的方法不断变化?

这是我到目前为止的方法,我想用变量或动态的东西替换这些方法:

 public void setCards(int cardNumber) { 
String temp = cards.get(cardNumber);
switch (temp) {
case "0":
card1.setIcon(a);
break;
case "1":
Card1.setIcon(b);
break;
case "2":
Card1.setIcon(c);
break;
case "3":
Card1.setIcon(d);
break;
case "4":
Card1.setIcon(e);
break;
case "5":
Card1.setIcon(f);
break;
case "6":
Card1.setIcon(g);
break;
case "7":
Card1.setIcon(h);
break;
}
}

最佳答案

为所有实例创建继承树。

abstract class Card {
protected String icon;

public Card(String icon) {
this.icon = icon;
}

public String getIcon() {
return this.icon;
}
}

这是子类的示例:

class CardA extends Card {
public CardA() {
super("Icon A");
}
}

对你的所有卡片做类似的事情。之后您可以执行以下操作:

List<Card> cardList = new ArrayList<Card>();
cardList.add(new CardA());
cardList.add(new CardB());

假设你想迭代它:

for(Card card : cardList) {
System.out.println(card.getIcon());
}

这将打印:

 Icon A
Icon B

如您所见,通过此过程,您可以创建和添加任何子类,而不必修改以前创建的类。

关于java - 配对游戏-setCard方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26060471/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com