Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP + HTML + ?]Szachy na WWW, Czy da się zrobić szachy?
arogant
post 27.09.2013, 13:55:19
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 16.08.2012
Skąd: Rybnik Śląsk

Ostrzeżenie: (0%)
-----


Witam.
Jestem uczniem 2 Gim i muszę zrobić projekt.
Wybrałem z kolegą projekt informatyczny.
Nasz nauczyciel informatyki powiedział żebyśmy sobie wybrali jakiś temat. Po długim namyśle stwierdziliśmy że zrobimy szachy przez WWW. Oto mój plan:

1. Normalne szachy 8 x 8 pól czarno białe

2. Figury tak samo. Jaśniejsza czerń i ciemniejsza biel.

3. Szachy będą online:

a) 2 graczy:

- 1 gracz przy jednym PC

- 2 gracz przy drugim PC

b) logowanie do swojego konta, aby zapisywały się wyniki

- proste logowanie na stronę

c) ranking rozegranych rund:

- dniowy

- tygodniowy

- całkowity

d) może coś więcej

4. Szachy w PHP + HTML + SQL (jeśli to możliwe)

5. Możliwe że w ta gra będzie dostępna dla wszystkich uczniów szkoły i chciałbym zakodować (darmowo) skrypt


i teraz mam do Was pytanie (mam Was za ekspertów):

- Czy te Szachy będzie dało zrobić się w samym PHP + HTML czy muszę dodać do swojej głowy jakieś języki?

- Jakie to będą języki?

- Czy jest to dobry pomysł?

- Co muszę zrobić aby 2 gracze na różnych komputerach grali przeciwko sobie?


Jakby co mam mocny serwer VPS ale mój nauczyciel powiedział, że jak projekt będzie fajny to postawi mi te Szachy na szkolnym serwerze dedykowanym.


Jeśli mi się uda to dodam skrypt do ogólnego dostępu :)


Pozdrawiam i prosze o pomoc :)
Go to the top of the page
+Quote Post
SmokAnalog
post 27.09.2013, 14:02:35
Post #2





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Porywasz się na duży projekt. Teoretycznie PHP + HTML wystarczy, ale wtedy gracze będą musieli odświeżać stronę, żeby sprawdzić czy przeciwnik już wykonał ruch. Niezbyt to wygodne, powinieneś do tego włączyć JavaScript.
Go to the top of the page
+Quote Post
arogant
post 27.09.2013, 14:05:00
Post #3





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 16.08.2012
Skąd: Rybnik Śląsk

Ostrzeżenie: (0%)
-----


aha dzięki. No wiesz. Mam czas do czerwca a nie mam co robić. Własny hosting juz zrobiłem, serwer MC też smile.gif to teraz jak jest okazja a to ma mi pomóc dostać się do technikum informatycznego to czemu nie. A jaki ma to być ten skrypt JS? Odświeża całą strone czy tylko okno gry?
Go to the top of the page
+Quote Post
kamil4u
post 27.09.2013, 14:05:29
Post #4





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

Ostrzeżenie: (0%)
-----


Cytat
- Czy te Szachy będzie dało zrobić się w samym PHP + HTML czy muszę dodać do swojej głowy jakieś języki?

Da się. Ale przydałoby się coś jeszcze.

Cytat
- Jakie to będą języki?

CSS - wygląd
JavaScript - AJAX + wybór konkretnego ruchu za pomocą myszki( "przesuwanie figur")

Cytat
- Co muszę zrobić aby 2 gracze na różnych komputerach grali przeciwko sobie?

Najłatwiej będzie jak poczytasz jak się robi chat-y - zasada jest identyczna
Warto dodać, że w HTML 5 możesz operować na socket-ach -> websocket

Generalnie projekt dość trudny( biorąc pod uwagę Twój wiek ). Masz dość ogólne pytania to dostałeś ogólne odpowiedzi. Jak coś zadaj konkretne pytanie. Powodzenia!


--------------------
Go to the top of the page
+Quote Post
arogant
post 27.09.2013, 14:10:31
Post #5





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 16.08.2012
Skąd: Rybnik Śląsk

Ostrzeżenie: (0%)
-----


aż taki tępy nie jestem smile.gif
jak widać strone fajną zrobiłem -> polishhost.pl
tylko będzie najtrudniej z tym odświeżaniem i żeby 2 komputery mogły grać ;/
pomysle z panem i kolegą jeszcze nad tym dokładniej bo Pan może nam pomagać. Dzięki za pomoc. Później się odezwe
Go to the top of the page
+Quote Post
em1X
post 27.09.2013, 19:39:38
Post #6





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


