www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Sonstiges - Informatik" - Delphie in Java Umschreiben
Delphie in Java Umschreiben < Sonstige < Schule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Delphie in Java Umschreiben: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 11:38 So 13.12.2009
Autor: su92

Aufgabe
Die Folgende Java Programm ist eine Umschreibung von dem Niki Spiel,
die in Delphie - Programm geschrieben wurde.
Verändere das Niki Spiel die im Java geschrieben wurde so, dass der Niki-Roboter folgendes tut:

Er soll alle Körner im Spielfeld aufsammeln und an die obere rechte Ecke bringen.
Wobei er nicht weiß, wieviele Körner im Spielfeld vorhanden sind.
Wenn Niki alle Körner im Spielfeld aufgesammelt hat, dann soll das Spiel beendet werden.

Hallo,

ich habe bis Morgen einen Arbeitsauftrag bekommen, die ich leider alleine nicht schaffe.
War leider eine lange Zeit, durch gesundheitlichen Gründen nicht in der Schule anwesend.

Ich habe einen fertig geschriebenen Java Programm, in dem ein Niki Roboter über die Treppen im Spielfeld geht.

Das Spiel wurde von der Delphie Program in Java Programm umschrieben.

Meine Aufgabe ist, das ich das umgeschriebene Programm verändere.
Der Niki-Roboter soll die Körner im Spielfeld aufsammeln und sie auf die rechte, obere Ecke des Spielfeldes bringen.
Niki weiß aber nicht wieviele Körner im Spielfeld sind, dass heißt, er muss das ganze Spielfeld einmal überprüfen.
(Doch leider weiß Niki nicht wie groß das Spielfeld ist...Wenn Niki an einem Mauer stürtzt soll das Programm nicht beendet werden, denn er muss doch das ganze Spielfeld überprüfen.Ich weiß, aber nicht wie Niki überprüfen kann ob vor ihm ein Mauer ist oder nicht.)

Ich  habe versucht einen Programm zu schreiben, doch ich befürchte es ist nicht richtig.!

Im Anhang befindet sich  das Niki-Spiel, das im Java-Programm unschrieben wurde und das Java Programm, die ich veruscht habe zu verändern.

Ich würde mich sehr freuen, wenn jemand mir Tipps geben würde wie ich das Programm so ändern könnte, sodass Niki alle Körner aufsamnmelt und an die obere rechte Ecke des Spielfeldes bringt.

Ich komme alleine nicht weiter =( Würde mich auf jede weiterführende Hilfe freuen :D

Bedanke mich im voraus :)
LG
Su

[a]Datei-Anhang
[a]Datei-Anhang
[a]Datei-Anhang

Dateianhänge:
Anhang Nr. 1 (Typ: pdf) [nicht öffentlich]
Anhang Nr. 2 (Typ: wps) [nicht öffentlich]
Anhang Nr. 3 (Typ: wps) [nicht öffentlich]
        
Bezug
Delphie in Java Umschreiben: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:51 So 13.12.2009
Autor: su92

Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)
Eingabefehler: "{" und "}" müssen immer paarweise auftreten, es wurde aber ein Teil ohne Entsprechung gefunden (siehe rote Markierung)

hey,
falls ihr die Angehängten dateien nicht öffnet könnt hab ich sie hier nochmal kopiert:



1. Das Umgeschriebene Niki-Spiel vom Delphie Programm in Java Programm



