From 1f64c656eac1b172800272585ca0109985a19807 Mon Sep 17 00:00:00 2001 From: lee2sman Date: Sun, 28 Mar 2021 04:19:05 -0400 Subject: [PATCH] update dotd.js --- dotd.js | 107 ++++++++++++++++++++++++++++++++++---------------------- 1 file changed, 66 insertions(+), 41 deletions(-) diff --git a/dotd.js b/dotd.js index a4e363f..1dcb9ed 100644 --- a/dotd.js +++ b/dotd.js @@ -24,7 +24,7 @@ let screen, box; let gameTitle = "Embarassed Cake Watering Hole"; // game vars -const width = 50; +const width = 30; const height = 8; const movesInADay = 24; let dungeon; @@ -100,8 +100,8 @@ let loadPlayer = () => { player = JSON.parse(playerFile); - player.life--; - console.log('life: '+player.life); + //player.life--; + //console.log('life: '+player.life); } let loadInventory = () => { @@ -119,9 +119,9 @@ let loadPlaces = () => { let movePlayer = () => { //if moving - if (argv.r || argv.right || argv.l || argv.left || argv.u || argv.up || argv.d || argv.down) { //check to see if moving first + //if (argv.r || argv.right || argv.l || argv.left || argv.u || argv.up || argv.d || argv.down) { //check to see if moving first - if(player.life > 0){ //check to see if player did not move yet + //if(player.life > 0){ //check to see if player did not move yet if (argv.r || argv.right){ if (player.position.x < width-1){ @@ -156,11 +156,11 @@ let movePlayer = () => { console.log("can't go that way"); } } - } else { //you are asleep - console.log("You've drifted off asleep for the night and will wake tomorrow refreshed."); + //} else { //you are asleep + // console.log("You've drifted off asleep for the night and will wake tomorrow refreshed."); //player.avatar = '😴' - } - } + //} + //} } @@ -562,8 +562,8 @@ let initBlessed = () => { box = blessed.box({ top: 'center', left: 'center', - width: '50%', - height: '50%', + width: width+2, + height: height+2, content: "Welcome to "+gameTitle, tags: true, border: { @@ -592,48 +592,35 @@ let initBlessed = () => { screen.key(['right', 'l'], function(ch, key) { console.log('moved right'); player.position.x++; - loop(); + //loop(); + update() + screen.render(); }); screen.key(['left', 'h'], function(ch, key) { console.log('moved left'); player.position.x--; - loop(); + //loop(); + update() + screen.render(); }); screen.key(['down', 'j'], function(ch, key) { console.log('moved down'); player.position.y++; - loop(); + //loop(); + update() + screen.render(); }); screen.key(['up', 'k'], function(ch, key) { player.position.y--; console.log('moved up'); - loop(); + //loop(); + update() + screen.render(); }); - screen.render(); } -let keyHandler = () => { - // If box is focused, handle `enter`/`return` and give us some more content. - // - - console.log('box.content: '+box.content); - -//box.setContent('hello {red-fg}{green-bg}world{/}'); - box.key('enter', function(ch, key) { //writes to screen, focus needed - - for (let i = 0; i < dungeon.length; i++){ - box.setLine(i, dungeon[i].join('')); - } - - }); - - //box.content = "test test"; //writes to screen, no focus needed - - screen.render(); -} - let drawToBox = () => { //start with dots for (let y = 0; y < height; y++){ @@ -695,31 +682,69 @@ let main = () => { let dungeonWithItems = dungeonWithItemsToStrings(); drawDungeon(dungeonWithItems); - //keyHandler(); - //debug(); } let loop = () => { // //Probably need to reload these things as you move + // + // loadDungeon(); loadTerrain(); loadItems(); loadPlaces(); loadPlayer(); loadInventory(); - grab(); movePlayer(); checkCollision(); + + let dungeonStr = dungeonToStrings(); + writeToFile(dungeonStr); + let dungeonWithItems = dungeonWithItemsToStrings(); + drawDungeon(dungeonWithItems); //blessed // - screen.realloc(); + //screen.realloc(); drawToBox(); screen.render(); } -main() +let start = () => { + + initBlessed(); + + createDungeon(); + createTerrain(); + createPlayer(); + loadTextFiles(); + createItems(); + createBooks(); + createPlaces(); + createGraves(); + +} + +let update = () => { + loadDungeon(); + loadTerrain(); + loadItems(); + loadPlaces(); + loadPlayer(); + loadInventory(); + grab(); + movePlayer(); + checkCollision(); + + screen.realloc(); + drawToBox(); + screen.render(); + +} + +//main() +start(); +update();