PasteRack.org
Paste # 42477
2014-11-23 16:34:49

Fork as a new paste.

Paste viewed 109 times.


Embed:

  1. #lang racket
  2.  
  3. (define-struct skills (heading movement shot speed overall))
  4. (define-struct player (surname name skills))
  5.  
  6. (define sample
  7.   (list (make-player 'Player 'A (make-skills 8 10 13 13 (+ 8 10 13 13)))
  8.         (make-player 'Player 'B (make-skills 13 10 12 10 (+ 13 10 12 10)))
  9.         (make-player 'Player 'C (make-skills 9 13 11 11 (+ 9 13 11 11)))
  10.         (make-player 'Player 'D (make-skills 11 10 12 11 (+ 11 10 12 11)))
  11.         (make-player 'Player 'E (make-skills 12 10 12 11 (+ 12 10 12 11)))
  12.         )
  13.   )
  14.  
  15. (define (best-shot alon)
  16.   (cond
  17.     [(empty? alon) 0]
  18.     [(> (skills-shot (player-skills (first alon)))
  19.         (best-shot (rest alon)))
  20.      (string-append (symbol->string (player-surname (first alon))) " "
  21.                     (symbol->string (player-name (first alon))) "!")]
  22.     [else (best-shot (rest alon))]))

=>