package brydz;
|
|
import javax.microedition.lcdui.*;
|
|
public class BrydzMenu extends List implements CommandListener {
|
protected BrydzMIDlet midlet;
|
protected BrydzForm form;
|
protected Form text;
|
|
public BrydzMenu(BrydzMIDlet midlet, BrydzForm previous) {
|
super("Menu", List.IMPLICIT);
|
|
this.midlet = midlet;
|
this.form = previous;
|
|
this.text = new Form("Obliczenia brydżowe");
|
this.text.addCommand(new Command("Powrót", Command.BACK, 1));
|
this.text.addCommand(new Command("Menu", Command.OK, 1));
|
this.text.setCommandListener(this);
|
|
this.append("Pomoc", null);
|
this.append("Autor", null);
|
this.append("Wyjście", null);
|
this.addCommand(new Command("Powrót", Command.BACK, 1));
|
this.setSelectCommand(new Command("Wybierz", Command.ITEM, 1));
|
this.setCommandListener(this);
|
|
this.midlet.display.setCurrent(this);
|
}
|
|
public void commandAction(Command command, Displayable displayable) {
|
switch(command.getCommandType()) {
|
case Command.OK:
|
this.midlet.display.setCurrent(this);
|
break;
|
case Command.BACK:
|
this.midlet.display.setCurrent(this.form);
|
break;
|
case Command.ITEM:
|
switch(this.getSelectedIndex()) {
|
case 0:
|
this.text.deleteAll();
|
this.text.append(new StringItem("O programie", "MIDlet ten ma za zadanie ułatwić obliczanie zapisu brydżowego przy towarzyskim graniu w brydża sportowego."));
|
this.text.append(new StringItem("Kontrakt", "Należy podać wysokość wylicytowanego kontraktu lub 0 przy czterech pasach"));
|
this.text.append(new StringItem("Kolor", "Trzeba wybrać z listy wylicytowany kolor (młodszy/starszy/bez atu) - w przypadku pasów nie ma to znaczenia."));
|
this.text.append(new StringItem("Kontra", "Jeśli przeciwnicy dawali kontrę lub rozgrywający dodatkowo rekontrował - należy zaznaczyć odpowiednie pole."));
|
this.text.append(new StringItem("Przed/po partii", "Część przed znakiem \"/\" dotyczy rozgrywających, zaś część druga - przeciwników. W przypadku czterech pasów - pierwsza dotyczy pary z większą liczbą punktów."));
|
this.text.append(new StringItem("PC", "Liczba punktów honorowych (punktów Miltona Worka) pary, która wylicytowała kontrakt. W przypadku pasów - suma punktów pary z większą ich ilością."));
|
this.text.append(new StringItem("Lew", "Ilość lew wziętych przez rozgrywającego - w przypadku pasów nie ma znaczenia."));
|
this.text.append(new StringItem("Wynik", "Przekazywana jest informacja o stronie, która uzyskała zapis, liczbie punktów bez i z uwzględnieniem ilości PC, ilości uzyskanych IMP-ów oraz uzyskanym procencie, zgodnie z zapisem maksowym p. Adama Królika."));
|
this.midlet.display.setCurrent(this.text);
|
break;
|
case 1:
|
this.text.deleteAll();
|
this.text.append("Autor: Jacek Kowalski\nhttp://dev.jacekk.net/brydz");
|
this.midlet.display.setCurrent(this.text);
|
break;
|
case 2:
|
this.midlet.destroyApp(true);
|
break;
|
}
|
break;
|
}
|
}
|
}
|