Kirjautuminen

Haku

Tehtävät

Keskustelu: Yleinen keskustelu: Shakkipalvelu

Sivun loppuun

msdos464 [23.01.2006 13:52:25]

#

Tiede.fi:n foorumilla joku ehdotti yksityisviestein käytävää shakkiturnausta.. ajattelin että tähän tarkoitukseen olisi täysin mahdollista kehittää kunnon nettisivu. Tulevan sivun ominaisuuksia:

* voi ilmaiseksi rekisteröidä oman nimimerkin
* pelata ja aloittaa shakkipelejä muita rekisteröityneitä vastaan
* voisi lähettää haasteen toiselle pelaajalle
* mahdollisesti jonkinlainen ranking systeemi
* järjestää turnauksia

Olen jo aloittanut tuon tekemisen PHP:llä, mutta olen vielä ihan alkuvaiheessa. Olisi kiva tehdä tätä 2-3:n muun tyypin avustuksella, kun itsellä on puutteitta mm. kuvien tekemisestä eri shakkitilanteista (ei liene monimutkaista)..

Tarvitaan vain siis jonkinlainen tietokanta, jossa on kullekkin pelaajalle tiedot käynnissä olevista peleistä ja niiden siirrot jne. Dataa tuskin tulee kovin paljoa.. sivut olisivat todennäköisesti aluksi omalla koneellani (Abyss+PHP), jatkosta ei tiedä viellä.

Onko kiinnostuneita? Itse osaan jossain määrin PHP:tä (toistaiseksi liian vähän), html melko hyvin, myös javascriptin osaan mutta sitä tulisi välttää..

En tiedä vielä millä systeemillä itse siirrot tehtäisiin.. yksi vaihtoehto olisi, että klikataan siirrettävää nappulaa ja sen jälkeen haluttua ruutua. Java appletilla tuohon saisi tehtyä raahauksenkin, mutta en usko että se on kovin välttämätöntä.

Ranking systeemiin tulisi jokin Battle.net:in War Craft 3 tyylinen systeemi, profiilissa näkyisi voitot, häviöt ja experience (joka lasketaan jollain kaavalla esim. pelin kulusta). Vaikeammasta pelistä saisi enemmän expaa...

Tarvitaan siis pari kolme PHP ja html taitoista tyyppiä. Itsekkin tämän varmaan saisi tehtyä, mutta projekti kestäisi huomattavasti pidempään.

tsuriga [23.01.2006 15:05:40]

#

Tämmoinen oli joskus mietinnän alla vaan ku loppu tuo shakkiharrastus ni eipä tuota palveluakaan jaksanu sitten vääntää pystyyn. Nyt ei kyllä lisäprojekteja auta otella, mutta jotain ehdotuksia löytyy. Eli:

-ei tuo appletti ole olennainen
-tietokanta mysql/postgrep tms. ja sinne siirrot tyyliin b2-b4. Lisäksi mahdollisesti 8x8 ASCII tilannekuva helpottamaan tilanteen piirtämistä?
-Tuo klikattava nappula on jees, lisäksi ehkä mahdollisuus kirjoittaa siirto.
-Aito vahvuuslukuranking olisi gutaa shakkiharrastajille, mutta en tiedä yhtään, toimiiko se jonkin kaavan mukaan vai kuinka(?).

Ps. 'Shakkipalvelu'

msdos464 [23.01.2006 15:13:32]

#

Tällä hetkellä lauta on näin: http://msdos464.no-ip.com/php/shakki/shakki.php

Jokainen tietty kirjain edustaa tietyn värin tiettyä nappulaa.. projekti on tosiaan vielä alkuvaiheessa. Tietokantoja en ole aiemmin ohjelmoinut.

edit: laudan data on siis yhtenä stringinä, jossa on 64 merkkiä.

jideko [23.01.2006 16:09:28]

#

Ehdottaisin tuon laudan tekemistä php:n GD kirjaston avulla. Opas: https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=gdlb.

Linkit tuohon kuvaan saat sitten tehtyä imagemapilla.

msdos464 [23.01.2006 17:33:36]

#

Vaikuttaa hyvältä, kiitos :)

T.M. [23.01.2006 17:59:31]

#

Helpompi ratkaisu laudan tekemiseen on kyllä tuo alkuperäinen, sillä yhden ison (ja aina erilaisen) kuvan latautuminen vie huomattavasti enemmän aikaa, kuin HTML koodin ja sen kuvien hakeminen välimuistista.
Ainakin itse olen huomannut tämän ratkaisun parhaimmaksi tuollaisissa peleissä.

tsuriga [23.01.2006 18:38:06]

#

Numerot voisivat olla heti laudan vieressä, jotta se näyttäisi samalta kuin laudat yleensä. Lauta HTML-koodina kuulostaa hyvältä.

msdos464 [23.01.2006 18:49:03]

#

Pitäisi kuitenkin laittaa ne nappulat jotenkin havainnollisemmaksi. Yritin laittaa jonkinlaisen mustan ohuen reunuksen siihen numeroiden ja laudan väliin, mutta vaakasuoraa viivaa en saanut tarpeeksi ohueksi niin laitoin pystysuunnassakin yhtä paksuksi.

