summaryrefslogtreecommitdiff
path: root/sem_4/progaapp/TP1/divers.rkt
blob: 576f153ce8f3ee8b2f51647ff3e643c9a32a8508 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
;Gaspard Coulet 21601609 Groupe B
#lang racket

;Exercice 9 :
(define genliste (lambda (d f p)
                    (letrec ((fun(lambda (li d)
                                (if (> f (+ d p) )
                               ( fun (append li (list (+ d p))) (+ d p))
                               li)
                                )))
                      (fun '() (- d p))
                      )
                    ))

;Exercice 10 :

(define make-lancer (lambda (x y z)
                      (list x y z)))
(define premier (lambda ( li ) (car li)))
(define deuxieme (lambda ( li ) (cadr li)))
(define troisieme (lambda (li) (caddr li)))

;Exercice 11 :
(define gagnant? (lambda (li) (and (xor(xor ( = (premier li ) 4) (= (deuxieme li) 4)) (= (troisieme li) 4))
                                   (xor(xor ( = (premier li ) 2) (= (deuxieme li) 2)) (= (troisieme li) 2))
                                   (xor(xor ( = (premier li ) 1) (= (deuxieme li) 1)) (= (troisieme li) 1)))))

(define jouer (lambda ()
                (gagnant? (make-lancer (+(random 5) 1) (+(random 5) 1) (+(random 5) 1)))))


;Exercice 12 :
(define jeux (lambda (n)
               (if ( < 0 n)
               ( cons (jeux (- n 1)) (jouer))
               #f
               )
               ))