Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Etusivu skaalautuu samalla koodilla eri tavoin, eri latauksin ?

Sivun loppuun

HannuTapio [28.07.2023 12:50:31]

#

Hei,

Minulla on blogi sivusto, jossa on javascriptin avulla css zoomi.

Minun css file on tässä - https://www.lautapelimestari.com/Etusivu.css

Minun Javascript ja se css zoom, on tuossa, ekana latautuvassa etusivu.html fileessä, tuossa https://www.lautapelimestari.com osoitteessani.

--

Kun minä saavun etusivulle ensimmäistä kertaa, niin, sivusto latautuu, ja sitten kun lataan blogi kirjoituksen ja taas X nappulasta, palaan etusivulle, niin, etusivu on eri kokoisena skaalautuna, vaikka koodi on koko ajan ihan samaa.

En osaa korjata tilannetta, kun koodi on samaa, mutta, skaalaus on erillainen, kun käy blogi kirjoituksissa, ja palaa etusivulleni.

Minä en osaa kunnolla, css tai javascript ja html yhdistelmiä.

Osaako joku neuvoa, vai onko tuttua aikaisemmista omista säätelyistänne ?

Kiitosta vaan taas,

:) :) :)

Lisäys.
css zoom ei toimi firefoxissa, vain google pohjaisissa selaimissa.

--

Lebe80 [28.07.2023 19:52:10]

#

Kun css on kerta hukassa, niin pistä responsiivisuutta varten vaikkapa Bootstrap-sivistolle.

Se on nopea omaksua ja jätät mobiili/deskaritaitot ammattilaisille.

Bootstrapin sivuilta löytyy valmiit sivupohjat, joissa otettu zoomaukset yms. huomioon.

HannuTapio [28.07.2023 21:05:51]

#

Kirjastoa,

Kiitosta tarjouksesta, mutta, jatkan tällä linjalla, että, en käytä muitten html css javascript kirjastoja projektini kanssa.

Kaikki lisenssit, niitten muuttumiset, päivitykset, ja se että jotkut pelaajat sitten voisivat pitää alkeellisena taikka huonona kirjastoa jota käytän.

Jatkan kiitosta vaan, ihan oman koodin kanssa.

Tuossa on jokin visainen kohta, jota en ymmärrä, miksi skaalaus toimii eri tavoin, eri lataus kerroilla, etkö sinäkään löytänä virhettäni ?

:) :) :)

--

HannuTapio [28.07.2023 21:14:00]

#

Korjausta,

Hmmh.. minulla on nyt ongelma, tämä sivu toimii, nyt kun tuosta linkistä lataa, niin, oikein.

Mutta, jos minä ensin lataan, minun peli sivustoni selaimeen, ja sitten vasta lataan, tämän blogi sivun, niin, sitten ei toimi skaalaus.

Jokin on nyt hassusti, voiko olla bugi selaimessa ?

Jääkö edellisen ladatun sivun css zoomi, jotenkin johonkin cacheen, vaikka uuden sivun javascript lataa uuden css zoomin ?

:) :) :)

--

Lebe80 [29.07.2023 00:22:08]

#

Pidän paljon todennäköisempänä, että bugi on ihan sinun koodissasi


Silti huvittavaa, että tuollaisen isohkon kehittäjäjoukon toteuttama Bootstrap-kirjasto olisi alkeellisempi kuin vaikkapa nyt jatkuvasti ongelmia tuottava toteutuksesi.

HannuTapio [29.07.2023 07:25:28]

#

Zoomia,

Joo, olet varmaankin oikeassa, mutta, minähän juuri kirjasin, että, en osaa kunnolla css javascript ja html koodia.

Ja suurin syy, miksi en tykkää käyttää toisten koodia, on se jatkuva päivitysten seuraaminen, minulla on oma rauhallinen työtila tässä, jossa rakentuu minun omat päivitykset ja säädöt, ei huolta siintä mitä muut saattavat muuttaa lähiaikoina.

Minä kiersin ongelman, minä laitoin ohjauksen, eri fileeseen, minä lataan enter.html sivun, ennen siirtymistä tuohon Etusivu.html fileeseen, tämä on vähän ongelman ratkaisun lykkäämistä, mutta, toimii, nyt sitten tässä sitten.

En osanna korjata ongelmaa, mutta, osasin kiertää sitä, laitoin <a> linkin, toiseen fileeseen, enter.html ja sieltä sitten vasta Etusivu.html fileeseen.

Nyt toimii kiertäen, mutta, ihan hyvä näin, yritän etsiä ongelmaa, aina aika ajoin, olen sitä pähkinä, tässä jo monta kuukautta, ennen kuin kysyin täällä.

:) :) :)

--

Lebe80 [01.08.2023 12:16:57]

#

HannuTapio kirjoitti:

Joo, olet varmaankin oikeassa, mutta, minähän juuri kirjasin, että, en osaa kunnolla css javascript ja html koodia.

Ja siksi minä kirjasin, että käyttäisit suoraan valmista ratkaisua. :) :) :)

HannuTapio [01.08.2023 16:27:07]

#

Valmis kirjasto,

Jos minä valikoin jonkin valmiin kirjaston, ja kerron sen täällä, te kuitenkin vain kerrotte, että, valintani on huono, ja niin, edelleensä.

Mutta, en aio laittaa vierasta koodia ollenkaan sivustolleni, vieraan koodin päivittelyitten seuraaminen on työlästä, ja on mukavampaa, muutenkin pitää, ihan omalla koodilla, ei tässä silti mistään kovin mittavista koodeista ole kyse, nämä html etusivut ovat jotain alle 5 000 riviä ja javascript koodit peleihin ovat jotain alle 200 000 - 500 000 riviä kaiken kaikkiaansa, kun kaikki pelit on valmiina.

Tämä on vielä niin kevyttä ja ennen kaikkea tällä tavalla niin omaa, että, en tahdo käyttää paljoa/ollenkaan vierasta koodia.

Neuvoja täytyy silti välillä vähän googlaa ja putkaa :) ..

Eli, ei ihan täysin omaa koko koodi taida silti olla :), muutamat rivit on muualta, lähinnä tcp koodit peleissä, muu taitaa peleissä olla omaa, en osanna tcp bloppia ( vai mikä se nyt oli ? ) muuttaa byte riviksi, ilman neuvovaa koodia.

:) :) :)

--

jalski [01.08.2023 16:41:14]

#

HannuTapio kirjoitti:

(01.08.2023 16:27:07): Valmis kirjasto, Jos minä...

Nyt ainakin sait suoraan suosituksen ja tuskin kukaan kritisoi kirjastoa huonoksi mikäli lopputulos toimii. Tietysti on oma valinta haluaako käyttää aikaa ihan kaikkeen vai keskittyä johonkin tiettyyn asiaan.

HannuTapio [01.08.2023 19:06:27]

#

Vieras koodi,

En aio käyttää vierasta koodia, kevyesti vain kysyn neuvoa google ja putka linjalla.

Minun projekti, minun koodi, minun grafiikka, minun pelit..

Minä olen vanhanaikainen koodari, aloitin sinclair spectrum 48k mikrobitti koodi listauksia kirjaamaan 1985, sieltä lähtein koodanna omia, melkein meinasin käyttää LWJGL kirjastoja, 2000 luvulla, muutaman kerran, mutta, jatkoin silloinkin oman AWT pohjaisen kirjastoni "AsiakasOhjelma" kanssa.

:) :) :)

--

TapaniS [02.08.2023 08:41:24]

#

Tekoäly antaa yllättävän hyviä neuvoja, eikä väsy koskaan. Tuota kannattaisi ehkä kokeilla. ChatGPT-tekoäly

Lebe80 [02.08.2023 12:17:30]

#

jalski kirjoitti:

(01.08.2023 16:41:14): ”– –” Nyt ainakin sait suoraan suosituksen ja tuskin...

Juuri tämä mitä jalski sanoi.

Vanha pelikoodareille suunnattu neuvo on:
- Haluatko tehdä pelin? Tee peli, äläkä pelimoottoria.

Monet pelikoodarit aloittavat tekemällä pelimoottorin (jonka vuoksi kaikki aika menee pelimoottorin kehitykseen, eikä pelin), koska kuvittelevat ettei valmis tuote sovellu heidän peliinsä.

Keskity asioihin, jotka jo osaat.

HannuTapio [02.08.2023 17:33:23]

#

Pelimoottori,

Minulla on pelimoottori, jossa on omat käskyt grafiikalle, stackeille, tcp siirroille, stringeille :) .

Minä teen pelimoottorin, koska en tiedä täysin mitenkä teknologia kehittyy.

Kun minulla on pelimoottori, minun ei tarvitse, siinä tapauksessa, missä ohjelmointi alusta vaihtuu, taikka tahdon tehdä usealle alustalle pelit, niin, minun täytyy kirjata vain tämä AsiakasOhjelma uusiksi, minun ei tarvitse lähteä koodaamaan pelejä uudestaan, jokaiselle kielelle ja alustalle.

