我是编程的完整初学者,它是用于处理类的任务的,因此,如果这确实很明显,我们深感抱歉。对于此任务,我正在做一个简单的游戏,圆圈朝顶部漂浮,您必须键入屏幕上显示的字母才能一次弹出其中的一个。我完成了程序的大多数部分,除了使之正确,因此每个正确的字母笔划都删除了一个圆圈。我将如何去做?
int l=97;
int s=0;
int visa = 0;
Bubble[] bubbles = new Bubble[20];
void setup(){
size(640,360,P2D);
for (int i = 0; i< bubbles.length; i++){
bubbles [i] = new Bubble (random(40,40));
}
}
void draw(){
background(255);
char c=char(l);
fill(0, 102, 153);
textSize(22);
text("Press this letter: "+c,160, 100);//text(stringdata, x, y, width, height)
if(millis()< 300000000&&key==c)//30 seconds
{
l=int(random(97,122));s++;
}//here is where the score gets added! s++
//random(low, high)
for (int i = 0; i < bubbles.length; i++){
bubbles[i].display();
bubbles[i].acsend();
bubbles[i].top();
}
}
class Bubble{
float x;
float y;
float diameter;
float yspeed;
Bubble(float tempD){
x = random(width);
y = height;
diameter = tempD;
yspeed = random(0.5,1.5);
}
void display(){
stroke(255);
fill(60,120,200,100);
ellipse(x,y,diameter,diameter);
}
void acsend(){
if (y > 0){
y = y - yspeed;
x = x + random(-0.5, 0.5);
}
}
void top(){
if (y < diameter/2){
y = height;
x = random(width);
}
}
}
答案 0 :(得分:1)
将气泡的初始数量存储到变量中:
Bubble[] bubbles = new Bubble[20];
int noOfBubbles = bubbles.length;
使用keyPressed()
来评估是否按下了正确的键。
减少气泡数,增加分数并创建一个新的随机字符:
void keyPressed() {
char c=char(l);
if (key == c) {
if (noOfBubbles > 0) {
noOfBubbles --;
s ++;
l=int(random(97,122));
}
}
}
仅绘制剩余的气泡数(for (int i = 0; i < noOfBubbles; i++)
:
void draw(){
background(255);
fill(0, 102, 153);
textSize(22);
char c=char(l);
text("Press this letter: "+c,160, 100);//text(stringdata, x, y, width, height)
for (int i = 0; i < noOfBubbles; i++){
bubbles[i].display();
bubbles[i].acsend();
bubbles[i].top();
}
}