Arpakuutio =========== Sivujen määrä valittavissa (kuutio, tetraedri, dodekaedri...). Silmäluvun symboli (väri, numero, kuvio...). Ainoa käyttäjän ei muutettavissa oleva asia on arpakuution heitto (eli satunnaislukugeneraattori). Propertyt: Minimi : integer; default 1; Tahkoja : integer; Silmaluku : integer; Lukittu : boolean; // ???? // Animoitu : boolean; // ??? Metodit Heita; Paint; KuvaArpakuutio: Propertyt: KuvanPerusnimi : string; // noppa => noppa1.bmp noppa2.bmp YhdenKuvaArpakuutio: Propertyt: KuvanPerusnimi : string; // noppa => noppa.bmp PerusArpakuutio: kuvat resurssissa tai piirretään itse Silmäluvun symboli (väri, numero, kuvio...) Perinnällä 0 1 2 3 4 1,2,4,8,16 18 0-9 0-7 Arpakuutiot =========== Propertyt: Arpakuutioita : integer; SaaHeittaa : integer; // ??? Heittoja : integer SaaVapauttaa : boolean; // saako vapauttaa ..... Tahkoja : integer; Silmaluku[i:integer] : integer; silmaluvut: Array of integer; // ??? Metodit Heita; Vapauta; // vapauttaa nopat ja nollaa heittojen määrän function LuoNoppa(AOwner:TComponent) : TArpakuutio; virtual; Nopan klikkaamminen lukitsee/vapauttaa nopan tämä piirretään jollakin tavalla. PerusArpakuutiot ================ function LuoNoppa(AOwner:TComponent) : TArpakuutio; begin Result := TPerusArpakuutio.Create(AOwner); Result.Tahkoja := Tahkoja; end; Ruutu ===== Propertyt: MaxNappuloita : integer; Pelilauta ========== Metodi: function LuoUusiRuutu(AOwner:TComponent;x,y:integer):TRuutu; virtual; Shakkilauta =========== Nappaimisto ============= Metodit: Add(key:Word;toiminto:TNotifyEvent); Add(s:String;toiminto:TNotifyEvent); nap.Add('A',vasemmalle); nap.Add('Left',vasemmalle); nap.Add('B',oikealla); Näppäimien standartointi ========================= F1 = help F2 = uusi peli ... up down left TopTen ====== ???