Obliczenia brydżowe (Java ME)
Jacek Kowalski
2012-08-07 e757087c400ef18b41ca09b07483d66c61f82309
commit | author | age
bf2df0 1 package brydz;
JK 2
3 import javax.microedition.lcdui.*;
4
5 public class BrydzMenu extends List implements CommandListener {
6     protected BrydzMIDlet midlet;
7     protected BrydzForm form;
8     protected Form text;
9     
10     public BrydzMenu(BrydzMIDlet midlet, BrydzForm previous) {
11         super("Menu", List.IMPLICIT);
12         
13         this.midlet = midlet;
14         this.form = previous;
15         
e75708 16         this.text = new Form("");
bf2df0 17         this.text.addCommand(new Command("Powrót", Command.BACK, 1));
JK 18         this.text.addCommand(new Command("Menu", Command.OK, 1));
19         this.text.setCommandListener(this);
20         
21         this.append("Pomoc", null);
22         this.append("Autor", null);
23         this.append("Wyjście", null);
24         this.addCommand(new Command("Powrót", Command.BACK, 1));
25         this.setSelectCommand(new Command("Wybierz", Command.ITEM, 1));
26         this.setCommandListener(this);
27         
28         this.midlet.display.setCurrent(this);
29     }
30     
31     public void commandAction(Command command, Displayable displayable) {
32         switch(command.getCommandType()) {
33             case Command.OK:
34                 this.midlet.display.setCurrent(this);
35             break;
36             case Command.BACK:
37                 this.midlet.display.setCurrent(this.form);
38             break;
39             case Command.ITEM:
40                 switch(this.getSelectedIndex()) {
41                     case 0:
42                         this.text.deleteAll();
e75708 43                         this.text.setTitle("Pomoc");
bf2df0 44                         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."));
JK 45                         this.text.append(new StringItem("Kontrakt", "Należy podać wysokość wylicytowanego kontraktu lub 0 przy czterech pasach"));
46                         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."));
47                         this.text.append(new StringItem("Kontra", "Jeśli przeciwnicy dawali kontrę lub rozgrywający dodatkowo rekontrował - należy zaznaczyć odpowiednie pole."));
48                         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."));
49                         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ą."));
50                         this.text.append(new StringItem("Lew", "Ilość lew wziętych przez rozgrywającego - w przypadku pasów nie ma znaczenia."));
51                         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."));
52                         this.midlet.display.setCurrent(this.text);
53                     break;
54                     case 1:
55                         this.text.deleteAll();
e75708 56                         this.text.setTitle("Obliczenia brydżowe");
JK 57                         this.text.append("Wersja: "+this.midlet.version+"\nAutor: Jacek Kowalski\nhttp://dev.jacekk.net/brydz");
bf2df0 58                         this.midlet.display.setCurrent(this.text);
JK 59                     break;
60                     case 2:
61                         this.midlet.destroyApp(true);
62                     break;
63                 }
64             break;
65         }
66     }
67 }