RTU Daugavpils
Par mums
Abiturientiem
Bibliotēka
E-bibliotēka
Nodarbību saraksts
Konferences
Kursi
 Projekti
Krustiņi un nullītes
 RTU
Galvenā lapa
ORTUS
DF RTU E-pasts
 Acadēmiskais tikls
Ieeja
Noteikumi    Download    Turnīri   
lv ru


KRUSTIŅI UN NULLĪTES



1. Spēles noteikumi
1.1. Spēles laukums ir 10x10 rūtiņas.
1.2. Spēlētāji pēc kārtas lauka brīvajās rūtiņās izvieto pa vienai savai figūrai (krustiņus vai nullītes).
1.3. Gājienu izlaist nav iespējams.
1.4. Pirmo gājienu veic spēlētājs, kurš spēlē ar krustiņiem.
1.5. Spēlē uzvar spēlētājs, kurš izvietojis kopā 5 savas figūras vienā rindā, kolonnā vai uz diagonāles.
1.6. Spēles rezultāts ir neizšķirts, ja uz spēles lauka nav palikusi neviena brīva rūtiņa un spēlē neviens nav uzvarējis.
1.7. Spēlē uzvar spēlētājs, ja viņa pretinieks neveic gājienu 5 sekunžu laikā vai mēģināja izdarīt neatļautu gājienu.
2. Spēles dalībnieki
2.1. Turnīrā var piedalīties autorprogrammas, ko uzrakstījuši augstskolu jaunāko kursu studenti vai vispārizglītojošo skolu skolēni.
2.2. Turnīrā drīkst piedalīties programmas, kas izturējušas pārbaudes pret vīrusiem un pārbaudi atbilstībai dotajam interfeisam.
2.3. Turnīra potenciālajiem dalībniekiem tā organizatoriem jāiesniedz programmas izpildāmais fails (exe) un visi pārējie darbam nepieciešamie faili (izņemot operētājsistēmas standarta API failus).
2.4. Programma jāparedz izpildei operētājsistēmā MS Windows 2000.
2.5. Programma var veidot un dzēst jebkurus failus, kas izvietoti aplūkojamajā katalogā.
2.6. Programmā nav paredzēta piekļūšana failiem, kas atrodas citos katalogos.
2.7. Programmu var rakstīt jebkurā programmēšanas valodā, kas izveido autonomas konsoles programmas operētājsistēmai MS Windows (Pascal, Object Pascal – Delphi, C, C++, C#,...).
3. Programmas interfeiss
3.1. Turnīra laikā dalībnieku programmas tiks startētas menedžera vadībā, tādējādi, lai sekmētu informācijas apmaiņu ar menedžeri, programmai jārealizē noteikts interfeiss.
3.2. Menedžeris piedāvā realizēt failu interfeisu vai konsoles interfeisu.
3.3. Failu interfeiss pieļauj informācijas apmaiņu starp menedžeri un programmu, izmantojot teksta failus:
3.3.1. Startējot programmu, menedžeris kā komandrindas parametrus programmai norāda trīs vērtības: 1- komanda X, 0 (nulle) vai INFO; 2 – vārds failam, kas saturēs spēles lauka momentāno stāvokli; 3 – vārds failam, kurā jāieraksta programmas atbildes gājiens.
3.3.2. Atbildot uz komandām X vai 0, programmai jāizanalizē momentānais spēles lauka stāvoklis un jāizvieto uz tā sava figūra, ierakstot izdarītā gājiena koordinātas atbildes gājiena failā.
3.3.3. Gājiena koordinātas tiek pierakstītas divu simbolu veidā: latīņu burts, kas apzīmē kolonnu (A..J), un burts, kas apzīmē rindu (0..9), tādējādi pieļaujamie gājieni ir A0..J9.
3.3.4. Programmai nav obligāti jāmaina momentānais spēles lauks lauka failā.
3.3.5. Spēles lauka fails satur 10 rindas, katrā 10 simbolus, tukša rūtiņa tiek apzīmēta ar punkta simbolu ('.'), rūtiņa, kurā atrodas figūra krustiņš, tiek apzīmēta ar lielo latīņu burtu X, un rūtiņa, kurā atrodas figūra nullīte tiek apzīmēta ar simbolu nulle ('0').
3.3.6. Atbildot uz komandu INFO programmai atbildes failā jāieraksta informācija par autoru: pirmajā rindā jāieraksta vārds un uzvārds, otrajā – augstskola, kurā studē, fakultāte un kurss (skola un klase).
3.3.7. Vārda, uzvārda un augstskolas nosaukuma pierakstā drīkst izmantot tikai latīņu alfabēta burtus.
3.3.8. Programmas izpildei tiek dotas 5 sekundes, kurās jāatrod izdevīgākais gājiens. Laika atskaite sākas brīdī, kad programma tiek startēta, un beidzas brīdī, kad tā izlādējas no datora operatīvās atmiņas.
3.3.9. Ja programma nav veikusi gājienu noteiktajā laikā, tad tās izpilde tiek pārtraukta.
3.3.10. Ja pēc programmas darbības beigām atbildes failā neatradīsies atļauta gājiena koordinātas, tad programma partiju zaudē.
3.4. Informācijas apmaiņai starp menedžeri un programmu var izmantot konsoles interfeisu (stdin un stdout):
3.4.1. Lai noteiktu spēles lauka momentāno stāvokli, programmai konsolē jāizvada rinda "field?" un pēc tam konsolē jānolasa 10 rindas, katrā pa 10 simboliem, tukša rūtiņa tiek apzīmēta ar punkta simbolu ('.'), rūtiņa, kurā atrodas figūra krustiņš, tiek apzīmēta ar lielo latīņu burtu X, un rūtiņa, kurā atrodas figūra nullīte tiek apzīmēta ar simbolu nulle ('0').
3.4.2. Lai noteiktu, ar kādām figūrām programmai jāspēlē, tai konsolē jāizvada rinda "figure?" un pēc tam konsolē jānolasa rinda, kas sastāv no viena simbola. Ja programmai jāspēlē ar krustiņiem, tad nolasītais simbols būs lielais latīņu burts X, ja ar nullītēm, tad – simbols nulle ('0').
3.4.3. Lai noteiktu pretinieka izdarīto gājienu, programmai konsolē jāizvada rinda "step?" un tad konsolē jānolasa rinda, kas sastāv no diviem simboliem, kuri apzīmē pretinieka gājiena koordinātas.
3.4.4. Programmas veiktā gājiena koordinātas konsolē jāizvada kā rinda, kuras sākumā rakstīts "step!" (piemēram, "step B7").
3.4.5. Gājiena koordinātas tiek pierakstītas divu simbolu veidā: latīņu burts, kas apzīmē kolonnu (A..J), un burts, kas apzīmē rindu (0..9), tādējādi pieļaujamie gājieni ir A0..J9.
3.4.6. Ja pirmais komandrindas parametrs ir INFO, programmai konsolē jāizvada informācija par autoru: pirmajā rindā jāieraksta vārds un uzvārds, otrajā – augstskola, kurā studē, fakultāte un kurss (skola un klase); pēc tam programmai jāizlādējas no atmiņas.
3.4.7. Vārda, uzvārda un augstskolas nosaukuma pierakstā jāizmanto tikai latīņu alfabēta burti.
3.4.8. Programmai tiek dotas 5 sekundes, lai izskaitļotu izdevīgāko gājienu. Laika atskaite sākas brīdī, kad programma saņem atbildi par pieprasīto pretinieka gājienu (pirmajam gājienam laika atskaite sākas ar programmas palaišanu) un laika atskaite beidzas ar izdarītā gājiena koordināšu ierakstīšanu konsolē.
3.4.9. Ja programma nav izdarījusi gājienu noteiktajā laikā, tad tās izpilde tiek pārtraukta un tā zaudē.
4. Turnīra norise
4.1. Turnīrs risināsies trīs kārtās organizatoru noteiktajā laikā.
4.2. Visās turnīra kārtās sacensības starp dalībnieku programmām notiek programmas-menedžera vadībā. Turnīra norises laiku paziņo atsevišķi.
4.3. Pirmā kārta: turnīra dalībnieki nodod organizatoram savas programmas, kuras tiek pārbaudītas pret vīrusiem un kļūdām, un pēc tam tiek iekļautas turnīra dalībnieku sarakstā.
4.4. Programma tiks atzīta par korektu, ja tā uzvarēs pārbaudes programmu, kuru organizators publicēs pirms turnīra sākuma.
4.5. Pārbaudes programma gājienu izdarīs, balstoties uz pseidonejaušo skaitļu ģeneratora ģenerētajām vērtībām, tās kods tiks publicēts pirms turnīra.
4.6. Otrā kārta: katra dalībnieka programma ar katru pretinieka programmu spēlē 5 partijas.
4.7. Katra partija sastāv no divām spēlēm - pirmo reizi spēli sāk pirmā programma, otro reizi – otrā.
4.8. Pirmā partija sākas ar tukšu spēles lauku, bet pārējās četrās spēlēs spēles lauks jau sākumā ir daļēji aizpildīts.
4.9. Figūru sākotnējais izvietojums uz spēles lauka šajās četrās partijās turnīra dalībniekiem nav zināms, tas tiks publicēts pēc turnīra otrās kārtas noslēguma.
4.10. Katrā partijā var iegūt 4 punktus: uzvara tiek novērtēta ar 2 punktiem, neizšķirts – ar 1, bet par zaudējumu punkti netiek piešķirti.
4.11. Trešā kārta: fināls. Šajā kārtā piedalās triju dalībnieku programmas, kas otrajā kārtā savākušas visvairāk punktu (ja dalībnieku programmām ir vienāds punktu skaits, tad tiek spēlētas papildus partijas).
4.12. Finālā katra dalībnieka programma ar katru pretinieka programmu spēlē 3 partijas (pirmās partijas sākumā spēles lauks ir tukšs, bet abu nākošo partiju sākumā spēles lauks ir daļēji aizpildīts).
4.13. Turnīra uzvarētāji tiek noskaidroti, ņemot vērā fināla un "dopinga kontroles" rezultātus.
4.14. "Dopinga kontroles" mērķis ir pārliecināties par autortiesībām uz iesniegto programmu.
4.15. "Dopinga kontroles" laikā fināla programmu autoriem jāiesniedz savu programmu izejas kodi un jāatbild uz žūrijas un pārējo turnīra dalībnieku uzdotajiem jautājumiem. Lēmumu par dopinga kontroles norises laiku pieņem žūrija.
4.16. Turnīra pirmās divas kārtas notiek neklātienē, trešā – klātienē.
4.17. Turnīra pirmās kārtas norises laikā dalībnieki var mainīt savas programmas, otrās kārtas norises laikā tas vairs nav iespējams.
4.18. Turnīra dalībnieki, kas piedalīsies finālā, līdz tā sākumam var uzlabot savas programmas.
4.19. Turnīra uzvarētāji tiks apbalvoti.



--==! Created by : Vadim Andrijevsky !==--