update dotd.js

This commit is contained in:
lee2sman 2021-03-28 04:19:05 -04:00
parent 61490b5d00
commit 1f64c656ea
1 changed files with 66 additions and 41 deletions

107
dotd.js
View File

@ -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();