Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Guten Tag,

ich habe mir einen Skript raus gesucht, um meinen eigenen etwas zu verbessern. Allerdings habe ich nun ein Problem mit den Objekten.

Code:

import sum.kern.*;

/**

 * @author Philip WOLtersdorf

 * @version 1.0

 */

public class HP

{

	// Objekte


	Bildschirm   	derBildschirm;

	Tastatur     	dieTastatur;

	Maus         	dieMaus;

	Stift        	hatStift; 

	Knopf        	Knopf;

	Knopf        	Knopf2;


	Figur        	dummy;

	Lokomotive   	dieLok;

	PersonenWaggon   derPer;

	OelWaggon    	derOel;

	HolzWaggon   	derHol;


	// Konstruktor

	public HP()

	{

    	derBildschirm = new Bildschirm(333,333);

    	dieTastatur = new Tastatur();

    	dieMaus = new Maus();

    	hatStift = new Stift();

    	Knopf = new Knopf(derBildschirm.breite()/3-25   ,derBildschirm.hoehe()-50,25,50,dieMaus,'E');

    	Knopf2 = new Knopf(derBildschirm.breite()/3*2-25,derBildschirm.hoehe()-50,25,50,dieMaus,'S');


    	dieLok = new Lokomotive(derBildschirm.breite()/4,derBildschirm.hoehe()/2,dieMaus);


    	derPer = new PersonenWaggon(derBildschirm.breite()/3-50,derBildschirm.hoehe()/8,dieMaus);

    	derOel = new OelWaggon(derBildschirm.breite()/3*2-50,derBildschirm.hoehe()/8,dieMaus);

    	derHol = new HolzWaggon(derBildschirm.breite()/3*3-50,derBildschirm.hoehe()/8,dieMaus);

    	dieLok.zeichneDich();

    	dummy = dieLok;

	}


	// Dienste

	public void fuehreAus()

	{

    	// Aktionsteil

    	hatStift.bewegeBis(0,derBildschirm.hoehe()/4);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4);

    	hatStift.hoch();


    	hatStift.bewegeBis(0,derBildschirm.hoehe()/4+10);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),derBildschirm.hoehe()/4+10);

    	hatStift.hoch();


    	hatStift.bewegeBis(0,(derBildschirm.hoehe()/4)*3);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),(derBildschirm.hoehe()/4)*3);

    	hatStift.hoch();


    	hatStift.bewegeBis(0,((derBildschirm.hoehe()/4)*3)-10);

    	hatStift.runter();

    	hatStift.bewegeBis(derBildschirm.breite(),((derBildschirm.hoehe()/4)*3)-10);

    	hatStift.hoch();

    	do

    	{

        	if(dieMaus.doppelKlick())

        	{

            	if(derPer.getroffen())

            	{   

                	dummy = dieLok;

                	while (dummy.nenneNachfolger() != null)

                	{

                    	dummy = dummy.nenneNachfolger();

                	}

                	dummy.kuppelAn(new PersonenWaggon(0,0,dieMaus));

                	do

                	{

                    	dieLok.bewegeDich(-1);   	

                	}while (dummy.nennehPosition() > derBildschirm.breite()/2);

            	} 	


            	if(derOel.getroffen())

            	{

                	dummy = dieLok;

                	while (dummy.nenneNachfolger() != null)

                	{

                    	dummy = dummy.nenneNachfolger();

                	}

                	dummy.kuppelAn(new OelWaggon(0,0,dieMaus));

                	do

                	{

                    	dieLok.bewegeDich(-1);   	

                	}while (dummy.nennehPosition() > derBildschirm.breite()/2);

            	}


            	if(derHol.getroffen())

            	{

                	dummy = dieLok;

                	while (dummy.nenneNachfolger() != null)

                	{

                    	dummy = dummy.nenneNachfolger();

                	}  

                	dummy.kuppelAn(new HolzWaggon(0,0,dieMaus));

                	do

                	{

                    	dieLok.bewegeDich(-1);   	

                	}while (dummy.nennehPosition() > derBildschirm.breite()/2);

            	}


            	if(Knopf.getroffen())

            	{

                	Knopf.aktiviere();

                	dummy = dieLok;

                	if(dieLok.nenneNachfolger() != null)

                	{

                    	while (dummy.nenneNachfolger().nenneNachfolger() != null)

                    	{

                        	dummy = dummy.nenneNachfolger();

                    	}

                    	dummy.entferneNachfolger();

                    	do

                    	{

                        	dummy = dieLok;

                    	while (dummy.nenneNachfolger() != null)

                    	{

                        	dummy = dummy.nenneNachfolger();

                    	}

                    	dieLok.bewegeDich(+1);

                    	}while (dummy.nennehPosition() < derBildschirm.breite()/2);

                	}

                	Knopf.deaktiviere();

            	}


            	if(Knopf2.getroffen())

            	{

                	Knopf2.aktiviere();

                	do

                	{

                    	dieLok.bewegeDich(+5);

                	}while (dieLok.nennehPosition() < derBildschirm.breite()/2);

                	do

                	{

                    	dieLok.bewegeDich(-1);   

                	}while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);

                	Knopf2.deaktiviere();

            	}

        	}


	}while (dummy.nennehPosition()+dummy.nenneLaenge()+1 > 0);


    	// Aufraeumen

    	dieTastatur.gibFrei();

    	derBildschirm.gibFrei();

    	dieMaus.gibFrei();

    	hatStift.gibFrei();

    	Knopf.gibFrei();

    	Knopf2.gibFrei();


    	derPer.gibFrei();

    	derOel.gibFrei();

    	derHol.gibFrei();

    	dieLok.gibFrei();

	}

}

