Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 1st, 2012  |  syntax: Python  |  size: 1.32 KB  |  hits: 26  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. # coding: utf-8
  2.  
  3. # Lista de Exercicios - Execicio 161
  4. # Computacao - UFCG 2012.1
  5. # Filipe Wesley Lemos Nunes - Matricula: 21211047
  6. # Programacao 1 - Prof: Dalton Serey Guerrero
  7.  
  8.  
  9. def get_jogador(car, labirinto):
  10.         for lin in range(len(labirinto)):
  11.                 for col in range(len(labirinto[0])):
  12.                         if labirinto[lin][col] == car:
  13.                                 return lin, col
  14.  
  15. def diag_sup_esq(labirinto):
  16.         lin, col = get_jogador('*', labirinto)
  17.         return 0 <= lin - 1 < len(labirinto) and 0 <= col - 1 < len(labirinto[0]) and labirinto[lin - 1][col - 1] == ' '
  18.  
  19. def diag_sup_dir(labirinto):
  20.         lin, col = get_jogador('*', labirinto)
  21.         return 0 <= lin - 1 < len(labirinto) and 0 <= col + 1 < len(labirinto[0]) and labirinto[lin - 1][col + 1] == ' '
  22.  
  23. def diag_inf_esq(labirinto):
  24.         lin, col = get_jogador('*', labirinto)
  25.         return 0 <= lin + 1 < len(labirinto) and 0 <= col - 1 < len(labirinto[0]) and labirinto[lin + 1][col - 1] == ' '
  26.  
  27. def diag_inf_dir(labirinto):
  28.         lin, col = get_jogador('*', labirinto)
  29.         return 0 <= lin + 1 < len(labirinto) and 0 <= col + 1 < len(labirinto[0]) and labirinto[lin + 1][col + 1] == ' '
  30.  
  31. def movimentos_diagonais(labirinto):
  32.         movs = 0
  33.         movs += 1 if diag_sup_dir(labirinto) else 0
  34.         movs += 1 if diag_sup_esq(labirinto) else 0
  35.         movs += 1 if diag_inf_dir(labirinto) else 0
  36.         movs += 1 if diag_inf_esq(labirinto) else 0
  37.         return movs