Problem - Sędzia Tic Tac Toe C# .NET

0

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ść.

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.

1 użytkowników online, w tym zalogowanych: 0, gości: 1