Kun on AsiakasOhjelma jossa on mittavat käskyt joita käyttää, niin, siirtyminen toiseen ohjelmointikieleen, joka on siis C pohjainen, niin, on helppoa, tarvitsee kirjata vain AsiakasOhjelma tälle uudelle kielelle, pelit toimivat AsiakasOhjelman käskyillä, käskyjä = grafiikka, tcp, stacks, strings, jne ..

Minä aion tehdä 50 - 150 lautaa, minulla tällä hetkellä on 26 eri lautaa, yhdelle päätteelle, jos joutuisin kaikkien koodit kirjaamaan aina kun vaihdan alustaa, javascript > java > c++ > turbo pascal > what ever .., niin olisi iso homma jokaisen uuden kielen kohdalla, nyt siis vain kevyt AsiakasOhjelma täytyy tehdä uudestaansa, myös siirtyminen OpenGL kirjastoon, on helppoa AsiakasOhjelman avulla.

Minä otin AsiakasOhjelman käyttööni, 1990 kun Amigasta, lähdin siirtymään PC maailmaan, minä en tiennyt, mitenkä teknologia, kehittyy, jotenka en halunna, koodata kaikkia pelejäni uudestaan, mitä sitten rakentuukaan, mutta, meni monta monta vuotta, ennnen kuin niitä pelejä sitten silti alkoi valmistua AsiakasOhjelmaani, käytännössä nyt 2015 about, jälkeen on teknologia kotikoneissa, sellaista, että, voin tehdä tälläistä turvallisin mielin, ne aikaisemmat PC koneet kuumeni, kevyt peleissä vielä sitä ennen.

Minä tälläkin hetkellä, teen kahdelle alustalle pelit, javascript ja java, kun minulla on tämä nykyinen LautapeliOhjelma v6.0.0+, niin, on helppoa valmistaa pelit, sen käskyillä, taikka siirtää pelit toisesta alustasta toiseen.

Minä suosin oman AsiakasOhjelman rakentamista, jokaiselle, joka aikoo vakavasti rakentaa useita pelejä, myös vuosien jälkeen, on sitten helpompi siirtää wanhoja peliohjelmia, uusille alustoille.

:) :) :)

--

Lebe80 [02.08.2023 23:45:15]

#

Ok.

muuskanuikku [03.08.2023 14:08:37]

#

HannuTapio kirjoitti:

Ja suurin syy, miksi en tykkää käyttää toisten koodia, on se jatkuva päivitysten seuraaminen, minulla on oma rauhallinen työtila tässä, jossa rakentuu minun omat päivitykset ja säädöt, ei huolta siintä mitä muut saattavat muuttaa lähiaikoina.

Eihän sinun tietenkään tarvitse päivittää kolmannen osapuolen kirjastoja ollenkaan. Täysin järjetön peruste.

muuskanuikku [03.08.2023 14:10:20]

#

HannuTapio kirjoitti:

Jos minä valikoin jonkin valmiin kirjaston, ja kerron sen täällä, te kuitenkin vain kerrotte, että, valintani on huono, ja niin, edelleensä.

Ja mitä sitten? Joka kerta kun postaat tänne yhtään mitään, tulee kymmenen käyttäjää kertomaan sinulle, että teet kaiken väärin ja että sen vuoksi kaikki tekeleesi ovat huonoja. Ei se sinua ole koskaan kiinnostanut.

Päin vastoin suorastaan ylimielisesti ohitat kaiken kritiikin ja vinkit ja jatkat pääsi hakkaamista seinään. Kuten teet myös juuri nyt.

Miksi olisit mukamas herkkä kuulemaan kritiikkiä siitä, että olet valinnut "huonon" kirjaston, kun mikä tahansa ammattimaisesti tehty kirjasto olisi parempi kuin sinun omat yritelmäsi.

groovyb [03.08.2023 16:20:05]

#

HannuTapio kirjoitti:

(28.07.2023 21:14:00): Korjausta, Hmmh.. minulla on nyt...

Mihin ihmeeseen tarvitset css zoomia? Jos haluat isompaa tekstiä, muuta fonttikokoa äläkä zoomaile.

walkout_ [06.08.2023 09:01:59]

#

Ei se Bootstrap kyllä ihan nyt yksinään auta responsiivisuusongelmaan vaan silti pitä osata CSS:llä pistää sen HTML-tagit toimimaan eri näyttöresoluutioilla saman näköisenä. Bootstrap vain auttaa vähän.

maka78 [06.08.2023 19:28:03]

#

HannuTapio kirjoitti:

Minä kiersin ongelman, minä laitoin ohjauksen, eri fileeseen, minä lataan enter.html sivun, ennen siirtymistä tuohon Etusivu.html fileeseen, tämä on vähän ongelman ratkaisun lykkäämistä, mutta, toimii, nyt sitten tässä sitten.

Jaksan edelleen hämmästellä sitä, että miksi edes ylipäätään kysyt neuvoa, kun vastaus kaikkiin neuvoihin on "..minulla on kuitenkin tämä häröpallo ja jatkan sillä...".

Nytkin "korjaat" ongelmaa lisäämällä yhden tarpeettoman kiemuran lisää toteutukseesi. Tämmöiset purkkapatentit tulevat lähes poikkeuksetta puremaan ahteriin joko ennemmin tai myöhemmin.

HannuTapio [06.08.2023 21:36:18]

#

Neuvoja,

Minä olen tämän jo kirjannutkin aiemmin, minä olen 52 vuotinen, ja te täällä olette yleisesti jotain 15 - 40 vuotisia.

Minä en ikäni takia ihan ymmärrä, että, ilman omaa arviota ottaisin kaikki neuvot käyttöön, minä tietenkin kiitän kaikkia neuvojia, mutta, yleisesti neuvot jota vastaanotan ovat vähän eri aiheella mitä minä kysyn, ja minä siis, haluan tehdä oman arvion ja oman projektin.

Mutta, minä nytkin kysyin mikä voi olla vikana, kun, ei toimi, mutta, minulla sen sijaan, että, käytäisiin pohtimaan vikaa, niin, tarjottiin, vain kirjasto käyttööni.

Että, on tämä vähän molemmin puolista, mutta, niinhän se normi keskustelu yleensä onkin, eivät nämä niin, hirveän vakavia taikka tärkeitä keskusteluja ole, kevyttä netti aikaa vietetään.

:) :) :)

--

groovyb [07.08.2023 12:14:37]

#

No ikä nyt on huono tekosyy, sinullahan on siis ollut enemmän aikaa mitä muilla opetella näitä asioita. Mutta kyllä täällä aika moni alkaa jo pappa-ikää lähentelemään, allekirjoittanut mukaanlukien.

Ongelma nyt on se, että et ole valmis muuttamaan mitenkään tuotostasi ohjeiden mukaan, joten itse ohjeiden antaminen on täysin hyödytöntä. Sillä ei ole mitään väliä käytätkö kirjastoa vai et, kyse on enemmän siitä että koska sinulla on custom-viritys, kukaan ei tiedä miten sen olet tehnyt eikä siten voi sinua mitenkään auttaakaan. Kirjastojen etu on se, että ne pakottavat "standardinomaiseen" menettelyyn, jolloin muut voivat ylipäätään auttaa sinua.

walkout_ [07.08.2023 12:33:02]

#

Ikä on huono selitys sillä kyllä minä esim. olen jo 45-vuotias eli reilusti keski-ikäinen vanhaparta ja kohta olen jo pappaikäinen.

15-vuotiaat viiva 20-vuotiaat ovat asia erikseen vain siinä mielessä, että näillä ei ole elämän kokemusta niin paljon kuin meillä 40-50-vuotiailla tai yli 50-vuotiailla. Muttaa koodamisesta näillä voi olla paljon kokemusta koska ei voida tietää ovatko nämä aloittelun koodausharrastuksen jo lapsena vai ei.

Lebe80 [07.08.2023 13:07:21]

#

Mä ymmärrän, että joissain tapauksissa valmiit kirjastot voi sisältää bloattia kamaa, jolla ei välttämättä tee mitään (esim. Bootstrap sisältää paljon sellaista).

Tässä tapauksessa, kun aloituspoustaajalla ei ole tietämystä oikeastaan ollenkaan edes perustasolla, niin käyttäisin valmista ehdotettua a) kirjastoa ja b) pohjaa, jolloin aloituspoustaaja voisi perustason ongelmien sijaan keskittyä itse sisällön tuottamiseen.

TapaniS [07.08.2023 14:48:50]

#

Mulla tuli just kesällä 60 v. täyteen. :) :) :)

HannuTapio [07.08.2023 16:35:41]

#

Vikaa,

Kiva tietää, että, on iäkkäämpääkin väkeä mukana.

