esmaspäev, 6. oktoober 2014

SmartChess beta 1.3 ja tasakaaluprobleemid

Uus koodiversioon: http://pastebin.com/4VqSTpeA
Lisasime nuppude ostmise ja muutsime veidi valikute menüüd.

Viimased paar päeva olen mõelnud selle üle, kuidas luua punktide andmissüsteemi. Vähekese Google'i abiga on mul mõeldud välja, kuidas seda programmeerida. Aga kuidas anda punkte erinevate annete ülesannete vahel? Räägime peast arvutamisest: kui kasutame väikseid arve, siis võib muutuda küsimustevoor refleksidele toetuvaks. Mulle isiklikult meeldib harjutada kuni kuskil sadade ringis peast liita-lahutada - sellised võiksid olla ka küsitavad tehted. Aga milline siis võiks olla sellele sarnaselt punkte andev tehe korrutamisel?

Tegin Miksikese lahti, proovisin veidi pranglimist. Minu tulemuste põhjal tundub, et kui võeta korrutistehteks x*y, kus x on arv 1-10 ja y 10-100, on see umbes 2 kuni 3 korda raskem kui liitmistehe neljakohaliste arvudega. Miksikese edetabelis see ei kajastu (tasub mainida, et ma ei olnud korrutamises väga hea), kuid selle puhul on küllap tegemist üleüldiselt treenivate arvutajatega ja paremaks analüüsiks peaksin kauem pranglima. Siiski ma arvan, et kuni programmi lõpunikirjutamiseni selline jaotus sobib. Sarnaselt ma mõtlen, et eesti keele grammatikaharjutustes võiks olla ühe koma panemine umbes poole kergem kui 4-kohalisi arve liita.

Räägiks siis eesti keelest. Mõtlesin esialgu teha umbes nii, et arvuti prindib välja lause ja käsib sisendada sõnad, mille järel koma käib. See võib muutuda keeruliseks siis, kui on ilma komata (või täpsemalt, kui komade arv lausetes on erinev) laused. Kui üks koma annab 1 punkti, siis on ebasünnis panna lauseid, kus peab sama kaua mõtlema komade paiknemise peale, aga saadakse vähem kasu kui teistes lausetes. Samas kui komasid on sama palju, võivad laused muutuda etteaimatavaks ja kergeks (kui mängija märkab, et igas lauses on kolm koma, on edasi suhteliselt kerge välistamismeetodiga komasid kirjutada).

Teine idee, mis mul täna tekkis, on et me võime faili panna lause, kusjuures lause ees on mingi number, millega saab nt lausete raskusastet määrata (või kui palju punkte see annab). Selle lause saaks splittida ja panna listi (numbri eest ära võttes). Teises failis oleksid samad laused ilma kirjavahemärkideta, mida mängijale printida. Saaks küsida mängijalt lause õigesti välja kirjutada, ja pärast lause splittimist listi, saab võrrelda sõnu ja kui mingit sõna, mis kasutaja andis, ei ole esimeses listis, võib lahutada sellest numbrist ühe. Ja lõppnumbri saab punktideks anda mängijale. See viis lubab keerulisemaid kirjavahemärke kasutada, kuid tekib probleem, kui on tegemist teistsuguse klaviatuuriga kui on harjutud kasutama.

Kommentaare ei ole:

Postita kommentaar