• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Mam za zadanie zrobic komputer ktory gra ze mna w kółko i krzyżyk i niewiem jak sie do tego zabrać

Object Storage Arubacloud
0 głosów
1,031 wizyt
pytanie zadane 25 października 2019 w JavaScript przez Kuba Romańczuk Początkujący (320 p.)
	<html>
	<head>
<title>Kółko Krzyżyk</title>
	<style>
	.przycisk{
	  width:100px;
	  height:100px;
	  background-color:pink;
	  coulor:white;
	  font-size:80px;
	}
	</style>
	</head>
	
	<script>
	var kolko,remis;
	remis=true;
	kolko=false;
	
	function zablokuj()
	{
	for(let i=1;i<10;i++)
	document.getElementById('button'+i).disabled=true;
	}
	function odbokuj()
	{
	for(let i=1;i<10;i++)
	document.getElementById('button'+i).disabled=false;
	}
	
	
	function sprawdz(a,b,c,znak)
	{
	let x,y,z;   //sprawdz ('button 1",'button 2",'button 3","O")
	x=document.getElementById(a).value;
	y=document.getElementById(b).value;
	z=document.getElementById(c).value;
	
	if(x==y&&(y==z)&&(z==znak))
	{
	  remis=false;
	  zablokuj();	
		alert("Wygral "+znak);
	
	}
		if(	document.getElementById('button1').value!="")
		if(	document.getElementById('button2').value!="")
		if(	document.getElementById('button3').value!="")
		if(	document.getElementById('button4').value!="")
		if(	document.getElementById('button5').value!="")
		if(	document.getElementById('button6').value!="")
		if(	document.getElementById('button7').value!="")
		if(	document.getElementById('button8').value!="")
		if(	document.getElementById('button9').value!="")
		if(remis=true)
		alert ("R-E-M-I-S");
	}
	function wybor(gracz)
	{
	if(	document.getElementById(gracz).value=="")
	
	if(kolko==false )
	{
	document.getElementById(gracz).value="O";
	kolko=true;
	//krzyzyk=false
	}
	
	else
	{
	document.getElementById(gracz).value="X";
	kolko=false;
	
	}
	sprawdz('button1','button2','button3','O');
	sprawdz('button4','button5','button6','O');
	sprawdz('button7','button8','button9','O');	
	
	
	sprawdz('button1','button4','button7','O');
	sprawdz('button2','button5','button8','O');
	sprawdz('button3','button6','button9','O');
	
	
	sprawdz('button1','button5','button9','O');
	sprawdz('button3','button5','button7','O');
	
	sprawdz('button1','button2','button3','X');
	sprawdz('button4','button5','button6','X');
	sprawdz('button7','button8','button9','X');	
	
	
	sprawdz('button1','button4','button7','X');
	sprawdz('button2','button5','button8','X');
	sprawdz('button3','button6','button9','X');
	
	
	sprawdz('button1','button5','button9','X');
	sprawdz('button3','button5','button7','X');
	

	}

	
	
	</script>
	</head>
    <body>
	   <input class="przycisk"type="button" id="button1" onClick="wybor('button1')">
	   <input class="przycisk"type="button" id="button2" onClick="wybor('button2')">
	   <input class="przycisk"type="button" id="button3" onClick="wybor('button3')"><br>
	   <input class="przycisk"type="button" id="button4" onClick="wybor('button4')">
	   <input class="przycisk"type="button" id="button5" onClick="wybor('button5')">
	   <input class="przycisk"type="button" id="button6" onClick="wybor('button6')"><br>
	   <input class="przycisk"type="button" id="button7" onClick="wybor('button7')">
	   <input class="przycisk"type="button" id="button8" onClick="wybor('button8')">
	   <input class="przycisk"type="button" id="button9" onClick="wybor('button9')"><br>
	
	
	
	
	</body>
	</html>

Mam problem z gra kolko i krzyzyk poniewaz mam za zadanie zrobic gre z komputerem  jakis pomysl w glowie mam ale nie posiadam wiedzy by to przezucic na skrypt