Mutta, voinko minä kysyä onko minun ohjelmointi ajattelussa vikaa, minua paljon moititaan, minä kirjaan sen ajatteluni tähän, minä koen että olen omiin tarpeisiini riittävän laadukas :) ..

Mutta, tässä on minun ohjelmointi taitoni, ja minähän siis olen lautapelisuunnittelija ->

+-*/
& && | || ^ %
for (..). break,continue.
while (..). break,continue.
if () {} else {}.
String, Integer, Float.
xStack. ( monipuolinen itse rakennettu ).
xString. ( monipuolinen itse rakennettu ).
xScanner. ( monipuolinen itse rakennettu ).
Taulukot joita käytän [] [][] [][][] [][][][], en koskaan ole tarvinnut muuta.
switch () {}.
Function (arg, arg2, ..) {};
Ja sitten on APIn mukaisia käskyjä, minä ohjeesta luen kuinka niitä käytetään.
Ja sitten voin tehdä omia käskyjä ( functioita ).

Tuolla tavoin minä ajattelen ohjelmoinnin, minulla ei ole mitään sen syvempää ajattelua, taikka lausetta, minä ajattelen nuo asiat, kun koodaan, ja niitä pyörittelen ajatuksissani, kun koodaan, en nyt huomaa unohdinko kirjata jonkin, mutta, onko tuo riittävää, jotta voi olla helsingin ykkönen netti lautapeleissä, minä koen että on riittävää, minun lukio matikka on 9.8 ja fysiikka 9.0, näillä lauseilla, minä olen tullut julkisuuteen sivustojeni ja pelieni kanssa.

:) :) :)

--

PetriKeckman [07.08.2023 17:40:41]

#

TapaniS kirjoitti:

Mulla tuli just kesällä 60 v. täyteen. :) :) :)

Mulla tuli vappuaattona 60 v. täyteen! 1963 on hyvä syntymävuosi.

groovyb [07.08.2023 17:42:19]

#

Aika vähän sitä lukiossa matikan ja fysiikan kursseilla tuli html:ää ja css:ää opeteltua.

Jos olet omiin tarpeisiisi tarpeeksi laadukas, miksi kyselet missä vika on? Eikös tuossa tilanteissa pitäisi vaan hyväksyä että tuolla osaamisella tuli tuollaista. Jos kerran muiden antamat ratkaisuehdotukset eivät kelpaa.

maka78 [08.08.2023 18:54:12]

#

HannuTapio kirjoitti:

Mutta, voinko minä kysyä onko minun ohjelmointi ajattelussa vikaa, minua paljon moititaan, minä kirjaan sen ajatteluni tähän, minä koen että olen omiin tarpeisiini riittävän laadukas :) ..

On yksi perustavan laatuinen vika ja se näkyy osin tässä(kin) lauseessa: "minä koen että olen omiin tarpeisiini riittävän laadukas :)".

Et edes yritä nähdä sen taakse, mitä muut ehdottavat, koska olet omasta mielestäsi riittävän hyvä. Toisin sanoen olet jo mielestäsi tehnyt parhaat ratkaisut ja niiden kyseenalaistaminen ei tule kuuloonkaan. Sehän on hyökkäys osaamistasi vastaan.

Kuinka paljon olet tutustunut esimerkiksi hyväksi havaittuihin peliohjelmointi malleihin? Oma veikkaukseni on - ettet ollenkaan.

HannuTapio kirjoitti:

"onko tuo riittävää, jotta voi olla helsingin ykkönen netti lautapeleissä, minä koen että on riittävää"

Jaa-a se riippuu siitä minkälaista sakkia "helsingin netti lautapeli"-genressä pyörii, mutta uskallan sanoa - ainakin jos kyse on nettilautapelien tekemisestä - ettei tuo rima ihan hävyttömän korkealla siinä tapauksessa ole.

Hyvistä matematiikan ja fysiikan numeroista ei varmasti ole haittaakaan, mutta näkisin että monessa kohtaa hyvä englanninkielen taito voi kantaa huomattavasti pitemmälle (lähdemateriaalit kun ovat pitkälti lontoon murteella).

HannuTapio [09.08.2023 16:31:01]

#

Osaamista,

Minä olen kirjannut tämän että olen lukio tason harraste henkilö, minä hieman laajennan tätä lausetta, kun minulle tarjotaan näitä kirjastoja käyttöön, niin, en ole tarpeeksi laadukas tällä hetkellä oppimaan niin syvästi näitä kirjastoja, että, minulla on mukavaa oloa käyttää niitä, minä jään hieman ihmettelemään että mitä teen.

Minä kirjasin tuon ohjelmointi ajatteluni, tuossa yllä, minä sen mukaan menen.

Ja kuten jo kirjasin, niin, kun minua neuvotaa, niin, minä arvostan tosi paljon neuvoja ja minä pyrin kehittymään neuvojen mukana, mutta, minä silti teen oman valinnan ja ratkaisun, mitä minä ylläpidän, jotta, tämä projekti on minun oma, en kovin helpolla lisää koodia, ( kirjastoja, ohjelmointi neuvoja ) vaan pyrin kehittymään neuvojen mukana ja luomaan oman ratkaisun sitten näin.

Helsingin netti lautaaminen on ihan alussa vasta juuri nyt näinä vuosina, toivon, että, siintä kehittyy runsas.

Minun lukio englanti on 9, olisi ollut 10, mutta, en kestänyt, että, matikka ja fysiikka on englannin alla, olen matematiittinen, en kielellinen, jätin lukematta lähes kokonaan englannin kieliopin, vastailin vain kevyen tunti osaamisen mukaan kokeissa, kielioppi tehtävissa, kirjallinen essee ja kuultu oli kaikki kokeet A ja 10 koko lukion ajan englannissa.

:) :) :)

--

_Pete_ [18.08.2023 09:12:32]

#

HannuTapio kirjoitti:

xStack. ( monipuolinen itse rakennettu ).
xString. ( monipuolinen itse rakennettu ).
xScanner. ( monipuolinen itse rakennettu ).

Varmaankin olet julkaissut nämä github tms. ? On aina käyttöä monipuolisille itse rakennetuille hyviksi todetuiksi koodi ratkaisuille!

:) :) :)

HannuTapio [18.08.2023 10:21:42]

#

xluokat,

Ne on tarkoitettu, vain minun omalle projektille.

Tuo xscanner on vähän tippumassa pois, minä liitän sen tuohon xstring luokkaan, ei ole syytä pitää scanneria ihan erikseensä, kun se käsittelee kuitenkin stringejä, minä liitän sen tähän xstring luokkaan.

Eli, on vielä -

xStack
xString

Mutta, minä pidän ne omana koodina, ne ovat identtisiä jokaisessa ohjelmointi kielessä, missä niitä käytän, ne ovat perus stack ja string käskyt laajennettuna hieman omilla, kuten movetoptobottom, movebottomtotop, tuollaisia, mitä voi sitten käyttää esim. sotapelin pinoissa, kun napit on päällekkäin.

:) :) :)

Mutta, voin minä vähän näyttää ..

Tässä on xstack tällä hetkellä, en ole täysin testanna jokaista käskyä, voi olla virheitä mukana .. :D ..

Tässä koodia -

package xtrs;

import java.util.LinkedList;

/**

 @author Hannu Pelisärö.
 */
public class xstack
{

    private LinkedList<Object> l_stack;
    private final Object l_lock_xstack = new Object ();