Lebe80 [23.01.2006 19:23:16]

#

msdos464 kirjoitti:

Pitäisi kuitenkin laittaa ne nappulat jotenkin havainnollisemmaksi. Yritin laittaa jonkinlaisen mustan ohuen reunuksen siihen numeroiden ja laudan väliin, mutta vaakasuoraa viivaa en saanut tarpeeksi ohueksi niin laitoin pystysuunnassakin yhtä paksuksi.

Css:ää kehiin niin saat ohutta viivaa.

Itse en myöskään tällaisessa projektissa gd-libraryä käyttäisi, kun kaikki onnistuu käytännön kannalta helpommin normaalilla html:llä (esim. nappulat läpinäkyvillä gif-kuvilla) ja shakkilauta tablella.

Tällöin kuvat (nappulat) voi laittaa esim. linkeiksi, jolloin on helpompi tutkia, mitä nappulaa pelaaja klikkailee.

tsuriga [23.01.2006 19:47:31]

#

Voisit käyttää jotain shakkifonttia, taisin itte suunnitella jotain sen suuntaista ja taitaapa pari fonttia löytyäkin koneelta. Kuinka suuri vaiva se nyt sitten onkaan käyttäjän asentaa yksi fontti..

KimmoKM [23.01.2006 20:25:15]

#

Jos siihen rankkaussysteemi tulee niin pistäkää siihen ELO.

tkarkkainen [23.01.2006 21:43:58]

#

Eipä kannata GD:tä sotkea tuohon. Mieluummin joka nappulasta pikkukuva, ja sitten vaan img-tagia oikeaan kohtaan. Kuten jo aiemmin mainittiin, GD aiheuttaa ylimääräistä kuvien latailua, mutta lisäksi se syö palvelimen resursseja kun kuvia pitää koko ajan tehdä pelkän lähettämisen sijaan.

Tempfile [23.01.2006 21:45:28]

#

En kyllä käsitä miksi olet vaivautunut tuota varten CSS-filun kirjoittamaan kun et sitten edes käytä sitä kunnolla :D
CSS:llä saat varmasti säädettyä tuon sellaiseksi kuin haluat, html-attribuuttisäädöt ja font-tagejä ole käytetty sitten 90-luvun.

msdos464 [24.01.2006 10:52:15]

#

Kylläpä tuli monta viestiä :O

lainaus:

CSS:llä saat varmasti säädettyä tuon sellaiseksi kuin haluat, html-attribuuttisäädöt ja font-tagejä ole käytetty sitten 90-luvun.

Kai sen fontinkin voisi css tiedostossa määritellä.. tällä hetkellä se ei kuitenkaan ole olennaisin ongelma :)

Lebe80 [24.01.2006 10:53:50]

#

Ja jos muuten on php vielä outoa, kannattaa kokeilla tehdä jätkänshakki (joko kolmen suora, tai sitten viiden suora), oikean shakin sijaan. Pelin tekeminen on hieman yksinkertaisempaa, mutta silti tietyt vaiheet ovat täysin samat ohjelmoinnin kannalta.

Ainoa, että shakin muutamia vaikeuttavia "sääntöjä", ei tarvitse ohjelmoida (kuten esim. tornitus). Kuitenkin tilastointi (voitot-tasapelit-tappiot) on mahdollista toteuttaa.

Jäynis [24.01.2006 12:10:36]

#

Jos projekti lähtee eteneen ni kannattaa käydä lunttaamassa jostain valmiista vastaavasta ominaisuuksia, ei tarvi kattilaa kahesti keksiä. Itse pelailen tämmösessä ku GameKnot (jos joku kirjautuu tänne ni referoijaksi saa laittaa juhaj, arvostaisin kovasti :)) ja jos ihan oikein käsitin ni tämäntapasta oot itekki väsäilemässä. Tietenkään ei kannata haukata liian suurta palasta kerralla joten yhdyn siihen mitä Lebe80 sanoi. Ja yksi asia kerrallaan, kannattaa tehä jotain pienempää ensin ja siihen sitte kehittää lisää.

tkarkkainen [24.01.2006 15:32:24]

#

tsuriga kirjoitti:

Kuinka suuri vaiva se nyt sitten onkaan käyttäjän asentaa yksi fontti..

Aivan liian suuri. Kyseessä kuitenkin on weppisivu, ja sen pitää toimia suoraan kaikilla.

msdos464 [24.01.2006 16:16:02]

#

tkarkkainen kirjoitti:

tsuriga kirjoitti:

Kuinka suuri vaiva se nyt sitten onkaan käyttäjän asentaa yksi fontti..

Aivan liian suuri. Kyseessä kuitenkin on weppisivu, ja sen pitää toimia suoraan kaikilla.

Niin... esim. kirjastossa jne

msdos464 [24.01.2006 17:20:13]

#

Tuosta voi aluksi tehdä vaikka version, jossa ei tarkasteta siirtojen laillisuutta.. tuon ominaisuuden voi tehdä helposti myöhemminkin.

tsuriga [24.01.2006 20:18:58]

#

Aivan totta joo. Saattaisi se silti säästää kaistaa, toteuta molemmat ja laita etusivulle linkki molempiin, jos pihi tahdot olla nyt :)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta