Oto Gra pamięciowa:

tutaj plik http://koronowicz.com/Pamiec.jar

package gra;

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.util.Random;
import java.lang.Math.*;



public class Pamiec extends MIDlet{
  private Display  display;
  private Nawigacja canvas;

  public Pamiec(){
    display = Display.getDisplay(this);
    canvas  = new Nawigacja(this);
  }
  protected void startApp(){
    display.setCurrent( canvas );
  }
  protected void pauseApp(){ }

  protected void destroyApp( boolean unconditional ){
    notifyDestroyed();
  }

  public void exitMIDlet(){
    destroyApp(true);
  }

} // czy inne klasy moga zawierac sie wew klasy glownej i co to powoduje?

class Nawigacja extends Canvas{ // klasa nawigujaca - menu wyboru

  private Pamiec midlet;

  private Display  display;
  private Gra canvas;

  private Image image;


    public Nawigacja(Pamiec midlet){

        this.midlet = midlet;

        // logo na poczatku
        try{
          image = Image.createImage("gra/logo.png");
        } catch (Exception e) {
          return;
        }

    }

    protected void paint(Graphics g){
        //tlo
        g.setColor(255, 255, 255);
        g.fillRect(0, 0, getWidth(), getHeight());

        //logo
        g.drawImage(image, getWidth()/5, getHeight()/8, Graphics.LEFT | Graphics.TOP);

        // menu gry
            g.setColor(0, 0, 0);
            g.drawString("[1] Rozpocznij gre", getWidth()/6, getHeight()/3, Graphics.TOP | Graphics.LEFT);
            //g.drawString("[2] Instrukcja", getWidth()/6, (getHeight()/3)+20, Graphics.TOP | Graphics.LEFT);
            g.drawString("[2] Wyjdz", getWidth()/6, (getHeight()/3)+20, Graphics.TOP | Graphics.LEFT);
        
    }

    protected void keyPressed(int keyCode){

        if (keyCode == Canvas.KEY_NUM2) { midlet.exitMIDlet(); } // klawisz 4 - wyjscie
        if (keyCode == Canvas.KEY_NUM1) { // klawisz 1 rozpoczecie gry
            display = Display.getDisplay(midlet);
            canvas  = new Gra(midlet);
            display.setCurrent(canvas);
        }
        //if (keyCode == Canvas.KEY_NUM2) { // klawisz 2 - intrukcja
        // przejscie do klasy z intrukcja
        //}

        repaint();
      }

}


class Gra extends Canvas { // klasa losowania obrazkow i prezentowania ich uzytkownikowi

  
  private int ll = 0, kk = 0, dobre = 0, zle = 0;
  private Image image;
  private Image imgspr;

  private Display  display;
  private Nawigacja canvas;
  private Pamiec midlet;

  public static final int SIZE = 10;
  
  public int[] wylosowane = new int[10]; // tablica wylosowanych tablic
  public int[] wylosowanecyf = new int[10];
  public int[] wcisniete = new int[10];

  int stan = 0; // stan 0 - pokazywanie obrazkow, 1 - sprawdzanie pamieci, 2 - wynik(kliknij i menu glowne
  int zlicz = 0;
  
    public Gra(Pamiec midlet){ 

        this.midlet = midlet;

        //prezentacja



                Random random = new Random();
                int size = 13, bu=0;
                int[] array = new int[size];
                for(int i = 0 ; i < size; i++) array[i] = i;
                for(int i = size; i > 0; i--) {
                  int index = random.nextInt(i);
                  if (bu<10) {
                  wylosowane[bu] = array[index];
                  bu++;
                  }
                  array[index] = array[i-1];
                }
                
                for(int ii = 0 ; ii < 10; ii++){
                    wylosowanecyf[ii] = random.nextInt(9);
                }


                // wyswietlenie pierwszego obrazka
                if (ll == 0) {
                    try{
                      image = Image.createImage("gra/" + Integer.toString(wylosowane[0]) + ".png");
                    } catch (Exception e) {
                      return;
                    }
                }

        //sprawdzanie

                if (ll == 0) {

                    try{
                      imgspr = Image.createImage("gra/" + Integer.toString(wylosowane[0]) + ".png");
                    } catch (Exception e) {
                      return;
                    }

                }




    }

        protected void keyPressed(int keyCode){

            if (stan == 1) { //sprawdzanie

                    if (keyCode == Canvas.KEY_NUM0 || keyCode == Canvas.KEY_NUM1 || keyCode == Canvas.KEY_NUM2 || keyCode == Canvas.KEY_NUM3
                            || keyCode == Canvas.KEY_NUM4 || keyCode == KEY_NUM5 || keyCode == Canvas.KEY_NUM6 || keyCode == Canvas.KEY_NUM7
                            || keyCode == Canvas.KEY_NUM8 || keyCode == Canvas.KEY_NUM9) {
                    
                    wcisniete[kk] = keyCode - 48;
                    kk++;
                    if (kk == 10) { stan = 2; repaint();  }

                    try{
                      imgspr = Image.createImage("gra/" + wylosowane[kk] + ".png"); 
                    } catch (Exception ioe) {
                      return;
                    }  

                    }

            }
            if (stan == 0) { //prezentacja
                
                    if (keyCode == Canvas.KEY_NUM5) { // po zapamietaniu klikamy 5 aby przejsc dalej

                    ll++;

                    if (ll == 10) { stan=1; repaint(); }

                    try{
                      image = Image.createImage("gra/" + Integer.toString(wylosowane[ll]) + ".png"); 
                    } catch (Exception ioe) {
                      return;
                    }

                    }
            }
            if (stan == 2) { //wynik
                //repaint();
               if (keyCode == Canvas.KEY_NUM5) {
                    display = Display.getDisplay(midlet);
                    canvas  = new Nawigacja(midlet);
                    display.setCurrent(canvas);
               }



            }
             
           if (stan != 2) {  repaint(); }

      }

    protected void paint(Graphics g){

        g.setColor(255, 255, 255);
        g.fillRect(0, 0, getWidth(), getHeight());


        if (stan == 0) { //prezentacja

                g.drawImage(image, getWidth()/8, getHeight()/3, Graphics.LEFT + Graphics.TOP);

                // sprawdzanie wylosowanych obrazkow
               // for (int ejj = 0; ejj<10; ejj++) {
               //     g.setColor(0, 0, 0);
               //     g.drawString(Integer.toString(wylosowane[ejj]) + " - " + Integer.toString(wylosowanecyf[ejj]), getWidth()-150, getHeight()/5+(ejj*13), Graphics.TOP | Graphics.LEFT);
               // }
                    // numer obrazka
                    g.setColor(0, 0, 0);
                    g.drawString(Integer.toString(wylosowanecyf[ll]), getWidth()-80, getHeight()/3, Graphics.TOP | Graphics.LEFT);
                    // obrazek do zapamietania
                    g.setColor(0, 0, 0);
                    g.drawString("[5] Nastepny slajd", 10, getHeight()-40, Graphics.TOP | Graphics.LEFT);


        }
        if (stan == 1) { //sprawdzanie

                g.drawImage(imgspr, getWidth()/8, getHeight()/3, Graphics.LEFT + Graphics.TOP);

                g.setColor(0, 0, 0);
                g.drawString("[0-9] Wpisz cyfre", 10, getHeight()-40, Graphics.TOP | Graphics.LEFT);


        }

        if (stan == 2) { //wynik

               for (int ee = 0; ee<10; ee++){
                    if (wcisniete[ee] == wylosowanecyf[ee]) { dobre++; } else { zle++; }
                    //g.setColor(0, 0, 0);
                    //g.drawString(Integer.toString(wcisniete[ee]) + " =? " + Integer.toString(wylosowanecyf[ee]), 10, 10+(ee*10), Graphics.TOP | Graphics.LEFT);
                }

                     g.setColor(88, 148, 24);
                     g.drawString("Odp. poprawne: " + Integer.toString(dobre), 10, 60, Graphics.TOP | Graphics.LEFT);
                     g.setColor(228, 0, 0);
                     g.drawString("Odp. bledne: " + Integer.toString(zle), 10, 80, Graphics.TOP | Graphics.LEFT);
                     g.setColor(0, 0, 0);
                     g.drawString("[5] Menu glowne", 10, getHeight()-40, Graphics.TOP | Graphics.LEFT);

        }

    }
}

Gra na niektórych telefonach się wysypuję, a na Nokii widać tylko biały ekran. Z tego co sprawdzałem to przez wyświetlanie obrazków, nie wiem czy robie to poprawnie?