    public xstack ()
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack = null;
            this.l_stack = new LinkedList<> ();
            this.l_stack.clear ();
        }
    }

    public xstack ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack = null;
            this.l_stack = new LinkedList<> ();
            this.l_stack.clear ();
            this.l_stack.add ( lvalue );
        }
    }

    public int l_getSize ()
    {
        synchronized ( this.l_lock_xstack )
        {
            return this.l_stack.size ();
        }
    }

    public void l_clear ()
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.clear ();
        }
    }

    public Object l_get ( int lindex )
    {
        synchronized ( this.l_lock_xstack )
        {
            return this.l_stack.get ( lindex );
        }
    }

    public void l_set ( int lindex , Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.set ( lindex , lvalue );
        }
    }

    public int[] l_getInts ()
    {
        synchronized ( this.l_lock_xstack )
        {
            int lpituus = this.l_getSize ();
            if ( lpituus > 0 )
            {
                int[] lints = new int[ lpituus ];
                for ( int laa = 0 ; laa < lpituus ; laa ++ )
                {
                    lints[ laa ] = ( int ) this.l_get ( laa );
                }
                return lints;
            }
            return new int[ 0 ];
        }
    }

    public Object l_peekBottom ()
    {
        synchronized ( this.l_lock_xstack )
        {
            return this.l_stack.getLast ();
        }
    }

    public Object l_peekTop ()
    {
        synchronized ( this.l_lock_xstack )
        {
            return this.l_stack.getFirst ();
        }
    }

    public void l_setLast ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.set ( this.l_stack.size () - 1 , lvalue );
        }
    }

    public void l_setFirst ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            if (  ! this.l_stack.isEmpty () )
            {
                this.l_stack.set ( 0 , lvalue );
            }
        }
    }

    public void l_setAll ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            for ( int laa = 0 ; laa < this.l_stack.size () ; laa ++ )
            {
                this.l_stack.set ( laa , lvalue );
            }
        }
    }

    public void l_push ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.push ( lvalue );
        }
    }

    public Object l_pop ()
    {
        synchronized ( this.l_lock_xstack )
        {
            return this.l_stack.pop ();
        }
    }

    public void l_shift ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.addLast ( lvalue );
        }
    }

    public Object l_unshift ()
    {
        synchronized ( this.l_lock_xstack )
        {
            Object ltemp = this.l_stack.getLast ();
            this.l_stack.removeLast ();
            return ltemp;
        }
    }

    public void l_movetop2bottom ()
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.addLast ( this.l_stack.getFirst () );
            this.l_stack.removeFirst ();
        }
    }

    public void l_movebottom2top ()
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.addFirst ( this.l_stack.getLast () );
            this.l_stack.removeLast ();
        }
    }

    public void l_removeIndex ( int lindex )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.remove ( lindex );
        }
    }

    public void l_removeItem ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            for ( int laa = 0 ; laa < this.l_stack.size () ; laa ++ )
            {
                if ( this.l_stack.get ( laa ) == lvalue )
                {
                    this.l_stack.remove ( laa );
                    break;
                }
            }
        }
    }

    public void l_removeAllSameItems ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            int lsttemp = this.l_stack.size () - 1;
            for ( int laa = lsttemp ; laa >= 0 ;  -- laa )
            {
                if ( this.l_stack.get ( laa ) == lvalue )
                {
                    this.l_stack.remove ( laa );
                }
            }
        }
    }

    public void l_removeIndexToEnd ( int lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            int lsttemp = this.l_stack.size () - 1;
            for ( int laa = lsttemp ; laa >= lvalue ;  -- laa )
            {
                this.l_stack.remove ( laa );
            }
        }
    }

    public void l_removeIndexToBegin ( int lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            for ( int laa = 0 ; laa <= lvalue ;  ++ laa )
            {
                this.l_stack.remove ( 0 );
            }
        }
    }

    public long l_searchItem ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            int lsttemp = this.l_stack.size ();
            for ( int laa = 0 ; laa < lsttemp ;  ++ laa )
            {
                if ( this.l_stack.get ( laa ) == lvalue )
                {
                    return laa;
                }
            }
            return -1;
        }
    }

    public boolean l_isAllTheSame ()
    {
        synchronized ( this.l_lock_xstack )
        {
            int lsttemp = this.l_stack.size ();
            for ( int laa = 0 ; laa < lsttemp ;  ++ laa )
            {
                if ( this.l_stack.get ( laa ) != this.l_stack.get ( 0 ) )
                {
                    return false;
                }
            }
            return true;
        }
    }

    public boolean l_isAllSameAsItem ( Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            int lsttemp = this.l_stack.size ();
            for ( int laa = 0 ; laa < lsttemp ;  ++ laa )
            {
                if ( this.l_stack.get ( laa ) != lvalue )
                {
                    return false;
                }
            }
            return true;
        }
    }

    public void l_insertAt ( int lindex , Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.add ( lindex , lvalue );
        }
    }

    public void l_replaceAt ( int lindex , Object lvalue )
    {
        synchronized ( this.l_lock_xstack )
        {
            this.l_stack.set ( lindex , lvalue );
        }
    }

    public void l_replaceAllSameItems ( Object lvalue1 , Object lvalue2 )
    {
        synchronized ( this.l_lock_xstack )
        {
            int lsttemp = this.l_stack.size () - 1;
            for ( int laa = lsttemp ; laa >= 0 ;  -- laa )
            {
                if ( this.l_stack.get ( laa ) == lvalue1 )
                {
                    this.l_stack.set ( laa , lvalue2 );
                }
            }
        }
    }
}

--

_Pete_ [18.08.2023 11:42:06]

#

HannuTapio kirjoitti:

xluokat,

Ne on tarkoitettu, vain minun omalle projektille.

Tuo xscanner on vähän tippumassa pois, minä liitän sen tuohon xstring luokkaan, ei ole syytä pitää scanneria ihan erikseensä, kun se käsittelee kuitenkin stringejä, minä liitän sen tähän xstring luokkaan.

Eli, on vielä -

xStack
xString

Mutta, minä pidän ne omana koodina, ne ovat identtisiä jokaisessa ohjelmointi kielessä, missä niitä käytän, ne ovat perus stack ja string käskyt laajennettuna hieman omilla, kuten movetoptobottom, movebottomtotop, tuollaisia, mitä voi sitten käyttää esim. sotapelin pinoissa, kun napit on päällekkäin.

:) :) :)

Mutta, voin minä vähän näyttää ..

Tässä on xstack tällä hetkellä, en ole täysin testanna jokaista käskyä, voi olla virheitä mukana .. :D ..

Tässä koodia -

--

Oliko joku hyväkin syy että piti keksiä pyörä uudelleen ja olla käyttämättä Java standardikirjastoon jo valmiina kuuluvaa stack toteutusta:

https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/Stack.html

HannuTapio [18.08.2023 15:04:44]

#

Hei,

Java Stack ei taida olla kovin laaja, minulla on huomattavasti laajempi xstack, ja minä siis teen näitä omia kirjastoja näitä minun pelejäni varten, tuo minun kirjasto on identtinen jokaisessa ohjelmointikielessä missä teen pelejä.

Minun ei tarvitse koodata pelejä uudestaan, aina kun vaihdan ohjelmointikieltä, minä vain kirjaan uuden asiakasohjelman, jossa, nämä uudet käskyt ovat.

Eli, minulla on nämä uudet oma käskyt jotta voin helpolla, koodata monella eri alustalla pelejä, voin helposti siirtää pelit aina - java - javascript - c / c++ - turbo pascal, pelien käskyt ja kulku on jokaisessa c pohjaisessa kielessä aina samanlainen, kun käytän näitä omia käskyjäni.

:) :) :)

--

jalski [18.08.2023 19:29:44]

#

HannuTapio kirjoitti:

Hei,

Java Stack ei taida olla kovin laaja, minulla on huomattavasti laajempi xstack, ja minä siis teen näitä omia kirjastoja näitä minun pelejäni varten, tuo minun kirjasto on identtinen jokaisessa ohjelmointikielessä missä teen pelejä.

Ehkä vähän harhaan johtavaa kutsua toteutustasi enää pinoksi, kun suurin osa toiminnallisuutta on enemmän listan puolella. Onko aina tarpeellista käyttää lukkoja? Eli onko oletettavissa, että useampi säie käyttäisi normaalisti "pinoasi" yhtäaikaa?

HannuTapio [19.08.2023 07:45:58]

#

xStack,

Stack on suppea Javassa, mutta, kuten kirjasin olen aloittana tämän projektin jo 1980 luvun lopulla ja Amiga ja C64 ja MSX maailmoissa, stack oli silloin laajemmin ajateltuna, kun sitä ei vielä kielissä tainut olla kunnolla, minulla kuitenkin oli näitä lautapelejä jo silloin tulossa, niin, olen ajatellut näitä koodeja sieltä asti, en tällä hetkelläkään, käytä yhtään luokkaa javascript koodissani, minulla on vain muutamia luokan kaltaisia functioita javascriptissä ja toimin samoin, että, pyrin olemaan ilman luokkia myös javan kanssa, tämä on minun ohjelmointi tapani, jota olen käynyt läpi vuodesta 1987 suunnilleensa, mutta, kyllä minulla hieman enemmän nykyään on luokka ajatteluja, mitä 1995 - 2005 ajalla, silti, käytän luokkia vain kun on ihan pakko, minulla on enemmän tykkäystä omaan koodiini tällä tavoin, kun koko projekti on niin vanha, että, silloin kun siis aloitin, ei luokkia vielä kunnolla tainnut olla.

Tämä xstack on tarkoitettu, minun palvelinohjelmaani ja lautapeliohjelmaani, käytän sitä molemmissa, en viitsi tehdä omaa kumpaakin.

PalvelinOhjelmassani, on 2 - 4 eri threadia, jotka voivat käyttää samaa pinoa, eri tilanteissa, vaikkapa kun pelaaja etsii peli seuraa, voi useampi kirjautunut, yrittää liittyä samaan huoneeseen, taikka sitten poistua sieltä huoneesta.

