Miten tehdään yksin kertainen merkkipohjainen NetHack -tyyppinen peli C++:alla!?
Itse saan tehtyä yksin kertaisen käyttöliittymän teksti kraffalla, mutta merkki (<), jolla pitäisi liikkua. en saa liikkumaan! Sekä merrki (- ja |) pitäisi olla peli rajat joista ei pitäisi päästä läpi. Kyse ei ole ASCII:sta, jolla voi myös tehä, mut ihan perinteisellä C++:salla.
Oma screenshot:
http://img230.imageshack.us/my.php?image=luolaenginews0.jpg
Source:
http://www.geocities.com/kakko_markus/Luolasto.
Eihän tuo peli tosin toimi tuolla source:lla, mutta siinä on vain käyttis ei muuta =(
Sourcen perusteellahan tuo on jo puolivalmis peli. Merkin (<) saat helposti liikkumaan, kun laitat koodiin monta goto-funktiota jotka piirtävät erilaisen kuvan. Sitten jos painaa ylös päin niin se menee aina semmoiseen gotoon, jossa näyttäisi niin kuin olisi liikuttu ylös jne. Eihän se sen vaikeampaa ole. Se ylös vai alas painamisen tarkistus kannattaa varmaan ohjelmoida assmebly kielellä, siinä muut varmaan osaavat auttaa paremmin. Onnea peliprojektille :).
Suosittelen, että käytät NCursesia tai PDCursesia(Windowsille).
Tässä eräs hyvä NCurses-opas: https://www.ohjelmointiputka.net/oppaat/opas.
Goto:a ei suositella, mutta niin mä ainakin osaisisin, mutta mitä järkeä?
Tuosta ncursesta en löytännyt mitään?
Ajettaessa se valittaa: #include <ncurses.h>
eli minulta puuttuu tuo, jotta pääsisin kokeilemaan noita esimerkkejö? Miss saan kirjaston?
Ensinnäkin jos lukisit ajatuksella, tietäisit, että et käytä NCursesia vaan PDCursesia. Toiseksi, olet ilmeisesti harvinaisen avuton etsimään itse.
Google + PDCurses = http://pdcurses.sourceforge.net/
Kolmanneksi, sinulta puuttuu ilmeisesti jokseenkin täysin taju siitä, miten peliä pitäisi lähteä tekemään. Opettele hieman perustaitoja ja loogista ajattelua ja mene sitten lukemaan jotakin opasta, paremman puutteessa vaikkapa tuota Opassivulta löytyvää QB-merkkipeliopasta. Siitä käy idea selväksi, vaikka se QB:tä onkin.
Neljänneksi, sinua ei varmaan kukaan ota enää vakavasti, kun kyselet ties mistä aiheista etkä tunnu niistä mistään oikein ymmärtävän mitään. Opas käteen ja perusasioita oppimaan.
Alkeellisesta ulkoasusta huolimatta edes yksinkertaisen NetHack-tyylisen pelin tekeminen vaatii melko paljon ohjelmointikokemusta, sillä merkkigrafiikasta huolimatta peli vaatii aivan yhtä monimutkaisen rakenteen kuin mikä tahansa vastaavanlainen roolipeli. Suosittelen, että aloitat ensin jostain helpommasta ja siirryt tähän vasta sitten, kun koet olevasi valmis.
Toisaalta, jos aloittaa tekemällä yksitasoisen labyrintin ja laajentaa sitä pikkuhiljaa, ei tehtävän pitäisi olla mahdoton.
Eli tee ensin labyrintti, jossa on yksi itse tekemäsi kenttä. Kenttä kannattaa tallentaa ruudunkokoiseen taulukkoon, jossa esim 0 on vapaa- ja 1 seinäruutu. Hahmon (sijainnin) voi tallentaa aluksi kahteen (x ja y) muuttujaan. Siinä riittää aluksi tekemistä. Tuon pitäisi onnistua suht helposti *Cursesilla sekä perussilmukoilla ja ehdoilla.
Eipä sitä juuri parempia pelejä voi tehdä C++:san perusteilla kuin ehkä tekstipelejä joten kraffiikkan tekemiseen jää odottamaan melko kauankin jollei jostakin aloita, joten nethack -tyyppinen peli tuli ekaksi mieleen jos haluaa vähän haastetta ja perusteilla mahdollista kraffiikka peliä =)
Omasta mielestäni tämä idea ei voi olla huono jos ei perusteita kummemin osaa ja jos haluaa tehdä peliä...
Olen kyllä avuton (mielestänne) ja qb -olen tehnyt ja luopunnut siitä koska C++ -jurää.
Pikku hiljaa onkin ideana kun tekee...
Jos jotain valmiimpaa esimerkkiä haluat katsoa, voinen (kait) suositella tekemääni engineä tähän tarkoitukseen.
Esimerkki
Itse engine (lataus)
Oon tainnut joskus kokeilla tuota engineä, mutta se ei ole sitä mitä mä ajattelin tehä =(
Oisko mud online-peli helpompi tehä kuin Nethack!?
Mulle kelpaa periaatteessa molemmat, joko mud peli tai nethack =)...jos vain mahdollista perus taidoilla. Muuten voin unohtaa molemmat ja tämän.
Jos tuo engine ei ole sitä, mitä aiot tehdä, niin mitäs sitten aiot tehdä? Rustasin tuon enginen nimittäin ihan Nethack-kloonien tekemistä varten >_> Pitää vain itse lisätä kaikki hienot yksityiskohdat kuten grafiikka/tms..
MUD vaatisi sitten nettikoodaamisen salattuja taitoja (tietoliikenne jne). MUD kyllä kenties olisi kenties ihan OK tapa harjoitella nettikoodaamista, kunhan mielenkiintoa riittää.
CoolC++ kirjoitti:
Eipä sitä juuri parempia pelejä voi tehdä C++:san perusteilla kuin ehkä tekstipelejä joten kraffiikkan tekemiseen jää odottamaan melko kauankin jollei jostakin aloita
Niillä perusteilla onkin tarkoitus luoda ainoastaan pelin rakenne ja toiminta. Kaikki multimediahärpäkkeet kuten grafiikka tehdään erillisillä kirjastoilla, jotka eivät sinänsä liity mitenkään käyttämääsi kieleen.
CoolC++ kirjoitti:
Omasta mielestäni tämä idea ei voi olla huono jos ei perusteita kummemin osaa ja jos haluaa tehdä peliä...
Usko pois, tällainen peli vaatii enemmän kuin pelkkiä perusteita. Mutta kokeile toki tuota ezulin ideaa, siitä on hyvä lähteä laajentamaan.
CoolC++ kirjoitti:
Oisko mud online-peli helpompi tehä kuin Nethack!?
Tuskinpa.
Aihe on jo aika vanha, joten et voi enää vastata siihen.