Не определено для вида (черепахи) - PullRequest
0 голосов
/ 26 октября 2018

Привет, я выполняю задание для своего класса, но у меня возникли проблемы с последней частью. В этой части я делал код для рисования некоторых фаз и создания мира с фоном рисунка и некоторыми привычными функциями. Я считаю, что код фаз - это проблема. Ребята, вы можете проверить и помочь мне с этим?

import java.awt.Color;

public class FaceCaptions
{
  public static void main(String [] args)
  {

    String filename;
    if (args.length > 0) {
// got a filename passed into program as a runtime parameter
      filename = args[0];
      System.out.println("Filename passed in: " + filename);
    } else {
// ask user for a picture
      filename = FileChooser.pickAFile();
      System.out.println("User picked file: " + filename);
    }
// use the filename to create the picture object
    Picture pic = new Picture(filename);
    pic.show();
    Turtle tim = new Turtle(424,906,pic);
    tim.setPenColor(Color.red);
    tim.setPenWidth(6);
    tim.penDown();
    tim.moveTo(440,1046);
    tim.moveTo(522,1133);
    tim.moveTo(597,1133);
    tim.moveTo(671,1063);
    tim.moveTo(688,1009);
    tim.moveTo(698,882);
    tim.moveTo(657,790);
    tim.moveTo(495,771);
    tim.moveTo(424,906);

// draw the features
    tim.moveTo(450, 910);
    tim.drawEyeglasses(450, 910, 5, Color.white);
    tim.moveTo(505, 1020);
    tim.drawMustache(505,1020, 2, Color.black);


//Create Phase 1
    tim.moveTo(400,1300);
    tim.turnLeft();
    tim.drawPhase1();


//Create Phase 2
    tim.moveTo(300,1450);
    tim.drawPhase2();

  }
      public static void drawPhase1()
    {
      TurtleAlphabet.drawABoldSize(tim, Color.blue, true, 1);
      TurtleAlphabet.drawWBoldSize(tim, Color.white, true, 1);
      TurtleAlphabet.drawKBoldSize(tim, Color.red, true, 1);
      TurtleAlphabet.drawWBoldSize(tim, Color.blue, true, 1);
      TurtleAlphabet.drawABoldSize(tim, Color.white, true, 1);
      TurtleAlphabet.drawRBoldSize(tim, Color.red, true, 1);
      TurtleAlphabet.drawDBoldSize(tim, Color.blue, true, 1);
    }


    public static void drawPhase2()
    {
      TurtleAlphabet.drawABoldSize(tim, Color.yellow, true, 1);
      TurtleAlphabet.drawWBoldSize(tim, Color.orange, true, 1);
      TurtleAlphabet.drawABoldSize(tim, Color.yellow, true, 1);
      TurtleAlphabet.drawRBoldSize(tim, Color.orange, true, 1);
      TurtleAlphabet.drawDBoldSize(tim, Color.yellow, true, 1);
    }
}

и вот ответы системы:

File: C:\Users\nhock\Desktop\School Work\UNCC Fall 2018\1212\ITIS_1212\bookClasses\FaceCaptions.java  [line: 45]
Error: The method drawPhase1() is undefined for the type Turtle
File: C:\Users\nhock\Desktop\School Work\UNCC Fall 2018\1212\ITIS_1212\bookClasses\FaceCaptions.java  [line: 50]
Error: The method drawPhase2() is undefined for the type Turtle
File: C:\Users\nhock\Desktop\School Work\UNCC Fall 2018\1212\ITIS_1212\bookClasses\FaceCaptions.java  [line: 55]
Error: Turtle cannot be resolved to a variable
File: C:\Users\nhock\Desktop\School Work\UNCC Fall 2018\1212\ITIS_1212\bookClasses\FaceCaptions.java  [line: 56]
Error: tim cannot be resolved to a variable
File: C:\Users\nhock\Desktop\School Work\UNCC Fall 2018\1212\ITIS_1212\bookClasses\FaceCaptions.java  [line: 57]
Error: tim cannot be resolved to a variable
etc..

1 Ответ

0 голосов
/ 26 октября 2018

tim.drawPhase1() и tim.drawPhase2() вызывают методы в классе Turtle или перехваченных методах, похоже, что эти методы определены для класса Turtle, измените код для статического использования методов drawPhase1,2 и передайте экземпляр Turtle

FaceCaptions.drawPhase1(tim);

FaceCaptions.drawPhase2(tim);


public static void drawPhase1(Turtle tim){
    TurtleAlphabet.drawABoldSize(tim, Color.blue, true, 1);
    TurtleAlphabet.drawWBoldSize(tim, Color.white, true, 1);
    TurtleAlphabet.drawKBoldSize(tim, Color.red, true, 1);
    TurtleAlphabet.drawWBoldSize(tim, Color.blue, true, 1);
    TurtleAlphabet.drawABoldSize(tim, Color.white, true, 1);
    TurtleAlphabet.drawRBoldSize(tim, Color.red, true, 1);
    TurtleAlphabet.drawDBoldSize(tim, Color.blue, true, 1);
}

public static void drawPhase2(Turtle tim){
    TurtleAlphabet.drawABoldSize(tim, Color.yellow, true, 1);
    TurtleAlphabet.drawWBoldSize(tim, Color.orange, true, 1);
    TurtleAlphabet.drawABoldSize(tim, Color.yellow, true, 1);
    TurtleAlphabet.drawRBoldSize(tim, Color.orange, true, 1);
    TurtleAlphabet.drawDBoldSize(tim, Color.yellow, true, 1);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...