comando mirar i especificación das saídas na descripción da sala

This commit is contained in:
serxoz 2022-09-08 17:00:17 +02:00
parent 2229079790
commit 211acf60ea
5 changed files with 20 additions and 8 deletions

View File

@ -1,6 +1,6 @@
{
"tag": "0",
"descripcion": "Pasillo oscuro, luz pulsante.",
"descripcion": "Estás en un pasillo muy oscuro.\nEscuchas un sonido de alarma en la lejanía.\nApenas puedes ver una luz pulsante al norte.\n\n---\nSalidas: norte",
"salidas": {
"norte": "1",
"este": "",

View File

@ -1,6 +1,6 @@
{
"tag": "1",
"descripcion": "Puente de mando. Humo denso.",
"descripcion": "La única iluminación de esta sala es una pequeña luz pulsante en un panel. Parece el puente de mando. Un humo denso llena la sala irritando tus pulmones. Entre el humo ves una puerta al este tras la cual parece que suena una alarma.\n\n---\nSalidas: este, sur",
"salidas": {
"norte": "",
"este": "2",

View File

@ -1,6 +1,6 @@
{
"tag": "2",
"descripcion": "Vainas criogénicas. Sonido de alarma.",
"descripcion": "De aquí surje el fuerte sonido de alarma que taladra tus tímpanos. Alrededor de la sala ves las vainas criogénicas en las que has estado durmiendo durante el viaje. Todas están vacías!\n\n---\nSalidas: oeste",
"salidas": {
"norte": "",
"este": "",

View File

@ -1,5 +1,5 @@
use std::io::{self, Write};
use crate::rlocation::execute_go;
use crate::rlocation::{execute_go, execute_look};
use crate::player::Player;
pub struct Command {
@ -49,7 +49,7 @@ pub fn update_state(player: &mut Player, command: &Command) -> String {
match command.verb.as_str() {
"salir" => output = format!("Saliendo.\nGracias por jugar! :D"),
"mirar" => output = format!("Está muy oscuro, no puedes ver nada excepto la luz pulsante."),
"mirar" => output = execute_look(player, command.noun.as_str()),
"ir" => output = execute_go(player, command.noun.as_str()),
"n" => output = execute_go(player, "n"),
"e" => output = execute_go(player, "e"),

View File

@ -20,10 +20,22 @@ pub struct Salidas {
oeste: String,
}
pub fn execute_look(_tag: String) -> String {
let salida = "";
pub fn execute_look(player: &mut Player, nombre: &str) -> String {
let output: String;
return salida.to_string();
if nombre == "sala" {
let player_location = &player.location;
if player_location.as_str() != "" {
let location = get_location(player_location.to_string());
output = String::from(location.descripcion);
} else {
output = String::from("Navengado el ether!");
}
} else {
output = String::from("Qué quieres mirar?")
}
return output
}
pub fn execute_go(player: &mut Player, coord: &str) -> String {