Witam ponownie :-) Po dłuższych zmaganiach z kompilatorem udało mi się napisać ten programik.
Chciałem dodać jeszcze dzwięk rzutu kostką przy rzuceniu ale napotkałem problem:
Wiem jak użyć dźwięku z pliku umieszczonego w internecie. Ale jak użyć pliku uieszczonego w archiwum jar? (i jak zaimportować plik wav do archiwum jar?)
Oto kod. Pogrubioną czcionką sekcja dotycząca importu dzwięku:
import java.util.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;
import javax.microedition.media.*;
public class ckostek extends MIDlet implements CommandListener
{
private Form formatka;
private TextField rzuty;
private TextField scianki;
private Random random;
public ckostek() {
formatka = new Form("Kostek");
random = new Random(Calendar.getInstance().get(Calendar.MILLISECOND));
Command polecenierzuc = new Command("Rzuć !!!", Command.OK, 0);
Command poleceniewyjscie = new Command("Koniec", Command.EXIT, 0);
formatka.addCommand(polecenierzuc);
formatka.addCommand(poleceniewyjscie);
formatka.setCommandListener(this);
rzuty = new TextField("Ile razy rzucić?:", "", 3, TextField.NUMERIC);
formatka.append(rzuty);
scianki = new TextField("Ile ścianek ma kostka?:", "", 3,TextField.NUMERIC);
formatka.append(scianki);
Display ekran = Display.getDisplay(this);
ekran.setCurrent(formatka);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException
{
}
protected void pauseApp()
{
}
protected void startApp() throws MIDletStateChangeException
{
}
public void commandAction(Command c, Displayable arg1)
{
if (c.getCommandType() == Command.OK)
{
String adres = ("http://www.republika.pl/informatykatw/kostka.wav");
Watek odtwarzanie = new Watek(adres);
odtwarzanie.start();
int suma = 0, rzutow, scianek;
try
{
rzutow=Integer.parseInt(rzuty.getString());
scianek=Integer.parseInt(scianki.getString());
}
catch (Exception e)
{
formatka.append("Nieprawidłowe liczby");
return;
}
for (int i = 0; i < rzutow; i++)
{
suma += (Math.abs(random.nextInt()) % scianek)+1;
}
formatka.append(new Integer(suma).toString());
}
if (c.getCommandType() == Command.EXIT) notifyDestroyed();
}
class Watek extends Thread
{
public Watek(String padres)
{
adres = padres;
}
public void run()
{
try
{
Player odtwarzacz = Manager.createPlayer(adres);
odtwarzacz.realize();
odtwarzacz.start();
}
catch (Exception e)
{
formus.append("Błąd");
}
}
private String adres;
}
private Form formus;
}
Pozdrawiam
Infotw