# EE Quellcode zu ME



## notime1 (19. Jun 2010)

Hey Leute,

ich möchte mein kleines Spiel aufs Handy bekommen und hab ein paar Schwierigkeiten mit Java ME. Auf EE hab ich den Quellcode und funktioniert ohne Probleme. Nun möchte ich diese Anwendung aufs Mobiltelefon bekommen unzwar durch Java ME. Vielleich kann mir jemand dabei behilflich sein.
Ausgangs-Quellcode(Java EE):
[JAVA=42]
package paket_Zahlenraten;
import java.util.Scanner;
public class StartKlasse {
    public static void main(String[] args) {

        int mUG = 1;
        int mOG = 9;
        int mZufall = 0;
        int mTipp = 0;
        int mVersuche = 0;
        Scanner meinScanner = new Scanner(System.in);
        System.out.println("Willkommen!");
        System.out.println("Eine Zufallzahl zwischen 1 und 9 wurde generiert.");
        mZufall = (int)((mOG-mUG+1) * Math.random()) + mUG;
        while(mTipp != mZufall)
        {
            System.out.println("Tipp eingeben: ");
            mTipp = meinScanner.nextInt();
            mVersuche++;
            if(mTipp == mZufall)
            {
                System.out.println("Richtig geraten, es ist die Zahl "+mZufall+". Sie haben es in " + mVersuche + " Versuchen geschafft!");
            }
            else
            {
                if(mTipp > mZufall)
                {
                    System.out.println("Falsch, die gesuchte Zahl ist kleiner!");
                }
                else
                {
                    System.out.println("Falsch, die gesuchte Zahl ist größer!");
                }
            }
        }
    }
}
[/code]
Ziel-Quellcode(Java ME):
[JAVA=42]
package hello;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.*;
public class HelloMIDlet extends MIDlet implements CommandListener {

    private Command exitCommand;
    private Display display;    
    private int mUG = 1;
    private int mOG = 9;
    private int mZufall = 0;
    //Random mZufall = new Random();
    private int mTipp = 0;
    private int mVersuche = 0;
    //mZufall = (int)((mOG-mUG+1) * Math.random()) + mUG;
    public HelloMIDlet() {
        display = Display.getDisplay(this);
        exitCommand = new Command("Exit", Command.EXIT, 0);
    }
    public void startApp() {
        TextBox t = new TextBox("Willkommen", "Willkommen zum Zahlenraten zwischen 1 und 9!"+mZufall, 256, 0);
       /* while(mTipp != mZufall)
        {
            TextBox a = new TextBox("Tipp","Tipp eingeben: ", 256, 0);
            //mTipp = meinScanner.nextInt();
                        display.setCurrent(a);
            mVersuche++;
            if(mTipp == mZufall)
            {
                                TextBox b = new TextBox("Richtig","Richtig geraten, es ist die Zahl. Sie haben es in " + mVersuche + " Versuchen geschafft!", 256, 0);
                //System.out.println(+mZufall+". Sie haben es in " + mVersuche + " Versuchen geschafft!");
                                display.setCurrent(b);
                        }
            else
            {
                if(mTipp > mZufall)
                {
                                        TextBox c = new TextBox("Falsch","Falsch, die gesuchte Zahl ist kleiner!", 256, 0);
                    //System.out.println("Falsch, die gesuchte Zahl ist kleiner!");
                                        display.setCurrent(c);
                                }
                else
                {
                                        TextBox d = new TextBox("Falsch","Falsch, die gesuchte Zahl ist größer!", 256, 0);
                    //System.out.println("Falsch, die gesuchte Zahl ist größer!");
                                        display.setCurrent(d);
                                }
            }
        }*/

        t.addCommand(exitCommand);
        t.setCommandListener(this);
        display.setCurrent(t);
    }
    public void pauseApp() {
    }
    public void destroyApp(boolean unconditional) {
    }
    public void commandAction(Command c, Displayable s) {
        if (c == exitCommand) {
            destroyApp(false);
            notifyDestroyed();
        }
    }
}
[/code]
Hab da einfach ein paar Sachen auskommentiert wobei ich mir nicht sicher bin, die natürlich nicht funktionieren.. leider.
Vielleicht kennt sich da einer aus. Wäre echt super!

Gruß


----------



## The_S (21. Jun 2010)

Das ist nicht EE, sondern SE. Und wo liegt genau das Problem? Wo kommst du nicht weiter, was für Fehler kommen, wo sind deine (Verständnis-) Probleme? Einfach so ins Blaue raten, mit was du dir schwer tuen könntest, mach ich nicht.


----------



## notime1 (21. Jun 2010)

-Im Quellcode zu ME bekomm ich eine Zufahlszahl nicht hin.
-Ich weiß nicht wie ich den Scanner einbauen soll, weils den ja nicht gibt und hätte gerne gewusst wie man entwas entgegennimmt was der Benutzer eingibt auf der ME version.
- Wie gebe ich Texte nacheinander ein, damit die erst erscheinen nachdem der Benutzer den Tipp eingegeben hat.
- Und ob der Befehl while bei der ME version auch funktionieren kann.
Das wären die 4 Punkte. Btw das Programm funktioniert nur bis zur Ausgabe des ersten Textes und dann läuft es nicht mehr weiter weil ich ja wissen muss wie ich die Eingabe verwalten kann.


----------



## The_S (21. Jun 2010)

notime1 hat gesagt.:


> -Im Quellcode zu ME bekomm ich eine Zufahlszahl nicht hin.



Dafür gibts die Random-Klasse.



notime1 hat gesagt.:


> -Ich weiß nicht wie ich den Scanner einbauen soll, weils den ja nicht gibt und hätte gerne gewusst wie man entwas entgegennimmt was der Benutzer eingibt auf der ME version.



Konsole gibts ja nicht auf nem Handy. Deshalb brauchst du auch ne GUI. Könntest das bspw. über ne Form und ein TextField realisieren.



notime1 hat gesagt.:


> - Wie gebe ich Texte nacheinander ein, damit die erst erscheinen nachdem der Benutzer den Tipp eingegeben hat.



Mehrere Textfelder oder Textfelder immer wieder leeren.



notime1 hat gesagt.:


> - Und ob der Befehl while bei der ME version auch funktionieren kann.



while-Schleifen funktionieren ganz normal unter ME.


----------

