CSISZA - mn. mely csak öszvetételekben használtatik, s am. csiszoló. (A magyar nyelv szótára - Czuczor Gergely, Fogarasi János)
A Csisza egy szabadon használható eszköz, amellyel betűjátékokat lehet tág határok között változtatható alapelemekből összeállítani. Hasonló magyar nyelvű játékokból nagyon szűk volt a kínálat a születése idején, ez adta az ötletet az elkészítéséhez.
2006-ban vettem egy új számítógépet, és Linux került rá. Időnként szerettem volna egy kis játékkal lazulni, de nagyon szerény volt a feltelepített kínálat, a lassú és drága mobilinternetemmel pedig nem nagyon volt lehetőségem ezt a világhálóról bővíteni. Akadt viszont a telepített játékok között egy konzolos, angol nyelvű scrabble. Ezt a játékot akkor még csak hírből ismertem, itt volt lehetőségem először nem túl acélos angolomat bevetni a gép ellen, úgy rémlik, nem sok sikerrel. De megtetszett a dolog, és rákerestem az interneten a játékra. Az ISC (Internet Scrabble Club) oldalán kötöttem ki , letöltöttem a kliensprogramot, elkezdtem játszani és néhány évre ott is ragadtam. Felküzdöttem magam az átlagos játékosok szintjére. Egy időre átnyergeltem a Lexulousra is, majd magyar nyelvű játék után néztem. Szórablót játszottam időnként az akkor még létező jatek.hu oldalon. Bevallom, nem tetszett igazán, de nem találtam más lehetőséget. Az ottani versenyzős variánssal szemben, én a stratégiai elemeket is mutató hagyományos társasjáték módot preferálom. 2013-ban aztán a jatek.hu megszűnt, és legfeljebb a JÓJÁTÉK.hu oldalon játszható Szóváltás maradt utolsó lehetőségnek, a maga fura bozótharcával.
De akkor, egy 2014. decemberi napon, beírtam a keresőbe: "scrabble". Rátaláltam a Scrabble3D nevű nyílt forrású játékra szerverestől, fórumostól, és ami a legfontosabb, a magyar nyelvű játékot lehetővé tevő, komplett támogatásostól. Voltak hát ékezetes betűk és kétjegyű mássalhangzók, de nem volt szótár, és a program sem magyarul szólt a felhasználóhoz. Sok időbe került, de sikerült elkészítenem mindegyikből egy kezdetleges verziót, miután megbizonyosodtam róla, hogy nincs olyan szógyűjtemény, ami legalább egy nem hivatalos scrabble-szótárnak megfelelne. Ismét december lett, volt egy szótárkezdeményem, és kedvet kaptam hobbiszinten kicsit programozást tanulni. A Python nyelvre esett a választásom, mert multiplatform, divatos, könnyen tanulhatónak mondják, és bár 20 évvel korábban valamelyest próbálkoztam Basic-kel és C-vel, de ez nem sok nyomot hagyott bennem akkorra.
Gérard Swinnen Tanuljunk meg programozni Python nyelven című könyvéből kezdtem el ismerkedni a nyelvvel, aztán az ebben lévő példaprogramok jelentették a program alapját. Arra gondoltam, hogy a szintén a jatek.hu-n korábban játszható Játék a betűkkelt próbálom megvalósítani, de közben folyamatosan ott motoszkált a fejemben, hogy valahogy a különböző betűjátékokból megismert alapelemekből mit lehetne kihozni. Aztán elkészült a tábla, lehetett a tartóról betűket húzogatni rá, a program ellenőrizte szótár alapján a szavak érvényességét. Kiegészítettem ezt úgy, hogy minden lépés után mutassa meg az összes lehetséges szót. Innen már csak egy nagyobbacska átalakítás kellett, hogy a gép is játsszon. Készült egy szerver program és egy kliens a játékosnak, egy pedig a gépnek. Frissült a szótár, a gépi ellenfeleket pedig már többféleképpen is lehet gyengíteni. Egyszer felmerült, hogy mi legyen a neve.
A Csináld szavad név ötlött rögtön az eszembe, a csináld magad kifejezés mintájára, és nem is tudtam megszabadulni a gondolattól, ez írta le legjobban, hogy mi a program célja. De hosszúnak és bumfordinak tűnt, így a két szó első szótagját összevontam, és lett belőle Csisza, amire a kereső szintén hozott figyelemre méltó találatot a múltból. Jelentése: csiszoló.
Vannak bizonyos részek, amik egész jól le lettek tesztelve az évek folyamán, mások legfeljebb kipróbálva voltak. Bizonyos beállítások egyidejű bekapcsolása a táblára kikerülő szavak szétesését okozhatja. A távoli játékot soha nem sikerült kipróbálnom, valószínűleg nem is működik. A programot bárki tetszése szerint használhatja, de csak a saját felelősségére, semmilyen támogatás nem jár hozzá. A GPLv3 licenszt jelöltem meg hozzá.
Mivel sem a programozásban, sem a nyelvészkedésben nem vagyok jártas, csak egy hobbista, aki "játékosként", saját kedvtelésére fogott ebbe a projektbe, legfeljebb remélhetem, hogy az mások számára is hasznos lehet. A Python nyelvvel éppen csak ismerkedve készítettem, nem "clean code", és valószínűleg még sok egyéb követelménynek sem felel meg. Én annak is örülök, ha nagyjából működik. :) Linuxon készült, a Windowsos megjelenésén jócskán lenne mit alakítani.
A program indítása után néhány előre elkészített mintajátékból lehet választani. Egy játék kiválasztása után, azzal közvetlenül el lehet kezdeni játszani, de a tábla vagy a játékbeállítások meg is változtathatók, és szerkesztés után új játékként el is lehet menteni későbbi használatra. Van lehetőség teljesen új táblát létrehozni. Ekkor az eredetileg betöltött játék egyéb beállításai öröklődnek. A beállított játék játszható egyedül vagy 1-3 gépi játékos ellen. A gépi ellenfelek erőssége többféleképpen befolyásolható. Létezik egy hálózati játék opció is, de csak egyetlen számítógépen több kliensprogram csatlakoztatásával volt kipróbálva, internetes játékra valószínűleg nem alkalmas. Használata nem javasolt. A játékmód lehet normál, ekkor a játékosok egymás után következnek saját betűikből szót alkotni, vagy szimultán, ekkor minden játékos egy időben alkot szót közös betűkből, és a legmagasabb pontértékű kerül a táblára. Szimultán játékban lehetőség van rá, hogy mindenki külön táblán játsszon. (A játék a betűkkel működött így, azt hiszem.) Beállítható a gondolkodási idő és a kihúzott betűk száma. Az is beállítható, hogy az új szónak kapcsolódnia kell-e a már táblán lévőkkel. Megadható kezdő mező, amit az első szónak kötelezően fel kell használnia. Előre megadható, hogy hány fordulóból álljon a játék. A betűkészlet kezelésére 3 lehetőség áll rendelkezésre. A készlet minden esetben előre megadott számút tartalmaz az egyes betűkből, az eltérés az, hogy a táblára kerültekkel csökken-e a még kihúzhatók száma. Az alapeset a csökkenés, a másik két lehetőség között a különbség, hogy csak a táblára kerültek pótlódnak a kihúzható készletben, vagy a teljes tartó tartalma. (Az utolsó esetben, a tartón levő betűk készlete minden fordulóban teljesen kicserélődik.) Egy külön tartón az összes játékosnak rendelkezésére álló, közös betűk adhatók meg. Így például, lehet mindenkinek ugyanannyi dzsókere. (Egy betű csak vagy az egyik, vagy a másik tartóra legyen beállítva, egyébként összezavarodhat a program.) Az is beállítható, hogy ezek a betűk minden körben változatlan számban rendelkezésre álljanak. A felhasznált betűk pontértéke lehet állandó, vagy véletlenszerű. Állandó pontértékeknél egy véletlenszerű szorzó sorsolása is beállítható. A kirakott szavak érvényességének ellenőrzése történhet a mellékelt szótár alapján, vagy helyesírás-ellenőrző program által. (Utóbbi esetben gépi játékos nem állítható be.) Az érvényesség ellenőrzése történhet minden körben, vagy csak a játék végén. Ekkor azok a betűk, amik nem alkotnak érvényes szavakat megjelölhetők, és az eredmény megállapításakor nem számítanak. A dzsókerek a táblán a kívánt betűre cserélhetőek, vagy maradhatnak a táblán is dzsókerek, így vízszintesen és függőlegesen más-más betűt reprezentálhatnak. A dzsókerek felvehetik a becserélt betűhöz megadott pontértéket. A pontozás történhet csak a lerakott betűk irányába, a keresztirányú szavaknak ekkor is érvényeseknek kell lenniük, de a pontértékük nem számít. Jutalmak adhatók a lerakott betűk száma alapján, vagy a már táblán levő betűk felhasználásáért. Ha az érvényesség ellenőrzése csak a játék végén történik, akkor a szavak hossza alapján lehet jutalmazni. Jutalom adható a játékot befejező játékosnak, és pontlevonás történhet a megmaradt betűk alapján. A tábla egyes mezőihez is hozzá lehet rendelni 1-9 pontos jutalmat.
(Az egérkurzort a szövegek vagy gombok fölé mozgatva, további információ jeleníthető meg az egyes elemekről.)