Jogo Das Ovelhas

Alguem tem uma idéia de como implementar o jogo das ovelhas descrito abaixo:

Este jogo usa as casas pretas de um tabuleiro de xadrez (linha 0 no topo, coluna 0 à esquerda).
Os lobos começam na linha 0 (zero).
Existem 4 (quatro) lobos em um lado e 1 (uma) ovelha no lado oposto.
Os movimentos se fazem nas diagonais, de uma casa preta para uma casa diagonalmente adjacente.
Em cada rodada, a ovelha se move para frente ou para trás, e um lobo se move apenas para frente.
Os lobos vencem se eles conseguem imobilizar a ovelha.
A ovelha vence se ela atinge o lado de onde os lobos saíram (linha 0) antes de ser imobilizada.
A ovelha sempre começa o jogo.
Seu programa deve mover os lobos.
O movimento da ovelha é lida da entrada padrão.
O movimento dos lobos deve ser enviado para a saída padrão.
O programa ao final deve enviar à saída de erros as frases “Lobos venceram !!” ou “Ovelha escapou !!” dependendo se a ovelha foi ou não imobilizada, e então terminar.
O movimento da ovelha é uma linha contendo 2 (dois) números separados por um espaço em branco: a linha e a coluna para onde a ovelha deve se mover.
O movimento dos lobos é uma linha contendo 3 (três) números separados por um espaço em branco: o número do lobo (0 a 3), a linha e a coluna para onde este lobo deve se mover.
Após o movimento de um lobo, o programa deve ler o movimento da ovelha, e assim sucessivamente até o fim do jogo.

     Vamos fazer umas contas de padeiro:
     Considerando que a especificação abaixo tenha uns 6 casos simples de uso com 2 atores simples (interface de texto e jogador) - Pelo metodo Karner, atores = 2 atores simples = 2 ; casos = 5 casos de uso simples = 25. Pontos de caso de uso sem ajuste = 27.
     Para programadores experientes, vamos estimar 20horas por caso se uso, o que resulta em 540 hs de trabalho. Trabalhando 140hs por mes com 1 programador, necessitamos de 3,8 meses. 
     Como o salário de um programador experiente é de R$4000,00 , o custo da mão de obra para o software será de R$15428,00.
     Considere uma variação de 25% para mais ou para menos no custo(é uma estimativa inicial).

     Desculpe a "brincadeira"... Não resisti....

Um abraço,

Rogério

bem quanto ao movimento da ovelha e simples basta vc criar um array que sera seu “xadres” preencher ele com 0 para cedulas vazias, 1 para indicador da ovelha e 2,3,4,5… para os lobos por exemplo… então pegue o evento das setas do teclado para a movimentação da entrada… dependendo a tecla q o usuario aperte ex: dir, esq, cima, baixo a ovelha se move a estas posições… fazendo apenas a atribuição no array exemplo: a ovelha esta na posição [4][4] onde o primeiro e conchete e referente a linha e o 2 a coluna do array o usuario aperta seta direita: [4][4]=0; [4][5]=1;, o usuario aperta seta pra baixo: [4][5]=0; [5][5]=1; é claro que antes de fazer as atribuições vc ira testar se a ovelha não se encontra nos limites do array… feito isso a movimentação dos lobos seguiria o mesmo esquema q da ovelha… a cada movimentação dela vc pode mover cada lobo em direção a ela… calculando a posição dela e vazendo o lobo se movimentar em direção dela… para isto vc pode calcular com cada lobo a a quantidade de linhas e a quantidade de colunas do lobo ate a ovelha e depois ver qual a menor distancia… x linhas ou y colunas para se chegar a ela… e para cercala a poisção de um lobo com os demais outros como se fosse fazer um circulo com a ovelha sendo o centro… creio que esta sera a parte mais complicada… bem isto e uma das inumeras formas de se fazer…