我正在制作虚拟宠物游戏。在这个阶段,我已经加载了一个保存文件,但是当我开始包含核心功能时,程序没有运行。
我发现了这个:Badly formed character (expecting quote, got I) ~ Processing 这让我觉得这是我的加载功能的一个问题,但我是Processing的新手,我不知道如何调试它。
Creature creature;
String data[];
boolean gameInfo[];
int tempData[];
boolean food;
void setup() {
size(100,100);
String data[] = loadStrings("save.txt");
String[] tempData = split(data[0], ',');
gameInfo = int(tempData);
for (int i = 0; i < data.length; i++) {
creature = new Creature(gameInfo[0], gameInfo[1], gameInfo[2], gameInfo[3]);
}
food = false;
}
void draw() {
creature.think(food);
}
//creature class
class Creature {
boolean idle;
int hungry;
int age;
int gender;
int asleep;
Creature(int gender, int age, int hungry, int asleep) {
this.gender = gender;
this.age = age;
this.hungry = hungry;
this.asleep = asleep;
boolean idle = true;
}
void whatDo(boolean food) {
println('whatdo');
if (idle = true && hungry == true) {
if (food == true) {
creature.eat();
}
else
creature.ask();
}
}
void ask() {
if (hungry == true) {
println("HUNGRY");
}
}
void eat() {
println("EAT");
idle = false;
}
}
答案 0 :(得分:2)
好吧,正如您指出的链接所解释的那样,问题是单引号用于字符赋值,因此它应该是两个单引号之间的字符,如'c'
,而println()需要定义一个字符串在双引号"a string"
之间。只需用println('whatdo');
(双引号)替换第40行中的println("whatdo");
即可消除此错误。但是在修好之后我得到了其他错误。