嗨,我目前正在编写一个虚拟宠物风格的应用程序,我为宠物的基础创建了一个名为 Pet.class 的类
package com.grim.droidchi;
public class Pet {
public static int Health = 100;
public static int Happiness = 10;
public static int Level = 1;
public static int Hunger = 0;
public static int Exp = 0;
public static String Name;
public static Boolean isAlive = true;
public static Boolean isSick = false;
public Pet(int startHealth, int startLevel, int startHunger) {
}
}
还有一个扩展基本宠物类的“狗”类
package com.grim.droidchi;
public class Dog extends Pet {
public Dog(int startHealth, int startLevel, int startHunger) {
super(startHealth, startLevel, startHunger);
}
}
每 30 分钟一个 AlarmManager 触发我的 Gameloop.class
package com.grim.droidchi;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.util.Log;
import android.widget.TextView;
public class Gameloop extends BroadcastReceiver {
MediaPlayer mp = null;
private static final String TAG = "VPET";
@Override
public void onReceive(Context context, Intent intent) {
Log.d(TAG, "Loop running");
if (Pet.isAlive == true) {
Pet.Hunger = Pet.Hunger + 1;
Pet.Exp = Pet.Exp + 2;
Pet.Happiness = Pet.Happiness - 1;
mp = MediaPlayer.create(context, R.raw.beep);
mp.start();
petLevel();
petStatus();
randomEncounters();
} else {
}
}
private void petLevel() {
}
private void randomEncounters() {
if (Math.random() < 0.20) {
Pet.isSick = true;
}
}
private void petStatus() {
if (Pet.Hunger > 7) {
Pet.isAlive = false;
}
}
}
如何让 Gameloop 中的操作取决于用户决定选择的特定宠物?(假设我创造了更多的宠物类型。)
PS 同样作为这个问题的旁注,实现保持 UI 始终从 Gameloop 类保持最新的最佳方法是什么?
任何帮助将不胜感激。我仍在学习 Java 和 Android,有时即使在所有好的学习材料中也很难找到具体/问题的答案。
谢谢你。