Minulla on palvelimessani 2.8Ghz CPU ja 6 corea, ja 2 threadia tällä hetkellä pelaajien toimiin varattuna, muuttelen tätä määrää, ihan mitenkä haluan kulloinkin, määriin 2 - 5 threadia aina pelaajia varten, sitten on muutama muu threadi, kuten accept tcp connections, ja vielä kaikkea tausta toimintaa varten 1 threadi ja nämä threadit on 45 % minimi sleepillä, eli nukutaan aina vähintään 45 % sekunnista.

:) :) :)

--

HannuTapio [19.08.2023 20:12:43]

#

Korjaus,

Hei, minä sain korjattua, tämän etusivun koko ongelmani.

Minulla oli kirjattuna css fileeseen, tuo min-width hieman liian moneen otteeseen, se min-width on siellä css fileessä, nyt sitten, enää main html kanssa, se aiemmin oli myös body ja muutaman div kanssa, nämä kolme viimeisintä min-width arvoa sitten sotkivat jotenkin zoomia, en tiedä mitenkä, mutta, poistin nuo kolme, niin, alkoi toimimaan.

En tiedä miksi ei toimina, kun on useampi min-width määriteltynä, mutta, niitten vähentäminen yhteen, siihen main html tagiin, niin, korjasi ongelmani.

Hienoa, nyt ei taida olla yhtään virhettä, koko sivustoillani, ei edes javascript koodissani, tosin violation tulee, settimeout ja load kanssa vielä, niitä en tällä hetkellä osaa korjata, kun en tiedä miksi ne violationit tapahtuvat, kun javascript on vain yhdelle threadille, niin, mikä siellä sitten taustalla käy, ja aiheuttaa viivettä ?

:) :) :)

--

_Pete_ [20.08.2023 09:16:56]

#

HannuTapio kirjoitti:

xStack,

Stack on suppea Javassa
--

Ovat muuten keksineet Javaan sellaisen keywordin kun extends !

:) :) :) :) :) :)

HannuTapio [20.08.2023 17:10:14]

#

xStack,

On totta, mutta, linkedlist taitaa olla nopeampana, mitä java stack ?

En ihan varma ole, mutta, googlasin, noita nopeuksia, mitä eri stack ja list käskyillä on javassa.

Google taisi sanoa, että, tuo linkedlist on nopein, stack ja list käskyistä, jotenka minä linkedlist varaan rakensin, tämän minun xstack käskyni.

:) :) :)

--

peran [20.08.2023 17:55:52]

#

HannuTapio kirjoitti:

Google taisi sanoa, että, tuo linkedlist on nopein, stack ja list käskyistä, jotenka minä linkedlist varaan rakensin, tämän minun xstack käskyni.

Hei ihan tosissaan ???

Mitä nopeuskriittisiä ominaisuuksia (nykykoneille) peleissäsi on ?

Vaikkei Mooren laki ihan nykypäivänä taida pitää, mutta tietokoneiden ja kännyköiden nopeus kuitenkin kasvaa päivä päivältä.

HannuTapio [20.08.2023 19:20:43]

#

Nopeus,

Minulla on palvelin jossa tämä xstack on käytössä palvelinohjelmassani, minulla on ollut palvelimia, joissa on vain 2ghz taajuus cpulla, tämän takia olen hieman nopeus kriittinen ollut valinnassani.

Nykykoneet on kyllä nopeita, mutta, eivät ihan vielä niin, hirmu nopeita, minä tarkennan hieman, nykyään on jo 12 core prosessoreita ja enemmänkin, mutta, ihmisillä ja eri server palveluilla, ei kaikki cput, vielä ole ihan viimeisen kanssa.

Minulla on ollut serverissä cpuita joissa on siis tuo 2ghz taajuus, tämän takia siis nopeus kriittisyys, ei kait tästä mitään haittaakaan ole, ja miksi pitäisi valita valinta joka toimii hitaammin.

:) :) :)

--

HannuTapio [20.08.2023 19:22:56]

#

Toimii,

Mutta, minä sain toimimaan tämän zoomin, nyt sitten.

Vika oli min-width css käskyn liian runsas käyttö, se oli html ja body ja parissa div tagissakin.

Nyt se on enää html tagissa, niin, kaikki toimii ihan oikein.

:) :) :)

--

maka78 [29.08.2023 22:19:56]

#

HannuTapio kirjoitti:

Mutta, voin minä vähän näyttää ..

Tässä on xstack tällä hetkellä, en ole täysin testanna jokaista käskyä, voi olla virheitä mukana .. :D ..

Tässä koodia -

Tuota noin... otit LinkedListin ja käärit sen folioon?
Nythän tuo sinun viritys ei toteuta enää mitään interfacejä, mitkä LinkedListillä on (Esimerkiksi Iterable *vink*).

Kuten _Pete_ tuolla mainitsi:

_Pete_ kirjoitti:

Ovat muuten keksineet Javaan sellaisen keywordin kun extends !

:) :) :) :) :) :)

Lopuksi täytyy sanoa, että vaikka siitä jonkin verran on aikaa, kun olen opiskellut tietorakenteita, niin pino ei ole se mikä tulee ihan ensimmäisenä mieleen tästä toteutuksesta.

HannuTapio [31.08.2023 21:57:43]

#

Ylempänä,

Minä jo kirjasin vastaukset näihin tuossa hieman aiemmin.

Minulla on erikoinen tarve tähän xstack käskyyn, tämä on tweak stack eli xstack.

Minun xstack on identtinen monessa eri alustassa, tällä hetkellä javascript ja java.

:) :) :)

--

maka78 [01.09.2023 19:47:11]

#

HannuTapio kirjoitti:

Ylempänä,
Minä jo kirjasin vastaukset näihin tuossa hieman aiemmin.
--

No katsotaanpas...

HannuTapio kirjoitti:

xStack,

Stack on suppea Javassa, mutta, kuten kirjasin olen aloittana tämän projektin jo 1980 luvun lopulla ja Amiga ja C64 ja MSX maailmoissa, stack oli silloin laajemmin ajateltuna, kun sitä ei vielä kielissä tainut olla kunnolla

Täytyy sanoa, että itsekkin MSX ja C64 maailmasta ponnistaneena (myös sharp mz-700) en kyllä tällaista laajemmin ajateltua stackiä muista koskaan tavanneeni. Pinoa on kuitenkin tullut käpisteltyä myös konekielellä. Mikä lie ollut ohjelmointikieli jossa tämä laajempi stack on ollut?

HannuTapio kirjoitti:

en tällä hetkelläkään, käytä yhtään luokkaa javascript koodissani, minulla on vain muutamia luokan kaltaisia functioita javascriptissä ja toimin samoin, että, pyrin olemaan ilman luokkia myös javan kanssa,

Pyrit olemaan ilman luokkia javassa? No mutta sehän onnistuu varmaan tosi hyvin olio-ohjelmointiin pohjaavalla kielellä.

HannuTapio kirjoitti:

Minun ei tarvitse koodata pelejä uudestaan, aina kun vaihdan ohjelmointikieltä, minä vain kirjaan uuden asiakasohjelman, jossa, nämä uudet käskyt ovat.

Eli, minulla on nämä uudet oma käskyt jotta voin helpolla, koodata monella eri alustalla pelejä, voin helposti siirtää pelit aina - java - javascript - c / c++ - turbo pascal, pelien käskyt ja kulku on jokaisessa c pohjaisessa kielessä aina samanlainen, kun käytän näitä omia käskyjäni.

Jos en väärin muista, niin asiakasohjelma pyörii palvelimella ja pelit selaimella? Eli toisinsanoen voithan sen kirjottaa uusiksi vaikka konekielellä, kunhan se toteuttaa edelleen saman toiminnallisuuden. Ei se silti tarkoita sitä etteikö asioita voisi tehdä fiksummin ja hyviä ohjelmointitapoja noudattaen.

Ja ihan mielenkiinnosta. Miksi vaihtaa ohjelmointikieltä jos on jo tehnyt yhdellä valmista? Java ja Javascript ovat kuitenkin aika alustariippumatonta koodia.
Kiinnostaisi myös tämä "omat käskyt", että mitähän mahdat tällä tarkoittaa? tuo sinun xStack sisältää liudan metodeja ja jos niistä on kyse, niin uskaltaisin väittää että kieltä vaihdettaessa ne menevät kyllä uusiksi.

HannuTapio [02.09.2023 06:23:07]

#

Stack,

Minulla oli tuo stack kokemus commodore 64 asm kielessä, kun minä sitten hieman vanhenin siintä, niin, mietin omaa stack käskyä joka sopisi minun sotapeleihini.

Ilman runsasta luokka määrää voi olla, kun käyttää arrayta ja static käskyjä ja muuttujia.

Lautapeliohjelma on selaimella ja palvelinohjelma on palvelimella.

Omat käskyt ovat minulle, esim. isMouseHover (), isMouseHit(), TCPSendMessage (), DrawTexture(), DrawLine (), minä ohjelmoin nuo toimimaan jokaiseen ohjelmointikieleen peleihini, missä käytän lautapeliohjelmaani.

