Witam. Zrobiłem projekt gry "tic tac toe" (kółko i krzyżyk). Gdy chciałem dodać sędziego do projektu, okazało się, że gdy jest linia z kółek, sędzia reaguje od razu, ale gdy są to krzyże, to reaguje dopiero po zapełnieniu kolejnego pola kółkiem, w wypadku remisu także czeka. Czy ktoś mógłby mi wytłumaczyć co trzeba zmienić w kodzie? Albo podesłać poprawioną wersję? W załączniku daję projekt stworzony w Sharp Develop, ale można go także (mam nadzieję) otworzyć w VS, ma rozszerzenie .vsproject.
PS: Program nie jest ukończony.
PPS: Jestem początkującym, więc proszę o wyrozumiałość.
0
1
Jeżeli nie wrzucisz tego na jakiegoś GIT'a albo coś w tym stylu to marne szanse, że ktokolwiek zaryzykuje otworzenie tego zipa. Tym bardziej pochodzącego od osoby, która dopiero co się zarejestrowała.
0
void updtPlayer(bool p){
if(p){
checkRound();
pictureBox10.Image=crossMmsg;
pictureBox13.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
pictureBox15.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
pictureBox14.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
pictureBox16.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
}else{
checkRound(); /////////////////////tego ci brakuje
pictureBox10.Image=circleMmsg;
pictureBox13.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
pictureBox15.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
pictureBox14.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
pictureBox16.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))));
}
}
0
dam1an napisał(a):
void updtPlayer(bool p){ if(p){ checkRound(); pictureBox10.Image=crossMmsg; pictureBox13.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); pictureBox15.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); pictureBox14.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); pictureBox16.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); }else{ checkRound(); /////////////////////tego ci brakuje pictureBox10.Image=circleMmsg; pictureBox13.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); pictureBox15.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(192)))), ((int)(((byte)(0)))), ((int)(((byte)(0))))); pictureBox14.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); pictureBox16.BackColor=System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0))))); } }
Dzięki :)
2
Co nie zmienia faktu, że to:
(((int)(((byte)(0)))), ((int)(((byte)(192)))), ((int)(((byte)(0)))))
...jest jakiś totalny ROTFL. Po co robisz jakieś dziwne rzutowania kiedy ta metoda oczekuje zwyczajnie int'a
? O_o
https://msdn.microsoft.com/pl-pl/library/cce5h557(v=vs.110).aspx
Jeszcze gdybyś wartości brał z jakichś metod co to zwracają inny typ etc... ale przecież wpisujesz je na żywego twardymi wartościami.