在游戏中保持 运行 总计数的最佳方法
Best way to keep a running total count in a game
我正在使用 Java 制作游戏。我是初学者程序员。这是一款奇幻RPG类游戏。游戏即将到来,我即将进行库存系统。有店主,这些店主的存货有限。我还在学习内存管理和消耗,所以我的问题如下。
如果 Laurel 是店主,那么跟踪 Laurel 的 10 种药水的最有效方法是否类似于
static int laurelInventory = 10;
然后当英雄购买药水时,它会很简单:
laurelInventory = laurelInventory - qtyPurchased;
我想了解的是我 运行 是否会经常使用 static 遇到麻烦,或者是否有更好的方法来存储 运行ning 计数和总数。与担心我创建的实例和管理该实例相比,这对我来说更加清晰。
对于内存管理的任何额外反思也+1
创建一个 ShopOwner class,它将有一个带有 IncrementInventory 和 DecrementInventory 操作的库存变量。然后,您可以将 class 实例化为月桂树。但是,我建议您阅读有关面向对象的软件设计的内容。看看设计模式。
使用 Java 和其他面向对象的语言,您希望为域中的各种 "things" 创建对象。因此,您可能有一个带有实例的 Store class 而不是静态变量。例如
public class Store {
// In real life, probably per-item, but keeping it simple here.
private int inventoryLevel;
public int getInventoryLevel() { return inventoryLevel; }
public void setInventoryLevel(int level) {
this.inventoryLevel = level;
}
public void increaseInventoryLevelBy(int amount) {
this.inventoryLevel += amount;
}
public void decreaseInventoryLevelBy(int amount) {
this.inventoryLevel -= amount;
}
}
然后设置商店:
Store laurelStore = new Store();
laurelStore.setInventoryLevel(500);
当有人想买东西时:
laurelStore.decreaseInventoryLevelBy(numPurchased);
等等
以这种方式做事有充分的理由(与使用静态变量相反),但这是一个很大的讨论,因此您会发现阅读面向对象编程以理解这些原因很有用。祝你好运。兄弟
我正在使用 Java 制作游戏。我是初学者程序员。这是一款奇幻RPG类游戏。游戏即将到来,我即将进行库存系统。有店主,这些店主的存货有限。我还在学习内存管理和消耗,所以我的问题如下。
如果 Laurel 是店主,那么跟踪 Laurel 的 10 种药水的最有效方法是否类似于
static int laurelInventory = 10;
然后当英雄购买药水时,它会很简单:
laurelInventory = laurelInventory - qtyPurchased;
我想了解的是我 运行 是否会经常使用 static 遇到麻烦,或者是否有更好的方法来存储 运行ning 计数和总数。与担心我创建的实例和管理该实例相比,这对我来说更加清晰。
对于内存管理的任何额外反思也+1
创建一个 ShopOwner class,它将有一个带有 IncrementInventory 和 DecrementInventory 操作的库存变量。然后,您可以将 class 实例化为月桂树。但是,我建议您阅读有关面向对象的软件设计的内容。看看设计模式。
使用 Java 和其他面向对象的语言,您希望为域中的各种 "things" 创建对象。因此,您可能有一个带有实例的 Store class 而不是静态变量。例如
public class Store {
// In real life, probably per-item, but keeping it simple here.
private int inventoryLevel;
public int getInventoryLevel() { return inventoryLevel; }
public void setInventoryLevel(int level) {
this.inventoryLevel = level;
}
public void increaseInventoryLevelBy(int amount) {
this.inventoryLevel += amount;
}
public void decreaseInventoryLevelBy(int amount) {
this.inventoryLevel -= amount;
}
}
然后设置商店:
Store laurelStore = new Store();
laurelStore.setInventoryLevel(500);
当有人想买东西时:
laurelStore.decreaseInventoryLevelBy(numPurchased);
等等
以这种方式做事有充分的理由(与使用静态变量相反),但这是一个很大的讨论,因此您会发现阅读面向对象编程以理解这些原因很有用。祝你好运。兄弟