Minulla on usealle kielelle rakennettuna, nämä, koska en tiedä mitä tulevaisuus tuo mukanaansa, minä olin vielä 5 - 7 vuotta, vain javan kanssa, ja nyt on sitten javascript, onko unity sitten seuraava vaihe ? Mutta, minulla on java ja javascript versiot peleistäni :) .. ja mahdollisesti tulevassa, vielä c++. :).. tämä minun ohjelman rakentelu on niin, että, en joudu pelejä rakentamaan uudestaan, vain tämän lautapeliohjelmani.

Minulla on ihan hyvä ja laadukas juttu tässä, paljon on arvioita tehtynä, mutta, jos sitä rehellisesti puhutaan, niin, minun projekti on tällä hetkellä suomen paras, ei ole kukaan muu osannut rakentaa parempaa, enkä tiedä että ihan kaikki osaakaan rakentaa parempaa, myös näistä jotka arvioivat, mutta, arvioinnit on ihan mukavaa, kunhan ei mene henkilökohtaisuuksiin, vaan pysyy näissä ohjelmointi ja graafisuus ja yleisilme asioissa.

Minä kehotan lukemaan, minun blogistani, kirjoituksen jossa mietitään onko suomi lautapelimaailmassa loukkaamista ja muuta älyä, ihan jokaista ei voi miellyttää, vaikka sitä yrittäisikin, minä itseasiassa yritän miellyttää ihan jokaista kun rakennan tätä projektiani.

:) :) :)

--

_Pete_ [02.09.2023 10:09:12]

#

Oletko ihan itse arvioinut pelisi Suomen laadukkaammaksi ja parhaimmaksi!?

:) :) :) :) :) :)

HannuTapio [02.09.2023 10:21:25]

#

Pelejä,

Kyllä vain, tällä hetkellä koen näin, mutta, minä myös teen näin, jotta, muita projektoituisi mukaan lautapelejä alalle, meillä on paljon tyhjää tilaa lautapeleissä suomi netissä, puuttuu, kaikkea - sotapeliä, palikkapeliä, nukkesivuja, muistipelejä, shakki- tammi- reversisivuja, pelkkiä shakkisivuja, seikkailusivuja, lastensivuja, nuortensivuja, ihan valtavasti on tekemättä eri aiheita, mitä ihmiset voisivat alkaa kehittämään, minä tuen tälläistä ihmisryhmää kuin "kotimaisten netti lautapelien pelaajat", niin, rakentuvaksi runsaana.

Suomi on vielä ihan alku tekijöissä, ja minä olen meidän netin ykkönen tällä hetkellä :) ..

Lautapelisivuissa :) Mutta, tuen kovasti, että, muut tekisivät parempaa, mitä minä, jotta meillä on kehittynyt kulttuuri, minä aion vain oman paikkani täällä helsingissä ottaa.

Mutta, jos lukee, jonkin minun pelisivuni etusivun, niin, voi havaita, että, on sitä muilla vielä aika paljon kiinniotettavaa, minä olen tämän harrasteeni, lisänä ollut myös kaupallisella sektorilla, jostain 1998 lähtein, kun annoin pelejäni, kehitettäväksi kaupallisuuteen ja kulttuuriin.

Mutta, minua on taas vähän puhuttu, ulos alkuperäisestä ketjustani, tämä ketju tuli jo käytyä, minä sain toimimaan tuon sivuni, minulla oli vika css fileessä, siellä oli min-width, liian moneen kertaan kirjattuna, en tiedä miksi ei silti toimi, mutta, nyt toimii, kun kirjasin min-width vain html tagiin.

:) :) :)

--

maka78 [02.09.2023 13:47:59]

#

HannuTapio kirjoitti:

Stack,

Minulla oli tuo stack kokemus commodore 64 asm kielessä, kun minä sitten hieman vanhenin siintä, niin, mietin omaa stack käskyä joka sopisi minun sotapeleihini.

Jännä kun minun kokemus C64 konekielestä on, että siellä on tasan push ja pull komentoja pinoon liittyen.
PHA ja PHP jotka ovat push komentoja ja PLA sekä PLP jotka ovat pull komentoja.

HannuTapio kirjoitti:

Ilman runsasta luokka määrää voi olla, kun käyttää arrayta ja static käskyjä ja muuttujia.

Tarkoitat siis todellisuudessa että haluat välttää OMIEN luokkien tekemistä (jollainen tuo xStack esimerkiksi on). Arraytkin on muodostettu varmaan pelkistä primitiiveistä? LinkedList on myös luokka

HannuTapio kirjoitti:

Omat käskyt ovat minulle, esim. isMouseHover (), isMouseHit(), TCPSendMessage (), DrawTexture(), DrawLine (), minä ohjelmoin nuo toimimaan jokaiseen ohjelmointikieleen peleihini, missä käytän lautapeliohjelmaani.

Jos vaihdat ohjelmointikieltä, niin jouduthan sinä nämä implementoimaan sille uudelle kielelle. Eikö?

HannuTapio kirjoitti:

Minulla on ihan hyvä ja laadukas juttu tässä, paljon on arvioita tehtynä, mutta, jos sitä rehellisesti puhutaan, niin, minun projekti on tällä hetkellä suomen paras, ei ole kukaan muu osannut rakentaa parempaa, enkä tiedä että ihan kaikki osaakaan rakentaa parempaa, myös näistä jotka arvioivat, mutta, arvioinnit on ihan mukavaa, kunhan ei mene henkilökohtaisuuksiin, vaan pysyy näissä ohjelmointi ja graafisuus ja yleisilme asioissa.

Onhan tuo sinun lautapelisivustosi parantunut vuosien varrella joiltakin osin, mutta ei siinä hirveästi ole edelleenkään käytettävyyttä mietitty. Konetta vastaan pelaamisen mahdollisuus puuttuu täysin. Jotta peliin asti pääsee, niin pitää kahlata *klik, klik* pyyntömeren läpi, eikä ole aina selvää mistä pitäisi klikata, ettei joudu heitetyksi takaisin jollekkin aloitussivulle.

HannuTapio kirjoitti:

ei ole kukaan muu osannut rakentaa parempaa, enkä tiedä että ihan kaikki osaakaan rakentaa parempaa.

Uskallan väittää että muiden osaamattomuuteen se tuskin tässä kohtaa kaatuu. En tiedä oletko huomannut, mutta internetistä löytyy valtavasti sivustoja, jotka tarjoavat lautapelejä ihmisten pelattavaksi, sekä toisia että konetta vastaan? Näillä sivustoilla voi jopa saada ihmisvastustajan itselleen. Ylipäätään pelaamaan pääseminen on hyvin suoraviivaista, eikä missään näy pelin tekijöiden itsensä kirjoittamia ego pönkkiä.
Harvemmalla on intoa lähteä tekemään sellaista mikä on jo tehty moneen kertaan.

Se mitä olen nuita sinun pelejäsi käynyt testaamassa, niin olen yleensä ollut ainut pelaaja palvelimella. Jos ne ovat suomen parhaat, niin voisi kuvitella, että sinne joku muukin eksyisi?

HannuTapio kirjoitti:

onko unity sitten seuraava vaihe ?

Unity on hyvä vaihtoehto. C#:n perusteiden osaaminen auttaa.

HannuTapio [02.09.2023 14:19:10]

#

Pelaajia,

Minun idea on vastakkain asettelut, eri jännitteistä mitä on ollut historiassa, nämä jännitteet on sitten tarkoitus ihmisvastuksien kanssa pelata, minä alkuun laitan 2 pelaajaa vastakkain, ja jatkossa sitten useampia myös, ensimmäinen tämmöinen useamman kuin kahden pelaajan pelit ovat muistipelini.

Tuo että minulla on usean klikin kanssa, nämä pelien käynnistys, niin, minä ajattelen näin, että, kun minä teen näitä sotalautapelejä sitten pääsääntöisenä, niin, yhden sotapelin pelaamiseen, kuluu 100 - 400 hiiri klikkiä, jotenka ei ole väliä viekö pelin käynnistys 2 vai 6 klikkiä, ja silloin kun on monta klikkiä, niin, siinä tulee selatuksi samalla monta muuta lautapeliä tai lautaskenaariota, voi laajemmin katsella mitä pelaa, kuin vain yhdellä tai kahdella klikillä käynnistää peli.

Kun on käyttänä minun ohjelmaani, parin pelin verran, niin, se kulkeminen siellä menuissa on ihan helppoa, ei ole kovinkaan montaa paikkaa jonnekka eksyä.

Niin, tuo uusi ohjelmointikieli, minä käytännössä joudun ainoastaan kirjaamaan uuden lautapeliohjelman ja pelit menevät, miltein copy & paste, kaikille c pohjaisille kielille, kuten c++ ja java ja javascript, minulla on 1 lautapeliohjelma ja pelejä on vajaa 20 tällä hetkellä, pelit menevät siis copy & pastena miltein.

