Sto se tice problema kradje procesorskog vremena mislim da imam resenje.
U dole prilozenoj arhivi je izvorni kod i izvrsna verzije programa za testiranje igraca kao i tri igraca za testiranje programa.
Pre samog pocetka testiranja igraca (dll-a) izbroji se broj thread-ova programa. Zatim se igraci testiraju na postojanje funkcija
TableSetupMoves i
GameMove, zatim na ispravnost funkcionisanja
TableSetupMoves tj. mora vratiti ispravan checksum. Na kraju se 10 puta poziva funkcija
GameMove i proverava se broj threadova. Ako
GameMove vrati broj izvan opsega 0-9 ili je broj thread-ova veci nego na pocetku igrac nije prosao test.
Za testiranje sam napravio 3 igraca. Prvi mora uvek da prodje test jer ne kreira nikakve thread-ove. Drugi i treci igrac kreiraju thread-ove i moraju uvek da padne na testu.
E sada, ovo je jos uvek potrebno dodatno ispitati da li zaista funkcionise kako treba. Inace vec pred sam kraj pisanja programa sam mislio da ovo nece funkcionisati jer je moguc razlicit broj thread-ova za istog igraca. Na primer, ucitam prvog (postenog

) i za njega se prijavi 4 thread-a (nisu njegovi nego od celog programa). Onda ucitam drugog i za njega javi 6 thread-ova. E sad ponovo ucitam prvog i kod njega sada javlja 5 thread-ova. Zato sam pomislio da ovo nece funkcionisati, ali ako pre ucitavanja izbrojimo broj thread-ova i onda kada pocnemo koristiti igraca ponovo izbrojimo, broj thread-ova mora biti isti ukoliko doticni igrac nije kreirao neki thread.
Nenade, na tebi je da odlucis da li ce se ovaj test koristiti ili ne.
PS: Mihajlo je ranije komentarisao broj partija. Dok sam po internetu trazio "DOKUMENTACIJU" za algoritme koji se primenju u ovakvim igrama, saznao sam da su neki ljudi radili naucne radove (diplomski, doktorat?) na temu igre connect-4 i jedan tip je dokazao da u ovoj igri sa standardnom tablom 7x6 prvi igrac moze uvek da pobedi (naravno ako odigra prave poteze). Znaci da igrac koji pocinje prvi tj. odigra 3 partije od 5 kao prvi igrac ima prednost. Mozda bi ovde bila bolja koncepcija kao kod tenisa: minimum tri odigrane partije i sa dve razlike.