0001 // Application :  niki01.java
0002
0003 // Klassendefinition
0004 public class niki01 {
0005
0006 // Deklaration
0007 static char feld[][] = { {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0008 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0009 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0010 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0011 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0012 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0013 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0014 {' ', ' ', ' ', ' ', ' ', 'O', ' ' ,' ', ' ', ' '},
0015 {' ', ' ', ' ', ' ', 'O', ' ', 'O' ,' ', ' ', ' '},
0016 {' ', ' ', ' ', 'O', ' ', ' ', ' ' ,'O', ' ', ' '},
0017 };
0018
0019 static int niki_x = 0, niki_y = 9, richtung = 0;
0020 static char niki[] = {'>', '^', '<', 'v'};
0021
0022
0023 // Methoden
0024 static void zeigeFeld() {
0025 for (int y=0; y<10; y++) {
0026
0027 for (int x=0; x<10; x++) {
0028 if (x != niki_x | y != niki_y)
0029 System.out.print(feld[y][x]);
0030 else
0031 System.out.print(niki[richtung]);
0032 } // for x
0033
0034 System.out.println();
0035
0036 } // for y
0037 } // zeigeFeld
0038
0039 static void vor() {
0040 switch (richtung) {
0041 case 0 : {niki_x++; break;}  // nach rechts
0042 case 1 : {niki_y--; break;}  // nach oben
0043 case 2 : {niki_x--; break;}  // nach links
0044 case 3 : {niki_y++; break;}  // nach unten
0045 } // switch
0046
0047 checkNiki();
0048
0049 zeigeFeld();
0050 } // vor
0051
0052 static void links() {
0053 richtung++;
0054 if (richtung > 3)
0054A richtung = 0;
0055
0056 zeigeFeld();
0057 } // links
0058
0059 static void checkNiki() {
0060 if ( niki_x > 9 || // Arbeitsfeld verlassen
0061 niki_y > 9 ||
0062 niki_x < 0 ||
0063 niki_y < 0 ||
0064 feld[niki_y][niki_x] != ' ' // Feld besetzt
0065   ) {
0066   System.out.println("Niki kommt so nicht weiter!");
0067   System.exit(0); // Programmabbruch
0068 } // if
0069 } // checkNiki
0070
0071

0072 // Haupt-Methode
0073 public static void main(String[] args) {
0074 zeigeFeld();
0075 vor();
0076 links();
0077 links();
0078 links();
0079 links();
0080 vor();
0081 vor();
0082 links();
0083 links();
0084 links();
0085 vor();
0086 } // main
0087
0088 } // application


___________________________________________________________

2. Das java Programm die ich versucht hab zu verändern...
(ich habe zum Schluss auch parr Anmerkungen geschrieben zu verständniss )


0001 // Application :  niki01.java
0002
0003 // Klassendefinition
0004 public class niki01 {
0005
0006 // Deklaration
0007 static char feld[][] = { {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0008 {' ', 'O', ' ', ' ', 'O', ' ', ' ' ,' ', ' ', ' '},
0009 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0010 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0011 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0012 {' ', 'O', 'O', ' ', 'O', ' ', ' ' ,' ', ' ', ' '},
0013 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0014 {' ', ' ', ' ', 'O', ' ', ' ', ' ' ,' ', ' ', ' '},
0015 {' ', ' ', ' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
0016 {' ', 'O ', ' ', ' ','O', ' ', ' ' ,' ', ' ', ' '},
0017 };
0018
0019 static int niki_x = 0, niki_y = 9, richtung = 0;
0020 static char niki[] = {'>', '^', '<', 'v'};
0021
0022
0023 // Methoden
0024 static void zeigeFeld() {
0025 for (int y=0; y<10; y++) {
0026
0027 for (int x=0; x<10; x++) {
0028 if (x != niki_x | y != niki_y)
0029 System.out.print(feld[y][x]);
0030 else
0031 System.out.print(niki[richtung]);
0032 } // for x
0033
0034 System.out.println();
0035
0036 } // for y
0037 } // zeigeFeld
0038
0039 static void vor() {
0040 switch (richtung) {
0041 case 0 : {niki_x++; break;}  // nach rechts
0042 case 1 : {niki_y--; break;}  // nach oben
0043 case 2 : {niki_x--; break;}  // nach links
0044 case 3 : {niki_y++; break;}  // nach unten
0045 } // switch
0046
0047 checkNiki();
0048
0049 zeigeFeld();
0050 } // vor

} Static void Feld_rechts()
static int Feld_rechts_x = 9, Feld_rechts_y = 0;
                  }


Static void nimm_auf() {
while (feld[niki_y][niki_x] != ' ' // Feld besetzt)
then nimm_auf und bringe rechts }
}

0051
0052 static void links() {
0053 richtung++;
0054 if (richtung > 3)
0054A richtung = 0;
0055
0056 zeigeFeld();
0057 } // links
0058
0059 static void checkNiki() {
0060 while( niki_x > 9 || // Arbeitsfeld verlassen
0061 niki_y > 9 ||
0062 niki_x < 0 ||
0063 niki_y < 0 ||
0064 feld[niki_y][niki_x] != ' ' // Feld besetzt
Static void vor }
0065   ) {
0066   System.out.println("Niki kommt so nicht weiter!");
0067   System.exit(0); // Programmabbruch
0068 } // if
0069 } // checkNiki
0070
0071

0072 // Haupt-Methode
0073 public static void main(String[] args) {
0074 zeigeFeld();
0075 vor();
0076 links();
0077 links();
0078 links();
0079 links();
0080 vor();
0081 vor();
0082 links();
0083 links();
0084 links();
0085 vor();
0086 } // main
0087
0088 } // application


