matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 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
StartseiteMatheForenSonstiges - InformatikDelphie in Java Umschreiben
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Deutsch • Englisch • Französisch • Latein • Spanisch • Russisch • Griechisch
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 ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]