JavaScript játékok
Alig hogy letettem a lantot a félévben az egyetemen, nekiálltam egy kicsit programozni. Ennek eredményeként új rovatunkkal bővült az oldal, amiben JavaScript játékok lesznek láthatók. Az kiinduló ötlet az volt, hogy kellene már egy akadálymentes játék látássérülteknek. Még nem tudom, mennyire fog ez megvalósulni, vagy mennyire más, egyelőre csak gyakorlásnak fogom fel, nem kell semmi komolyra számítani, néhány szöveges agymenés várható itt a későbbiekben.
RPG Maker? O. H. R. RPG. C. E? JavaScript!
Felmerült az ötlet, hogy akár RPG Makerrel, akár O. H. RPG. C. E-vel kellene valami újabb 8-bit retro játékot összehozni. De amikor délelőtt leültem gondolkodni, elaludtam az íróasztalomnál, és részben megálmodtam, részben tiszta fejjel amellett döntöttem, hogy sima JavaScriptben fogok egy darabig most programozni. Még a PHP volt esélyes, de valahogy, úgy látszik, megint visszaszorult a 2. helyre, a JavaScript mögé, mint ahogy általában szokott.
Az első játékról annyit, hogy eredetileg a Halál a pszichiátrián szöveges átiratára lenne kísérlet. Nem tudom, mennyiben fog hasonlítani, és mennyiben fog eltérni az eredetitől, nyilván nem lesz teljesen élethű szöveges remake, de igyekszem a jó dolgokat megtartani, a rosszakat elhagyni belőle. Igyekszem azért, hogy kerüljön még bele néhány eredeti ötlet.
Multi User Shared Hallucination
A JavaScript játékok című rovatot állandóra tervezem, talán majd megoldom, hogy több játék közül is lehessen választani. A végső cél pedig egy Node.js segítségével játszható MUSH lenne (Multi User Shared Hallucination). Ami lényegében nem más, mint egy hálózati szöveges játék. Annyiban különbözik a MUD-októl, hogy nem dominál benne a szerepjátékos jelleg.
Lényegében úgy kell elképzelni, hogy ami dominál, az főleg a chatelés, meg a mászkálás, tárgyak és dolgok, ide-oda hurcolása és pakolása, beszélgetés NPC-kkel (nem játékos karakterekkel). Szóval nem egy erőszakos játék. Bár lehet, hogy valami gyenge, alap harcrendszert lehetne bele applikálni, mint, mondjuk a KJK könyvekben, vagy az AD&D-ben. Vagy mit tudom én, hol. Valami majd csak kialakul ebből az egészből, remélhetőleg. És így már az is egyre inkább értelmet fog nyerni, hogy külön szerveren tárolódik az egész cucc, és lehet komolyabb hálózatos dolgokat írni.
A program kódja - Fuss el véle
Akkor nincs más hátra, mint a hajdani számítógépes magazinokban, közreadni a program "rövid" és "egyszerű" kódját. Tudom, lehetett volna szebben, is megírni a kódot... ez van. Talán még ide kívánkozik, hogy további JavaScript projektekért itt lehet inspirálódni: JavaScript Projects Archives | Source Code & Projects (code-projects.org). (Sok játék is van.)
<div id="myDIV" style="height: 325px; overflow: scroll;background-image:url('https://www.vilaggep.hu/wp-content/uploads/2021/06/vilagoskek.gif'); background-repeat: repeat;">Egy négyszögletű kerekerdőben vagy.
<br>Utak vezetnek minden irányba. (é , d , k, ny)<br>Merre akarsz indulni?<br></div>
<input id="demo" type="text" style="width:100%;padding: 12px 12px;margin: 8px 0;box-sizing: border-box;" placeholder="Mit teszel?" />
<script>
var e = 0;
var d = 0;
var k = 0;
var ny = 0;
var sz = 0;
var szoveg = "";
function updateScroll(){
var element = document.getElementById("myDIV");
element.scrollTop = element.scrollHeight;
}
document.getElementById("demo").onkeyup = function() {myFunction()};
function myFunction() {var x = event.key;
var y = event.keyCode;
if (y != 13) {szoveg = document.getElementById("demo").value;}
if == 13) && (e < 5) && (d < 5) && (k < 5) && (ny < 5{
var para = document.createElement("P");
switch (szoveg) {
case "é":{ szov = "Északra mész."; e = e + 1; d = 0; k = 0; ny = 0; sz = sz + 1; break;}
case "d":{ szov = "Délre mész."; d = d + 1; e = 0; k = 0; ny = 0; sz = sz + 1; break;}
case "k":{ szov = "Keletre mész."; k = k + 1; e = 0; d = 0; ny = 0; sz = sz + 1; break;}
case "ny":{ szov = "Nyugatra mész."; ny = ny + 1; e = 0; k = 0; d = 0; sz = sz + 1; break;}
default: szov = "Nem értem. Próbálkozz mással!"
};
t = document.createTextNode(szov);
para.appendChild(t);
document.getElementById("myDIV").appendChild(para);if == 5) || (k == 5) || (ny == 5) || (d == 5{
para = document.createElement("P");
t = document.createTextNode("Gratulálok! Kitartásod elnyerte jutalmát! Kiértél az erdőből!");
para.appendChild(t);
document.getElementById("myDIV").appendChild(para);para = document.createElement("P");
t = document.createTextNode("Eredményed: "+sz+" lépés a minimum 9-ből.");
para.appendChild(t);
document.getElementById("myDIV").appendChild(para);}
if (sz == 4){ e = 0; k = 0; ny = 0; d = 0;
para = document.createElement("P");
t = document.createTextNode("Hirtelen összetalálkozol az erdőben egy törpével. Azt mondja neked:");
para.appendChild(t);
document.getElementById("myDIV").appendChild(para);para = document.createElement("P");
t = document.createTextNode("- Ahhoz, hogy kitalálj az erdőből, hihetetlenül céltudatosnak és kitartónak kell lenned!");
para.appendChild(t);
document.getElementById("myDIV").appendChild(para);
}updateScroll();
document.getElementById('demo').value='';
szoveg = "";
}
}
</script>
Deprecated: mb_strrpos(): Passing the encoding as third parameter is deprecated. Use an explicit zero offset in /home/yesokhu/madinhungary.org/inc/_ext/_url_rel2abs.php on line 157
2 comments
Comment from: Látogató Visitor

Comment from: admin Member

Így van. Ez az ideális válasz és eredmény. Szívből gratulálok! :-)
Eredményed: 9 lépés a minimum 9-ből.