[Java] EE Quellcode zu ME

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von 86958695, 19. Juni 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 19. Juni 2010
    EE Quellcode zu ME

    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):
    Code:
    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!");
     }
     }
     }
     }
    }
    
    Ziel-Quellcode(Java ME):
    Code:
    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();
     }
     }
    }
    
    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ß
     
  2. 20. Juni 2010
    AW: EE Quellcode zu ME

    nun dein problem ist, dass es in der java-me edition keine konsole gibt (bzw. auf dem ganzen handy-os), d.h. du musst ne art GUI programmieren, welches die I/O aufgaben übernimmt.

    somit entfällt dein scanner sowieso, du musst dich auf ein textfeld und nen button mit ner aktion verlegen, und dann den eingegebenen text selber verwalten.

    mfg
     
  3. 21. Juni 2010
    AW: EE Quellcode zu ME

    Also im Qeullcode 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, damit ich vergleichen kann. z.B Tipp==Zahl.
    Wie gebe ich Texte nacheinander ein, damit die erst erscheinen nachdem der Benutzer den Tipp eingegeben hat.
    Funktioniert der Befehl while bei der ME version auch ?
     
  4. 21. Juni 2010
    AW: EE Quellcode zu ME

    So, ich habe mich wieder mal schnell up to date gebracht (habe 2 jahre nix mehr gemacht mit J2ME).

    zur zufallszahl: anstelle von Math.Random() benutze "Random r = new Random(); und dann r.nextInt(9);" aus der util library. ich empfehle übrigens diese auch in Desktop applikationen zu verwenden, die ist besser als Math.Random(), weil du direkt int werte von x-y generieren lassen kannst oder auch zufallsbooleans generieren kannst.

    zur anzeige: Eingabe mittels TextField, Aktionsauslösung mittels Command und Text Anzeige mit StringItem. Auf den Command kannst du ActionListener legen wie bei JButtons im Java SE.

    mfg swissmaster
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.