Hallo StageTwo !
Ich komme bei dieser Aufgabe leider nicht weiter und ich hoffe das ihr mir helfen könnt :>
- import java.applet.*;
- import java.awt.*;
- import java.awt.event.*;
- public class Igel_GUI_V1_110530_mit_Aufträgen extends Applet implements ActionListener
- {
- Igel igel;
- Button b;
- Graphics g;
- public void init()
- {
- resize ( 1024, 800 );
- g = getGraphics();
- b = new Button ("Los!");
- add ( b );
- b.addActionListener ( this );
- igel = new Igel ( g, 100, 100, 0);
- }
- public void actionPerformed ( ActionEvent e )
- {
- igel.zeichneDich ( Color.red );
- igel.vor(100);
- igel.zeichneDich(Color.red);
- }
- }
- class Igel
- {
- Graphics g;
- int x, y, ri;
- public Igel ( Graphics pg, int px, int py, int pri )
- // Position des Zeichenpunkts, Richtung
- {
- g = pg;
- x = px;
- y = py;
- ri = pri;
- }
- public void zeichneDich ( Color c )
- {
- g.setColor ( c );
- switch ( ri )
- {
- case 0:
- {
- g.drawLine ( x-10, y , x+10, y );
- g.drawLine ( x+10, y , x , y-10);
- g.drawLine ( x , y-10, x-10, y );
- break;
- }
- }
- }
- public void vor ( int pdist )
- {
- int altx=x;
- int alty=y;
- switch(ri)
- {
- case 0:
- {
- y=y-pdist;
- break;
- }
- case 3:
- {
- y=y+pdist;
- break;
- }
- }
- g.drawLine(altx,alty,x,y);
- }
- public void rechts ( )
- {
- }
- }
Und das sind die Aufgaben:
Ausbauschritte zum Programm Igel_GUI_V1:
1) Das Programm zeigt einen Igel in Richtung 0, also in Nordrichtung.
2) actionPerformed(...) besteht aus
igel.zeichneDich(Color.red);
igel.vor(100);
igel.zeichneDich(Color.red);
und diese Anweisungen werden für Richtung 0 korrekt ausgeführt.
3) wie 1) und 2), aber beides für Richtung 3 ( Südrichtung ).
4) wie 1) und 2), aber beides für Richtung 1 ( von Nordrichtung aus um
60° nach rechts gedreht ).
Hinweis: Überlege dir, welche Koordinaten der Punkt P mit den
Ausgangskoordinaten (x/y) hat, nachdem er um 100 LE in
Richtung 1 verschoben wurde.
Verwende Sinus und Kosinus !
5) Das Programm kann vor(...) und zeichneDich(...) für alle sechs
Richtungen ausführen.
6) Die Methode dreheRechts() funktioniert.
7) Das Programm zeichnet einen 200 LE langen Weg, der in der Mitte um
60° geknickt ist.
Es zeichnet ein Sechseck.
9) Es zeichnet ein dreifach umzäuntes Sechseck.
Ich brauche nur beim Punkt 4 Hilfe.
Ich habe dort ein Problem mit der Drehung des Dreiecks.
Man muss denke ich mal iwas mit Sinus und Cosinus machen, aber ich weiß nicht wie das gehen soll.
Danke, Kuh.