No, yritetään...
Kaikki tallennukset, jotka pelissä tarvitsee tehdä tulee tehdä php:llä, koska sockettia tuskin normaali applet antaa tehdä kenen kanssa tahansa. Lisäksi appletissa on rajoitus, ettei saa tallentaa levylle. (Tämänkin voi kiertää luotetuilla appleteilla, mutta sellaista tuskin kannattaa tämän projektin kanssa tehdä. (Enkä sellaisia osaa itse tehdäkään, mutten ole yrittänytkään, kun sen pystyy kiertämään php:n avulla).)
Tein esimerkin php:n ja Java-Appletin yheistyöstä Ohjelmointiputkaan.
http://www.ohjelmointiputka.net/koodit_nayta.php?tunnus=910Kannattaa myös yrittää lukea PHP:tä, jossa siis muuttujien nimet alkavat $:lla ja niitä ei tarvitse esitellä.
Kommentteja olen näköjään jaksanut kirjoittaa normaalia enemmän.
Sitten siihen shakkiin...
Php:llä kirjaudutaan sisään.
Php:llä luodaan uudet pelit.
Kun mennään pelaamaan, niin Php huolehtii pelitilanteesta ja Appletti siirtojen oikeellisuudesta ja lähettää PHP:lle siirrot GET-parametrin välityksellä - vai oliko peräti POST-parametrin välityksellä (En muista). Parametrilla lähetään salasanat ja käyttäjätunnukset joka kerta.
- PHP - tallettaa siirron, jonka jälkeen Java-siirtyy kauko-ohjaustilaan, jolloin ei voi siirtää nappuloita.
- Kauko-ohjaintila lähettää kyselyjä joko vastustaja on jo siirtänyt.
- Siinä lähetetään lähinnä siirto, monetta siirtoa odotetaan ja login-tiedot.
- Jos ei ole vielä siirtoa tapahtunut, niin php-palauttaa null:in.
- Jos Kauko-ohjaintila saa palautteeksi null:n niin se odottaa hetken ja lähettää hetken päästä uudestaan siirtokyselyn, kunnes siirto tapahtuu.
- Kun siirto tapahtuu, siirtyy siirtäjä kauko-ohjaustilaan ja kauko-ohjaustilassa ollut saa PHP:ltä siirron, jonka siirtäjä on siirtänyt.
- Aikaisemmin kauko-ohjaustilassa ollut siirtyy takaisin siirto-tilaan.
Tätä jatketaan siis niin kauan kunnes toinen pelaaja joutuu mattiin tai pattiin. Ikuista sakkia en ole ottanut huomioon, enkä pelin kesken sopimista tai luovuttamista. (Ainakaan muistaakseni, mutta sotilaan korotukset ainakin jossakin versiossani löytyy.)