_________________________________________________________________________________________

Blau = muss  verändert werden, aber ic weiß nicht wie !!
Rot  = sollte meiner Meinung nach weg !
Grün = Eine Ergänzung von mir.

Anmerkungen:

- Die „0“ im Feld stehen für die Körner, die Niki- Roboter aufnehmen muss, und an die rechte Ecke oben
  Bringen muss.
- Habe versucht die Rechte Ecke vom Feld zu definieren, damit Niki weiß wo genau dich die rechte Ecke oben befindet !

  } Static void Feld_rechts()
static int Feld_rechts_x = 9, Feld_rechts_y = 0;
                  }


Static void nimm_auf() {
while (feld[niki_y][niki_x] != ' ' // Feld besetzt)
then nimm_auf und bringe rechts }
}
- Ich dachte diese Definition muss weg, weil Niki nicht mehr drei schritte nach rechts gehen muss, sondern das ganze Feld überprüfen muss.

0052 static void links() {
0053 richtung++;
0054 if (richtung > 3)
0054A richtung = 0;
0055
0056 zeigeFeld();
0057 } // links

- Daher hab ich hier eine While-Schleife eingesetzt, damit Niki das ganze Feld überprüft ( Wobei ich mir     nicht sicher bin, ob diese Anweisung richtig ist bzw. für die Aufgabe ausreichen würde !!)

