diff --git a/src/automaton.js b/src/automaton.js index 218bf9a..98ffae4 100644 --- a/src/automaton.js +++ b/src/automaton.js @@ -47,14 +47,9 @@ function Automaton(async, dom, messaging, screen, session, ui) { {label: 'Continue', action: function() { messaging.send({tag: 'Resume', game: game}); }} ); } + intro(); - return { - run: run - } - - function run() { - intro(); - } + return {}; function intro() { var title = dom.make('p', {textContent: "P O K E M O N", class: 'title'}); @@ -84,15 +79,44 @@ function Automaton(async, dom, messaging, screen, session, ui) { function newGame() { ui.frame('GameInit'); + messaging.send({tag: 'NewGame'}); async.run( - ui.text("Bonjour ! Bienvenue dans le monde merveilleux des pokémons !"), - ui.text("Pour certains, les pokemons sont des amis. Pour d'autres, ils sont une ressource. Pour ma part, hé bien l'étude des pokémons est mon métier mais aussi ma passion."), - ui.text("Mais, dis-moi, tu viens d'arriver dans la ville non ? Comment t'appelles-tu ?"), + async.bind(setName(), setSkin) + ); + } + + function setName() { + return async.sequence( + async.parallel( + async.sequence( + ui.text("Bonjour ! Bienvenue dans le monde merveilleux des pokémons !"), + ui.text("Pour certains, les pokemons sont des amis. Pour d'autres, ils sont une ressource. Pour ma part, hé bien l'étude des pokémons est mon métier mais aussi ma passion."), + ui.text("Mais, dis-moi, tu viens d'arriver dans la ville non ? Comment t'appelles-tu ?") + ), + session.update() + ), async.bind(ui.ask(choices.name), function(name) { screen.clear('text'); - console.log('You picked : ' + name); - return async.wrap(); + messaging.send({ + tag: 'Initialize', + step: 'Name', + value: name + }); + return async.sequence( + session.update(), + async.wrap(name) + ); }) ); } + + function setSkin(name) { + return async.sequence( + ui.text("Ah ? Tu t'appelles " + name + " ? C'est un joli nom, ma foi. Mais je ne te vois pas très bien avec le jour tombant, dis-moi, à quoi ressembles-tu ?") + ); + } + + function setGender() { + + } } diff --git a/src/main.js b/src/main.js index b2d20fa..1014d3f 100644 --- a/src/main.js +++ b/src/main.js @@ -3,11 +3,8 @@ window.addEventListener('load', function() { async = Async(); dom = Dom(); screen = Screen(dom); - session = Session(); + session = Session(async); buttons = Buttons(session); ui = UI(async, buttons, dom, screen, session); automaton = Automaton(async, dom, messaging, screen, session, ui); - - messaging.start(); - automaton.run(); });