Buenas, tengo algunas dudas con respecto a este ejercicio.
Mi problema principal es la comunicación entre las vacas y los puestos. Asumo que cuando una vaca llega a los puestos, deberá intentar ser atendida por el primero que pueda, para esto debería preguntarle a todos los puestos si pueden atenderla, y aceptar la respuesta del primero que conteste afirmativamente, y denegar las demás respuestas positivas que reciba. Si no lo hicera de esta forma, no sabría a que puesto le corresponde ir a cada vaca (a no ser que implemente una tarea auxiliar que_puesto():int para las vacas).
Para el tipo de comunicación anteriormente mencionado, necesitaría indizar las vacas para que los puestos puedan responder sus solicitudes. Como no puede haber más de 6 vacas a la vez, pensé en usar un arreglo de 6 posiciones y que las vacas obtengan (de una tarea auxiliar) un ínidce cuando acceden a los puestos. Deberían liberar este inidce una vez que son ordeñadas para que pueda ser usada por la siguieinte vaca.
¿Sería una opción válida que las vacas hagan un
select
puestos[1].ordeñar();
or
puestos[2].ordeñar();
....
endselect
para todos los puestos?
Me gustaría que me indicaran si esta manera de pensarlo es adecuada o la idea va por otro lado.
Muchas gracias.