1
komentarz 25 października 2019 przez Tomek Sochacki Ekspert (227,510 p.)
a chociaż próbowałeś sam coś wyszukać w google... bo na hasło "tic tac toe algorithm" widzę tysiące stron z gotowym omówieniem algorytmów :) Weź pierwszą z brzegu i spróbuj poanalizować jak to może być zrobione.
komentarz 25 października 2019 przez Kuba Romańczuk Początkujący (320 p.)
patrzyłem ale kazda strona jaka widzialem miala kompletne inne komendy ktorych ja jeszcze nie mialem a musze to zrobic znajacymi do tej pory w szkole
1
komentarz 25 października 2019 przez Tomek Sochacki Ekspert (227,510 p.)
al;e Ty nie masz patrzeć na konkretne funkcje w JS, to jest akurat najmniej istotne, chodzi o to, abyś poczytał jakiś przykładowy algorytm pseudokodem, który potem po prostu trzeba przełożyć na konkretny język. Sporo książek i publikacji o algorytmach ma pseudokod bo nie ma kompletnie znaczenia w jakim języku piszesz, ważne jest ogólne rozwiązanie.

A co do samych funkcji no to masz bardzo dobrą dokumentację na MDN, znajdziesz tam wg mnie wszystko czego potrzeba do takiego zadania.
1
komentarz 25 października 2019 przez MsMaciek123 Pasjonat (24,760 p.)

@Kuba Romańczuk, algorytm to sposób myślenia, który pokazuje jak coś zrobić. To czy ty to zaprogramujesz w JavaScript, czy w innym języku nie ma znaczenia. Jeżeli musisz napisać to w JavaScript i musi to być materiał który znasz do tej pory, po prostu zrozum ten algorytm, musisz wiedzieć jak takie coś obliczyć, po to jest właśnie algorytm. Następnie skup się na tym, aby przelać to na kod i przetestować.

komentarz 25 października 2019 przez Kuba Romańczuk Początkujący (320 p.)
bede próbował moze cos z tego wyjdzie.Dzieki

3 odpowiedzi

+1 głos
odpowiedź 27 października 2019 przez DawidK Nałogowiec (37,910 p.)
Moim zdaniem zamiast od razu robić sztuczną inteligencje dla komputera w oparciu o algorytm min-max możesz zacząć od mniejszych kroków i po koleji to rozwijać, żeby lepiej zrozumieć:

1) na początku możesz sprawdzić czcionke - chyba nie czarna była twoim zamiarem ;)

2) póżniej możesz poprawić błąd związany z pętlą, która ciągle w petli wyświetla alert "remis" gdy jest remis

3) spróbuj przebudować plansze na dwuwymiarową tablice 3x3 (może Ci się to póżniej przydać)

4) spróbuj zaimplementować sprawdzanie w pętli a nie 16 razy wywołując funkcje 'sprawdz'

5) spróbuj na początek zrobić prymitywną sztuczną inteligencje, gdzie komputer wstawia swój ruch losowo w wolne pole

6) spróbuj rozbudować inteligencje komputera, żeby wstawiał swój ruch w pole gdy będzie wiedział, że wygra lub losowo w przeciwnym wypadku

7) spróbuj zrobić sztuczą inteligencje za pomocą algorytmu min-max
0 głosów
odpowiedź 25 października 2019 przez Zayebisty Gaduła (3,200 p.)
to przedstaw swoj pomysl.. przeciez nie damy ci gotowca
komentarz 25 października 2019 przez Kuba Romańczuk Początkujący (320 p.)
wiem o tym .Mim pomyslem jest to ze komputer bedzie wstawial dany znak np"X" w pole ktore jeszcze nie zostalo zajete przez uzytkownika lub komputer
0 głosów
odpowiedź 27 sierpnia 2020 przez mdw Nowicjusz (180 p.)
Można użyć algorytmu min-max, coś takiego jak tu: https://youtu.be/bT2AzWEKmSs

Podobne pytania

0 głosów
0 odpowiedzi 564 wizyt
pytanie zadane 26 października 2019 w JavaScript przez Kuba Romańczuk Początkujący (320 p.)
–1 głos
1 odpowiedź 3,329 wizyt
+1 głos
1 odpowiedź 257 wizyt

92,760 zapytań

141,684 odpowiedzi

320,470 komentarzy

62,104 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...