如何在我的课堂上为一个飞扬的鸟程序实现链表。现在我收到"无法解析到字段"的错误



我有一个模型、视图和管类,我不知道发生了什么。

import java.util.Random;
import java.util.LinkedList;
import java.util.ListIterator;
class Model
{
    Bird bird;
    Random r = new Random();
    LinkedList<Tube> tubes;

    Model() {
        this.bird = new Bird();
        this.tubes = new LinkedList<Tube>();
        tubes.add(new Tube(r));
    }
    public void update() {
        this.bird.update();
        //this.tube.setPosition();
        //this.tube.update();
        ListIterator<Tube> tIterator = tubes.listIterator();
        while (tIterator.hasNext()){
            System.out.println("Another Tube");
        }
    }
    public void onClick(int x, int y) {
        this.bird.setDestination();
        this.bird.flap();
    }
}

下面的这个类是我得到错误的地方。

import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Image;
import javax.imageio.ImageIO;
import java.io.IOException;
import java.awt.Graphics;
import java.io.File;
class View extends JPanel {
    Model model;
    Image bird_image;
    Image bird_image_flap;
    Image tube_image;
    Image tube_image_down;
    View(Model m) throws IOException {
        this.model = m;
        this.bird_image = ImageIO.read(new File("bird1.png"));
        this.bird_image_flap = ImageIO.read(new File("bird2.png"));
        this.tube_image = ImageIO.read(new File("tube_up.png"));
        this.tube_image_down = ImageIO.read(new File("tube_down.png")); 
    }
    public void paintComponent(Graphics g) {
        if(this.model.bird.flapped){
            g.drawImage(this.bird_image_flap, this.model.bird.x, this.model.bird.y, null);
        } else {
            g.drawImage(this.bird_image, this.model.bird.x, this.model.bird.y, null);
        }   
        if(this.model.tubes.isItUp){
            g.drawImage(this.tube_image, this.model.tubes.tube_x, this.model.tubes.tube_y, null);
        } else {
            g.drawImage(this.tube_image_down, this.model.tubes.tube_x, this.model.tubes.tube_y - 400, null);
        }
    }
}

第 32 行下方有多个标记。一个是"管子无法解析或不是场"。另一个是"isItUp 无法解析或不是字段"我做错了什么?

问题是这条线,对吧? if(this.model.tubes.isItUp){"模型"变量上的字段"tubes"的类型是"LinkedList",所以我怀疑它有一个字段"isItUp"。 您尝试使用的"isItUp"字段在哪里? 它是在管子对象上吗? 如果是这样,那么你需要从列表中获取相关的实例(例如this.model.tubes.elementAt(0).isItUp)。

相关内容

  • 没有找到相关文章

最新更新