Nie takie znowu trudne. Tworzysz rekord w tabeli GRA, blokujesz go dla dwóch konkretnych użytkowników i do przodu. JavaScriptem "ping" do serwera AJAXem, żeby sprawdzić czy były jakieś zmiany.

Nadchodzące problemy:
1) Będzie sporo walidacji, figury można przesunąć tylko w określony sposób.
2) Algorytm obliczenia czy mamy doczynienia z "szachem" oraz "szach matem".
3) Sposób zapisu ruchów do bazy, przechowywanie ruchów w bazie.

1) Przydałoby się trochę porządnego programowania obiektowego. Martwię się, że porywasz się z motyką na słońce, ale powodzenia.
2) Co do Twojej wspaniałej strony, zainteresuj się w Google co to HTML INJECTION.

Ten post edytował em1X 27.09.2013, 19:45:11


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
com
post 27.09.2013, 19:51:30
Post #7





Grupa: Zarejestrowani
Postów: 3 033
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


tak jak już powiedziano bez JS i Ajaxa to raczej tak jak powiedziano porywanie z motka na słońce... zawsze można podpatrzeć u innych, nie jesteś pierwszym który na to wpadł necie jest pełno szachów w html i js wink.gif
Go to the top of the page
+Quote Post
em1X
post 27.09.2013, 22:35:44
Post #8





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


Struktura bazy:


Jeżeli chcesz zmniejszyć skalę skomplikowania, doradzałbym wstawić dwa przyciski SZACH oraz SZACH MAT, gracze sami by o tym decydowali kiedy gra powinna się zakończyć. Pozostaje tak czy siak walidacja ruchu każdej z figur.

Ten post edytował em1X 27.09.2013, 22:38:16


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
arogant
post 28.09.2013, 07:50:55
Post #9





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 16.08.2012
Skąd: Rybnik Śląsk

Ostrzeżenie: (0%)
-----


Cytat(em1X @ 27.09.2013, 20:39:38 ) *
2) Co do Twojej wspaniałej strony, zainteresuj się w Google co to HTML INJECTION.


HTML INJECTION?? Slyszalem o php injection ale o html nie, dzięki za pomoc

A co do reszty to tak:

1. Zrobiłem już skrypt, który generuje plansze
2. Mam już zrobione pionki, i tak:
a)
  1. <td bgcolor=silver width=50> <img src="<? $bionek ?>"/> <font color=yellow></font></td>

- co zrobić aby ten skrypt pokazywał pionek? Próbowałem już wielu sposobów
- $bpionek = "pionki/biale/pionek.gif"; to zmienna która poklazuje gdzie jest obrazek pionka
cool.gif powiadacie zrobić to razem z SQL? Coś da się wykombinować
c) AJAX i JS?? będzie mały problem bo nie ogarniam AJAXa smile.gif ale sie poucze smile.gif

Są jeszcze jakieś zatwierdzenia do tego?
Go to the top of the page
+Quote Post
SmokAnalog
post 28.09.2013, 09:05:45
Post #10





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Kolego, nie chcę Ci podcinać skrzydeł, ale Twój powyższy post tylko potwierdza, że nie ukończysz tych szachów. Też byłem w wieku gimnazjalnym i pamiętam, że też wszystkie projekty wydawały mi się wykonalne, ale tak nie było. Mówiąc krótko, nie masz jeszcze wystarczających umiejętności.

Ale jeśli koniecznie chcesz zrobić grę, może jakaś prostsza gra jednoosobowa? Wisielec lub Saper są stosunkowo łatwe w implementacji (Wisielec łatwy, Saper w miarę łatwy).
Go to the top of the page
+Quote Post
em1X
post 28.09.2013, 10:52:05
Post #11





Grupa: Zarejestrowani
Postów: 984
Pomógł: 41
Dołączył: 16.03.2002
Skąd: Płock

Ostrzeżenie: (0%)
-----


Cytat(arogant @ 28.09.2013, 08:50:55 ) *
- co zrobić aby ten skrypt pokazywał pionek? Próbowałem już wielu sposobów
- $bpionek = "pionki/biale/pionek.gif"; to zmienna która poklazuje gdzie jest obrazek pionka


