Obliczenia brydżowe (Java ME)
Jacek Kowalski
2012-08-07 bf2df04c8c12760206ea1d5be5c7e008123cc695
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         
16         this.text = new Form("Obliczenia brydżowe");
17         this.text.addCommand(new Command("Powrót", Command.BACK, 1));
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();
43                         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."));
44                         this.text.append(new StringItem("Kontrakt", "Należy podać wysokość wylicytowanego kontraktu lub 0 przy czterech pasach"));
45                         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."));
46                         this.text.append(new StringItem("Kontra", "Jeśli przeciwnicy dawali kontrę lub rozgrywający dodatkowo rekontrował - należy zaznaczyć odpowiednie pole."));
47                         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."));
48                         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ą."));
49                         this.text.append(new StringItem("Lew", "Ilość lew wziętych przez rozgrywającego - w przypadku pasów nie ma znaczenia."));
50                         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."));
51                         this.midlet.display.setCurrent(this.text);
52                     break;
53                     case 1:
54                         this.text.deleteAll();
55                         this.text.append("Autor: Jacek Kowalski\nhttp://dev.jacekk.net/brydz");
56                         this.midlet.display.setCurrent(this.text);
57                     break;
58                     case 2:
59                         this.midlet.destroyApp(true);
60                     break;
61                 }
62             break;
63         }
64     }
65 }