Folgender Fehler kommt:

Cannot find symbol - class Knopf

Wo liegt der Fehler?

MfG

Aber am Anfang wird doch angegeben welches Objekt was darstellen soll.

Wie kann ich das Problem denn im Code ändern / verbessern?

Das sagt mir jetzt leider nicht sehr viel, zur Verbesserung. Ich weiss nun das er die Klasse nicht erkennt. Aber wie löse ich das Problem?

Der Befehl wird ausschließlich in der Datei benutzt.

Und was genau soll mein Classpath sein? Ich komme leider nicht weiter.

Das Classpath der Klassenpfad ist ist mir schon klar, danke aber für das dumm halten.

Wir haben nichts anderes mit den Klassen im Unterricht gemacht.

Nur mit dem Stift zum beispiel.

Stift hatStift;

und dann erkennt er den Stift an. Und so müsste es doch mit dem Knopf doch auch gehen, eigentlich...

und dann erkennt er den Stift an. Und so müsste es doch mit dem Knopf doch auch gehen, eigentlich...

Den Quellcode den Du postest benutzt keine standardisierten Klassen / Pakete, somit ist das alles irgendwie individuell entwickelt. Und wenn Du weisst wofür der Classpath gedacht ist, was hätte es Dich daran gehindert nach zu schauen, ob die von Dir verwendeten Klassen vorhanden sind

"Knopf" gibt es in der Klasse von BlueJ nicht. Ist also ein eigener Befehl.

Wir hatten bisher nur die Varianten mit double, private, protected, wovon hier nichts zutreffend passen würde. Deshalb komme ich im moment nicht weiter

MfG

Knopf ist wie HP eine Klasse, die nicht zum Umfang der mit Java ausgelieferten Klassen gehört. Inhaltlich gehört sie wohl in das gleiche Paket wie Bildschirm, Tastatur, Maus und Stift.

Damit sind es wahrscheinlich Klassen die durch deinen Lehrer(?) bereitgestellt werden bzw. von der Person, die den Quellcode "bereitgestellt" hat.

Leider nein, sonst würde meine Frage ja nicht bestehen.

Wir haben die Klasse "Figur" (Abstract) bekommen und das "Grundgerüst" vom HP.

Sprich public void fuehreAus()

etc.

Den inhalt müssen wir mit einigen Tipps selbst erstellen. Genau deshalb komme ich nicht weiter. Die Wagen habe ich bereits alle fertig, das einzige was gerade noch am scheitern ist ist das HP.

mfg

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.