Dette eksemplet viser utviklingen av en enkel (og foreløpig ufullstendig) sjakk-app i (foreløpig) 7 trinn, fra versjon 0 som kun er et statisk skjermbilde, til versjon 7, som støtter dra-og-slipp av brikker med sjekk av (en del) regler, og det vanlige tekstlige formatet for flytt. Underveis skjer det en del endringer som er typiske for hvordan et kodingsprosjekt utvikler seg, når det går fra det enkleste som virker til en ryddig konstruksjon.
Versjonene har hver sin Chess.adoc-fil som beskriver hva som er nytt i den versjonen ift. forrige. Her er det kort oppsummert:
-
v0: Statisk skjermbilde med sjakkbrett og innfyllingsfelt for flytt, og app-klasse.
-
v1: Brikke- og kontroller-klasser, med logikk for å plassere brikkene i startposisjonen og vise dem frem vha. unicode-tegn for brikkene.
-
v2: Sjekk for lovlige flytt iht. hvilken brikke som flyttes, og evt. gi tilbakemelding.
-
v3: Generell opprydning og innkapsling iht. prinsippet om fordeling av logikk mellom domeneklasser og GUI.
-
v4: Bruk av musklikk på brikker og ruter for å flytte.
-
v5: Undo og redo
-
v6: Filformat for lagring av spill, og bedre feedback ved valg av brikker.
-
v7: Innfører egne klasser for hver brikketype, med tilsvarende brikkelogikk.