Suomen parhaat pelit, meillä ei suomessa ole vielä sellaista ihmisryhmää kuin "kotimaisten netti lautapelien pelaajat", meillä on vain satunnaisia pelaajia tällä hetkellä, ei ole ryhmiä jotka kertoisi kotimaisista netti lautapeleistä ja pelaisi niitä.

Hyvät pelit minulla on ja parempaa on vielä luvassa, ja minä mahdollisesti vielä lisänä pyydän jotakin kaupallistakin lisäksi jatkoissa, näitten nykyisten carcassonne ja ticket to ride ja jne.. lisäksi.. minä nykyään kerron missä kaupallisissa peleissä olen ollut mukana. :D .. tai mistä minä olen suunnitellut ensimmäisen version. :D .. minä annan nuorten fanittaa minua niissä peleissä missä olen ollut mukana tai joista olen tehnyt ensimmäisen version, nykyään myös kaupalliset pelit joissa olen ollut mukana.

Unity tai a like, minä aion jatkaa 2D kanssa, kun teen 2D kanssa, tämä minun grafiikka on omaa piirtämää, eikä näytönohjaimen matematiikan, minä teen elämyksiä joissa on idea, minä en tee animaatioita, minun grafiikat ovat laadukkaita, mutta, en kuten voi helposti hyväksyä, niin, varmaankaan kykene olemaan alani paras piirtäjä tai korkeinkaan, vaikka olen suomi ykkönen tällä hetkellä, minä teen peli elämyksiä ja kokemuksia pelaajille, eri vastakkain asetteluista, eli, minun pelit ovat minun grafiikkani näköisiä, eikä pelimaailman näytönohjainten ja 3d piirto-ohjelmien, kun ymmärtää sellaista sana paria kuin oma taide, niin, helpompi käsittää tämä 2d valinta jossa on oman näköistä grafiikkaa.

:) :) :)

--

maka78 [02.09.2023 15:26:25]

#

HannuTapio kirjoitti:

Tuo että minulla on usean klikin kanssa, nämä pelien käynnistys, niin, minä ajattelen näin, että, kun minä teen näitä sotalautapelejä sitten pääsääntöisenä, niin, yhden sotapelin pelaamiseen, kuluu 100 - 400 hiiri klikkiä, jotenka ei ole väliä viekö pelin käynnistys 2 vai 6 klikkiä, ja silloin kun on monta klikkiä, niin, siinä tulee selatuksi samalla monta muuta lautapeliä tai lautaskenaariota, voi laajemmin katsella mitä pelaa, kuin vain yhdellä tai kahdella klikillä käynnistää peli.

Mutta kun se käyttäjä ei ajattele näin. Jos sinne peliin pääseminen on hankalaa ekalla kerralla, niin sitä toista kertaa ei tule.
Jos sinä haluat enemmän pelaajia sivuillesi, niin se on sivu seikka miten sinä asian näet. Asiakas eli se pelaajahan se päättää onko käyttökokemus riittävän hyvä että haluaa palata sivuille.
Grafiikalla ei lopulta ole mitään merkitystä, jos käyttäjäkokemus on huono. Toisaalta jos peli on koukuttava ja mukaansa tempaava, niin huonollakin grafiikalla pärjää hyvin ja sitä voi parantaa jälkikäteen.

HannuTapio kirjoitti:

Niin, tuo uusi ohjelmointikieli, minä käytännössä joudun ainoastaan kirjaamaan uuden lautapeliohjelman ja pelit menevät, miltein copy & paste, kaikille c pohjaisille kielille, kuten c++ ja java ja javascript, minulla on 1 lautapeliohjelma ja pelejä on vajaa 20 tällä hetkellä, pelit menevät siis copy & pastena miltein.

No se "miltei copy & pastena" on täysin eri asia kuin "Minun ei tarvitse koodata pelejä uudestaan, aina kun vaihdan ohjelmointikieltä". Joka on täyttä potaskaa.

HannuTapio kirjoitti:

Kun on käyttänä minun ohjelmaani, parin pelin verran, niin, se kulkeminen siellä menuissa on ihan helppoa, ei ole kovinkaan montaa paikkaa jonnekka eksyä.

Minä olen käyttänä sinun ohjelmaasi "parin" pelin verran ja en pysty hyvällä tahdollakaan allekirjoittamaan väitettäsi. Uskallan jopa väittää etten ole tässä kohtaa ainoa.

HannuTapio kirjoitti:

Unity tai a like, minä aion jatkaa 2D kanssa

Se sinulle suotakoon ja kukaan ei ole käsittääkseni 3D:tä vaatinutkaan :D.

HannuTapio kirjoitti:

tämä minun grafiikka on omaa piirtämää, eikä näytönohjaimen matematiikan

Meinaatko ettei muissa peleissä grafiikka ole graafikon/pelintekijän suunnittelemaa? Näytönohjain se lopulta ne sinunkin tekemät grafiikat sinne ruudulle piirtää.

Tähän kysymykseen haluaisin vastauksen:
Oletko oikeasti tutustunut siihen kuinka pelejä yleisesti tehdään vai onko nämä käsityksesi sellaisia "minusta tuntuu" ja "luulen että" tyyppisiä?

HannuTapio [02.09.2023 16:18:03]

#

Vastauksia,

Minulla alkaa nämä sotapelit varmaankin tänä vuonna, ilmojein- ja meteori sankareitten kanssa, myös heidän kunniansa päivät tulee linjalle tänä vuonna, minulla on enää linja liikenne, ja sitten kehitän nämä mainitut pelit, minulla on ajattelu, että, ihmiset alkavat puhumaan, minun sivustoani parhaana, mitä suomessa on, ja sitä kautta saan pelaajia, vaikka on enemmän, mitä yksi tai kaksi tai kolme klikkiä, kun käynnistää pelin.

--

Jos sivustolleni eksyy, niin, se on minun vajaitten ohjeitten vika, minä korjaan, tämän sitten kun heidän kunniansa päivät pelejä alkaa ilmaantua ja minulla on kahden pelaajan pelejä paljon.

--

Näytönohjain piirtää toki minunkin grafiikkani, mutta, sen 3d grafiikan kanssa, ne oho elämykset on aika paljon näytönohjaimen tekemiä, kun ajattelu myllertää 3d maailmoissa, minulla on tämä simppeli ylhäältäpäin kuvattu 2d kuva, niin, siinä ne oho elämykset on minun oman hiiri käden valintoja.

--

Minä aloitin pelisuunnittelut, ihan ekan kerran tietokoneen kanssa, sinclair spectrum 48k ja 1985, minä olen sieltä asti, noin 2000 - vielä 2014 asti, mutta, en sen jälkeen, ostana, kirjallisuutta, koskien ohjelmointia ja pelisuunnitteluja, ja vuodesta 2007 lähtein, olen lukenut käytännössä ainoastaan netin eri sivustoja ja foorumeita ja ohjeita.

Minulla on ollut tämä sama projekti jostain 1987, kun ilmoitin kaikille sukulaisille ja ystäville, että, olen löytänä oman alani, modeemilla pelattavat sotalautapelit.

Minun kokemukseni siitä, mitenkä pelejä tehdään, on aika paljon minun oman kokemukseni kanssa, minä en ole koskaan ollut työssä missään yrityksessä tekemässä pelejä.

Eli, minulla ei ihan virallista tietoa ole, kuinka tehdä pelejä, mutta, tämä on minun omasta ajattelustani, niin, hyväksi havaittu ja toimiva pelejä teko, tämä lautapeliohjelma ja palvelinohjelma, en osaa keksiä mitään parempaa, kuin tämä, ja uskon että suomi kehittyy ajan kanssa, pitämään sisälläänsä, paljon asiakasohjelmia ja palvelinohjelmia, niin, lautapelaamiseen.

:) :) :)

--

maka78 [02.09.2023 18:38:55]

#

HannuTapio kirjoitti:

minulla on ajattelu, että, ihmiset alkavat puhumaan, minun sivustoani parhaana, mitä suomessa on, ja sitä kautta saan pelaajia, vaikka on enemmän, mitä yksi tai kaksi tai kolme klikkiä, kun käynnistää pelin.

No jotta ihmiset pitäisivät sinun sivustoa parhaana, niin käytettävyyden pitäisi kaiketi olla ainakin parhaasta päästä.

HannuTapio kirjoitti:

Näytönohjain piirtää toki minunkin grafiikkani, mutta, sen 3d grafiikan kanssa, ne oho elämykset on aika paljon näytönohjaimen tekemiä, kun ajattelu myllertää 3d maailmoissa