pionki/biale/pionek.gif? Ty masz przecież figury wyświetlać, począwszy od zwykłych pionków, po konie, wieże, króla, królową itd.
Poza tym adres, który podałeś w zmiennej to adres relatywny, do tego trzeba na początku dołożyć ścieżkę bezwzględną katalogu, z którego uruchamiasz skrypt. Jeżeli jest to folder /gra, to cała ścieżka powinna wyglądać /gra/pionki/biale/pionek.gif.

Cytat(arogant @ 28.09.2013, 08:50:55 ) *
cool.gif powiadacie zrobić to razem z SQL? Coś da się wykombinować


A jak inaczej chcesz zapisywać stan pionków na planszy? Jeżeli bez bazy to chyba Tobie chodzi o zrobienie szachów stricte client-side za pomocą JavaScriptu. Wtedy do czego Ci PHP potrzebny?


Cytat(arogant @ 28.09.2013, 08:50:55 ) *
c) AJAX i JS?? będzie mały problem bo nie ogarniam AJAXa smile.gif ale sie poucze smile.gif


Sporo nauki przed Tobą.

Cytat(arogant @ 28.09.2013, 08:50:55 ) *
Są jeszcze jakieś zatwierdzenia do tego?


Nie rozumiem pytania.


--------------------
eh, co polska wódka to polska wódka
Go to the top of the page
+Quote Post
arogant
post 29.09.2013, 18:55:06
Post #12





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 16.08.2012
Skąd: Rybnik Śląsk

Ostrzeżenie: (0%)
-----


dobra czyli widze że tego nie zrobie ;(

Macie może jakieś pomysły na projekt informatyczny, pomijając Wisielca i Sapera?
Go to the top of the page
+Quote Post
SmokAnalog
post 29.09.2013, 19:20:36
Post #13





Grupa: Zarejestrowani
Postów: 1 707
Pomógł: 266
Dołączył: 3.07.2012
Skąd: Poznań

Ostrzeżenie: (0%)
-----


A co jest nie tak z wisielcem i saperem? smile.gif

Napisz co Cię kręci, najlepiej zahaczyć o jakieś Twoje zainteresowania, żeby Ci się przyjemnie tworzyło. Lepiej też zrobić projekt mniejszy, ale go dopracować. Przy Twoim obecnym stanie wiedzy stworzenie szachów zajęłoby Ci jakiś rok.
Go to the top of the page
+Quote Post
yayco
post 30.09.2013, 10:45:47
Post #14





Grupa: Zarejestrowani
Postów: 32
Pomógł: 2
Dołączył: 22.01.2008

Ostrzeżenie: (0%)
-----


Duzo łatwiej by było użyć warstw do stworzenia szachownicy (mozesz wykorzystac jakiś grid system) następnie nadać każdemu polu #id i .klase. Dzięki #id możesz się odwoływać do biblioteki jquery co sprawi że wystarczą tylko podstawy jezyka javascipt. Zas dzieki klasie mozesz nadac styl szachownicy (kod bedzie duzo bardziej przejrzysty).

Kod
.blackfield {
background-color: #000;
}
.whitefield {
background-color: #fff;
}
Go to the top of the page
+Quote Post
buliq
post 30.09.2013, 11:03:50
Post #15





Grupa: Zarejestrowani
Postów: 559
Pomógł: 93
Dołączył: 4.03.2008
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


  1. <? $bionek ?>

To nie to samo co:
  1. <?= $bionek ?>

Czy też:
  1. <?php echo $bionek ?>



Cytat
a to ma mi pomóc dostać się do technikum informatycznego

Co to za wał?

Ten post edytował buliq 30.09.2013, 11:05:08


--------------------
KTOŚ TU PACZY???

Kompedium wiedzy
Go to the top of the page
+Quote Post
Wazniak96
post 30.09.2013, 13:06:35
Post #16





Grupa: Zarejestrowani
Postów: 550
Pomógł: 75
Dołączył: 5.06.2012
Skąd: Lębork

Ostrzeżenie: (0%)
-----


1. Tak jak napisali powyżej. Nie masz wystarczającej wiedzy.
2. Strona twojego hostingu jezt skąpa i mało bogata w treść. Nie wykupiłbym usługi na takim hostingu patrząc choćby na regulamin. Na zagranicznych stronach można znaleźć znacznie lepsze style dla hostingu za free. Na pewno będzie lepiej to wyglądać.
3. Spróbuj stworzyć coś w stylu serwisu społecznościowego twojej szkoły/ własną interpretację dziennika elektronicznego / coś w stylu dysku online. Możesz działać tutaj tylko na PHP, HTML/CSS i SQL. Nie są też takie proste także na projekt się nadają smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 26.04.2024 - 14:28