Reorganize game initialization a bit, providing default answer for skin and gender and generating the character by sending the query to the server

This commit is contained in:
Tissevert 2018-12-14 23:42:37 +01:00
parent 163350d009
commit 59556d8515
1 changed files with 35 additions and 28 deletions

View File

@ -78,45 +78,52 @@ function Automaton(async, dom, messaging, screen, session, ui) {
}
function newGame() {
var message = { tag: 'Initialize' };
var set = function(key) {
return function(value) {
message[key] = value;
return async.wrap(value);
};
};
ui.frame('GameInit');
messaging.send({tag: 'NewGame'});
async.run(
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()
session.update(),
async.bind(
askName(),
set('name'),
askSkin,
set('skin'),
askGender,
set('gender')
),
async.bind(ui.ask(choices.name), function(name) {
screen.clear('text');
messaging.send({
tag: 'Initialize',
step: 'Name',
value: name
});
return async.sequence(
session.update(),
async.wrap(name)
);
})
async.apply(messaging.send, message)
);
}
function setSkin(name) {
function askName() {
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 ?")
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 ?")
),
ui.ask(choices.name)
);
}
function setGender() {
function askSkin(name) {
return async.sequence(
async.apply(screen.clear, 'text'),
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 ?"),
async.wrap('/images/characters/0.png')
);
}
function askGender() {
return async.sequence(
async.apply(screen.clear, 'text'),
async.wrap('NB')
);
}
}