0059 static void checkNiki() {
0060 while( niki_x > 9 || // Arbeitsfeld verlassen
0061 niki_y > 9 ||
0062 niki_x < 0 ||
0063 niki_y < 0 ||
0064 feld[niki_y][niki_x] != ' ' // Feld besetzt (hier ist wieder Rot- d.h. dies sollte weg !)
Static void vor }

- Zum Schluss kommt die Hauptmethode die Komplett verändert werden müsste.


Im Anhang ist das Programm als PDF datei gespeichert.
[a]Datei-Anhang


Dateianhänge:
Anhang Nr. 1 (Typ: pdf) [nicht öffentlich]
Bezug
                
Bezug
Delphie in Java Umschreiben: Körner ablassen
Status: (Frage) überfällig Status 
Datum: 18:01 So 13.12.2009
Autor: su92

Hi,
hab mal was versucht zu Programmieren.
Der Roboter sammelt die Körner..nun muss er sie an die rechte Ecke des Spielfeldes bringen. ich weiß nicht wie ich es ihn schreiben soll.

Das ist meine Programmierung :

// Application : niki01.java

// Klassendefinition
public class niki01 {

// Deklaration
static char feld[][] = { {' ', ' ',' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', ' ', ' ', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', ' ', 'O', ' ' ,' ', ' ', ' '},
{' ', ' ',' ', ' ', 'O', ' ', 'O' ,' ', ' ', ' '},
{' ', ' ',' ', 'O', ' ', ' ', ' ' ,'O', ' ', ' '} };

static int [mm] niki_x [/mm] = 0, [mm] niki_y [/mm] = 9, richtung = 0;
static char niki[] = {'>', '^', '<', 'v'};
static int gesammelt = 0;


// Methoden
static void zeigeFeld() {
for (int y=0; y<10; y++)
{

for (int x=0; x<10; x++)
{
if (x != [mm] niki_x [/mm] | y != [mm] niki_y) [/mm]
System.out.print(feld[y][x]);
else
System.out.print(niki[richtung]);
} // for x

System.out.println();

} // for y
} // zeigeFeld

static void vor()
{
switch (richtung) {
case 0 : [mm] {niki_x++; break;} [/mm] // nach rechts
case 1 : [mm] {niki_y--; break;} [/mm] // nach oben
case 2 : [mm] {niki_x--; break;} [/mm] // nach links
case 3 : [mm] {niki_y++; break;} [/mm] // nach unten
} // switch

checkNiki();

zeigeFeld();
} // vor

static void links()
{
richtung++;
if (richtung > 3)
richtung = 0;

zeigeFeld();
} // links


static void rechts()
{
richtung--;
if(richtung < 0)
richtung = 3;

zeigeFeld();
}// rechts eklenmis

static void ablassen(){

int zellen  = 100;

for (int y=0; y<10; y++)
{
for (int x=0; x<10; x++)
{
if(zellen >= gesammelt){
feld[x][y] = 'O';
}
else{
zellen = zellen -1;
}
}
}
}

static void checkNiki()
{
if ( [mm] niki_x [/mm] > 9 || // Arbeitsfeld verlassen
[mm] niki_y [/mm] > 9 ||
[mm] niki_x [/mm] < 0 ||
[mm] niki_y [/mm] < 0 )
{
// Hier soll er nicht abbrechen falls er an der Wand angekommen ist sondern nur wenn Niki arbeitsfeld verlässt
System.out.println("Niki kommt so nicht weiter!");
System.exit(0); // Programmabbruch
} else [mm] if(feld[niki_y][niki_x] [/mm] != ' '){ // Hier kommen wir an wenn Niki gegen ein Korn stößt!
[mm] feld[niki_y][niki_x] [/mm] = ' '; // Hier wird der Korn durch ein leeren Platz ersetzt
gesammelt = gesammelt + 1;  // Hier merkt sich Niki wieviel Körner er bereits gesammelt hat und addiert ein drauf wenn
    // sie ein weiteren aufgesammelt hat!
} else if( [mm] niki_x [/mm] == 9 && [mm] niki_y [/mm] ==0){ // Falls niki ganz unten rechts in der ecke sein sollte
   // lässt es die gesammelten Körner ab!
ablassen();
zeigeFeld();
}
// if
} // checkNiki


// Haupt-Methode
public static void main(String[] args) {
zeigeFeld();
vor();
vor();
vor();
vor();
links();
vor();
vor();
rechts();
vor();
vor();
rechts();
vor();
vor();
links();
vor();
vor();
ablassen();
} // main

} // application


Könnt ihr mir vielleicht paar Tipps geben wie ich aufschreiben kann, dass der Roborter die Körner an die Rechte Obere Ecke ablässt??
Bedanke mich im vorraus.

Liebe Grüße
Su

Bezug
                        
Bezug
Delphie in Java Umschreiben: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:20 Mo 14.12.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
        
Bezug
Delphie in Java Umschreiben: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:20 Di 15.12.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Sonstiges - Informatik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]