Saltar al contenido principal

Entrega inteligente

Desafío: En este juego, el robot VR comienza en el centro de la Ciudad de la Cuadrícula Numérica. El objetivo del juego es conducir el robot de realidad virtual hasta la cuadrícula 0 para recoger un paquete secreto y, a continuación, entregarlo en una cuadrícula numérica asignada aleatoriamente. El robot solo puede desplazarse en direcciones paralelas al eje x o paralelas al eje y. ¡El que consiga el mejor tiempo gana!

  • Seleccione y descargue el fondo de Smart Delivery como un archivo PNG desde esta presentación de diapositivas de Google.
  • Seleccione el entorno de juego Art Canvas+ y cargue el fondo de Smart Delivery.
  • Crea un algoritmo para dirigir el robot VR a la cuadrícula 0, y luego a una cuadrícula asignada seleccionada aleatoriamente del 1 al 99. 
    • Utilice una variable para almacenar el número seleccionado aleatoriamente.
    • Imprime el valor de la variable en la consola de impresión para mostrar el número de cuadrícula asignado.
    • Utilice el lápiz de realidad virtual para dibujar la ruta de entrega, utilizando variables para determinar las distancias de conducción en las direcciones paralelas a los ejes x e y.
    • Utilice el bloque [Rellenar área con color] para rellenar la cuadrícula 0 y la cuadrícula asignada.

Consejos útiles

  • Cada casilla del mapa de cuadrícula numerada mide 200 mm por 200 mm.
  • El dígito de las unidades del número asignado determina la cantidad de cuadrículas que el robot debe moverse en una dirección paralela al eje x desde la cuadrícula 0 para llegar a la cuadrícula asignada.
  • El dígito en la posición de las decenas del número asignado determina la cantidad de cuadrículas que el robot debe moverse en una dirección paralela al eje y desde la cuadrícula 0 para llegar a la cuadrícula asignada.
  • Utilice el bloque selección aleatoria de la categoría Operadores para seleccionar un número de cuadrícula de entrega asignado.Bloque aleatorio VEXcode que lee 'elige un número aleatorio del 1 al 99'.
    • Comando Python correspondiente:

      aleatorio.randint(1, 99)
  • Utilice el bloque resto de la categoría Operadores para calcular el dígito en el lugar de las unidades del número de cuadrícula asignado.Bloque de resto de VEXcode que lee 'resto de assignedGridNumber / 10'.
    • Comando Python correspondiente:

      número de cuadrícula asignado % 10
  • Utilice el bloque piso de la categoría Operadores para calcular el dígito en el lugar de las decenas del número de cuadrícula asignado.Bloque de función VEXcode Floor que lee el piso 'de assignedGridNumber / 10'.
    • Comando Python correspondiente:

      math.floor((assignedGridNumber) / 10)