#VS2017 – Comandos con los movimientos básicos en un Agente #Minecraft con #ProjectMalmo

Buenas!

Hoy mostrare como realizar 2 movimientos básicos con un Agente en Minecraft

  • Avanzar
  • Girar

El ejemplo de código al final del post, representa una ConsoleApp, que una vez conectado al host Minecraft, adelanta una serie de pasos, luego gira y vuelve a adelantar. Ejemplo en modo gráfico.

2017 11 19 Malmo Movements 01.gif

Pues bien, los comandos que usamos son

  • Avanzar > “move {1}”
  • Girar > “turn {1}”

Donde el primer parámetro es un entero entre 0 y 1 que define el movimiento a realizar. Estos 2 comandos son los mínimos que podemos utilizar en escenarios como por ejemplo un laberinto, así que tiene sentido que el siguiente post hable de eso.

namespace Malmo06
{
class Program
{
private static AgentHost _agentHost;
private static MissionSpec _mission;
private static MissionRecordSpec _missionRecord;
private static WorldState _worldState;
public static void Main()
{
InitAgentHost();
InitMissionSpecs();
StartMission();
WaitMissionToStart();
Console.WriteLine("Mission in progress !");
Console.WriteLine();
int i = 0;
do
{
i++;
var command = "move 0.5";
if (i > 3)
{
i = 0;
command = "turn 0.5";
_agentHost.sendCommand(command);
Thread.Sleep(500);
command = "turn 0";
_agentHost.sendCommand(command);
Thread.Sleep(500);
}
else
{
_agentHost.sendCommand(command);
Thread.Sleep(1000);
}
Console.WriteLine($"{i} – command: {command}");
// Move
} while (_worldState.is_mission_running);
Console.WriteLine("Mission has stopped.");
}

Sample Project en GitHub link

Saludos @ Toronto

El Bruno

References

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.