Ihan yhtälailla ne 3D mallit ja tekstuurit 3D mallin päällä ovat ihmisen kädestä. Toki nykyisin voidaan luoda esimerkiksi maisemaa, mukaanlukien puita ja pensaita puhtaasti ohjelmallisesti. Jossain määrin myös hahmoja (ja AI tuonee tähän vielä enemmän tulevaisuudessa). Näytönohjainten kehitys on vain mahdollistanut monimutkaisemmat 3D mallit ja grafiikan. Kehityksen etuna on tietysti se, että peliä kehitettäessä voidaan keskittää resursseja enemmän itse pelin pelattavuuden ja käytettävyyden maksimointiin.

HannuTapio kirjoitti:

Minä aloitin pelisuunnittelut, ihan ekan kerran tietokoneen kanssa, sinclair spectrum 48k ja 1985, minä olen sieltä asti, noin 2000 - vielä 2014 asti, mutta, en sen jälkeen, ostana, kirjallisuutta, koskien ohjelmointia ja pelisuunnitteluja, ja vuodesta 2007 lähtein, olen lukenut käytännössä ainoastaan netin eri sivustoja ja foorumeita ja ohjeita.

Olen minäkin tehnyt ensimmäiset pelini 80-luvun puolella (loppupuolella tosin). MSX svi-728, sharp mz-700 ja C-64 olivat koneet. Ei se silti tee minusta minkään peligenren kuningasta. Mitä tulee peliohjelmointiin liittyvään kirjallisuuteen. Voisin suositella vaikka Game Programming Patterns nimistä kirjaa (julkaistu 2011). Tämä taitaa löytyä myös ilmaisena nettiversiona: https://gameprogrammingpatterns.com/contents.html
Koodi esimerkit ovat tosin C++:aa, mutta sehän ei kaiketi ole ongelma?
Vaikka kirja ei käsittele juuri lautapelien tekoa ja kieli ei ole javaa tai javascriptiä, niin voisi tuoda kuitenkin perspektiiviä joihinkin ongelmiin, minkä kanssa olet tälläkin foorumilla paininut.

HannuTapio kirjoitti:

Eli, minulla ei ihan virallista tietoa ole, kuinka tehdä pelejä, mutta, tämä on minun omasta ajattelustani, niin, hyväksi havaittu ja toimiva pelejä teko, tämä lautapeliohjelma ja palvelinohjelma, en osaa keksiä mitään parempaa, kuin tämä, ja uskon että suomi kehittyy ajan kanssa, pitämään sisälläänsä, paljon asiakasohjelmia ja palvelinohjelmia, niin, lautapelaamiseen.

No omasta kokemuksesta voin sanoa, että se mikä tuntuu itsestä parhaalta - tuntuu usein siksi, ettei ole tietoa paremmasta.
Edelleen omasta kokemuksesta: kannattaa kuunnella käyttäjien antamaa palautetta.
Vaikka omasta mielestäsi peli olisi kuinka hyvä, ei se tarkoita silti että peli(t) löisi läpi. Siinä missä 80-luvun pelaajat jaksoivat odottaa pelin latautumista vartin ja tahkota ensimmäistäkin tasoa tunti tolkulla - saattaa nykynuoren kiinnostus lopahtaa jo liian pitkään introon, saati sitten sekavaan käyttöliittymään, josta ei pääse itse asiaan ilman karttaa.
Itse en usko olevani minkään peligenren kuningas tai paras pelin tekijä - en edes lähiön paras - mutta pienen pelifirman osakkaana joku kosketuspinta aiheeseen kuitenkin on.

HannuTapio [02.09.2023 20:09:10]

#

Paras kuningas,

Joo, olen itse lukio tason harrastelija, mutta, minulla on meriittejä hieman enemmän mitä muilla suomalaisilla normi pelisuunnittelijoilla.

Olen tehnyt ensimmäiset versiot peleistä - carcassonne, ticket to ride, flamme rouge, el dorado, ja on myös sellaisia pelejä kuin angry birds ja minecraft, en niitä sen takia viitti sen paremmin kommentoida, että, kun ne ei ole lautapelejä, mutta, pelien nimet menee aika, minun ilmojein pilotit ja carcassonne ja heidän kunniansa päivät kanssa yhteen, kun tarkemmin lukee.

Olen aika korkealla maailman pelisuunnittelijoissa, ihan korkeimpia.

Olen tähän asti pitänä aika matalaa profiilia, mutta, puhun avoimemmin jo nykyään, kun on 20 - 10 - 5 vuotta kuluna, näistä pelien julkaisuista.

Minä nykyään aion keskittyä vain omiin sivustoihini, mutta, mahdollisesti vielä annan myös kaupalliseen sektoriin, niin, kehittymään lauta- tai laatta- tai kortti- tai tietokonepelejä.

:D :D :D

--

maka78 [03.09.2023 14:44:55]

#

Just just... ja mm. Klaus-Jürgen Wrede, Alan R. Moon ja Asger Sams Granerud on varmaan perhetuttuja?

:) :) :)
--

HannuTapio [03.09.2023 16:08:11]

#

Perhetuttuja,

Minä olen sairaseläkeläinen, minä olin sairaalassa, kun juttelin lääkärin kanssa, ja pyysin puhumaan viranomaisille eteenpäin, minun pelejäni, minä sairaalasta käsin annoin nämä minun pelit eteenpäin ja rakentumaan, nämä minun pelit meni hallinnon kautta kulttuuriimme.

Minecraft rakentui java-gaming.org foorumilla, markus perssonin kanssa. :)..

--

Minä lisänä aion itse tehdä omat versiot, carcassonne rakentuu maakuntapeleinä, ticket to ride tulee matkalippuna, flamme rouge on tulinen kierros, el doradoa en tee, minecraft tulee ritarijari nimellä 2d versiona, angry birds on tuo ilmojein sankarit 1917.

Minä rakennan nämä ensimmäiset versiot omaan nettiin, mistä sitten nämä kaupalliset kehitettiin.

:) :) :)

--

maka78 [03.09.2023 16:50:44]

#

HannuTapio kirjoitti:

Minecraft rakentui java-gaming.org foorumilla, markus perssonin kanssa. :)..

Tuttu foorumi ja myös postauksesi siellä ovat tuttuja. Vaikkakin niitä sieltä ahkerasti olet poistellut.

HannuTapio [03.09.2023 17:34:47]

#

Viestejä,

Joo, poistin viestejäni, tein virheen kun poistin viestini, olisi pitänyt jättää niitä jälkipolville luettavaksi.

Ne minun viestini olivat silloin sitä tätä asiakasohjelmaani koskevia.

:) :) :)

--

maka78 [03.09.2023 18:30:24]

#

HannuTapio kirjoitti:

Minecraft rakentui java-gaming.org foorumilla, markus perssonin kanssa. :)..

Kysymys: Millä tavalla sinä tarkalleen ottaen osallistuit minecraftin luomiseen?

Metabolix [03.09.2023 19:53:37]

#

Olisiko nyt aika Hannun jättää tämä ketju tauolle ja miettiä hetki, mitä haluaa yksityisasioistaan nettiin kirjoittaa. Ei ne Hannun hienot ideat valitettavasti todellisuudessa kulkeudu viranomaisten kautta menestyville pelintekijöille, vaikka näin on ehkä kiva uskoa.

HannuTapio [03.09.2023 20:07:23]

#

Aalto,

Voitte kysyä aalto yliopistolta tai lautapelit.fi, ne varmaankin molemmat tietää, mitä suomalaisessa lautapelisuunnittelussa tapahtuu :)..

Mutta, minä lopetin tämän ketjun jo jonkin aikaa sitten kahdesti, minä sain korjattua virheeni, minulla oli min-width kirjattuna liian monta kertaa, min-width on nyt enää html tagissani.

Nyt toimii ..

:) :) :)

--

Lebe80 [03.09.2023 21:31:43]

#

HannuTapio kirjoitti:

Minecraft rakentui java-gaming.org foorumilla, markus perssonin kanssa. :)..

Siinä tapauksessa olen ollut tekemässä monen monta suomipeliä Suomipelit.fi -foorumilla.

HannuTapio [03.09.2023 22:04:41]

#

Aalto,

Voitte kysyä aalto yliopistolta, en ala vankaamaan, mutta, minä lopetan tämän ketjun nyt tähän, tämä alkaa taas saada samanlaisia vänkääviä piirteitä kuin muutkin minun ketjuni.

Minä laitan blogiini, hieman myöhemmin, kaikki tarinat peleistä joissa olen ollut mukana, tai jotka ovat olemassa minun ansioistani, minulla on jo carcassonne tarina blogissani, ja kevyesti angry birds tarina etusivuillani, lisää laitan nyt sitten ajan kanssa.

Mutta, minä löysin virheeni, minulla oli min-width css fileessä, hieman liian monessa kohdin, html body ja pari diviä, nyt se on vain html tagissa ja kaikki toimii.

:) :) :)

--


Sivun alkuun

Vastaus

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

Tietoa sivustosta