From 8810c883ff3b0b5709b9d7fb78e70ecec7211e94 Mon Sep 17 00:00:00 2001 From: Holden Rohrer Date: Fri, 27 Dec 2019 14:35:45 -0500 Subject: space.write relies on .loc; expanded jarvis response --- examples/helloworld.js | 3 ++- examples/jarvis.js | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) (limited to 'examples') diff --git a/examples/helloworld.js b/examples/helloworld.js index 4984914..889ce8f 100644 --- a/examples/helloworld.js +++ b/examples/helloworld.js @@ -3,8 +3,9 @@ const Space = require('../space'); writes = new Space(); //Generate a place to store potential writes writes.adhoc('hello\nworld') // A method to fill internal data with inline code. +writes.loc = [8, 16]; // Declares the location (in terms of characters displaced from the center) main = new Socket('helloworld'); // Open socket at yourworldoftext.com/helloworld main.on('open',()=>{ // When socket opens - main.write(writes.towrite([8,16])); // Tell the server to write the content of `writes` to + main.write(writes.towrite()); // Tell the server to write the content of `writes` to }); diff --git a/examples/jarvis.js b/examples/jarvis.js index 8b67961..e0cb82f 100644 --- a/examples/jarvis.js +++ b/examples/jarvis.js @@ -54,6 +54,26 @@ function identity(sender){ }); } +let response = new Space(); +response.adhoc('yes, my liege'); +let queue = []; // Must be expanded to handle actual use cases +let open = true; +function send(){ + if (queue.length == 0) open = true; + else{ + main.write(queue.shift()); + setTimeout(send, 1000); + } +} function respond(coord){ + response.loc = coord; console.log('called at', coord); + if (open){ + main.write(response.towrite()); + setTimeout(send, 1000); + } else { + queue.push(response.towrite()); + } + send(response.towrite()); + main.write(response.towrite()); } -- cgit