;;; Fichier piquet2.drs / 20 fevrier 2000 (define w (make-object frame% "jeu du piquet")) (define v (make-object vertical-panel% w)) (define j1 (make-object text-field% "joueur 1" v void )) (define j2 (make-object text-field% "joueur 2" v void )) (define res (make-object text-field% "somme" v void )) (define (encore ob ev) (send j1 set-value "") (send j2 set-value "") (jeu2 0 j1 j2)) (define b (make-object button% "relancer" v encore)) (send w show #t) (define (jeu2 s j1 j2) (send res set-value (number->string s)) (let ((v (saisie j1))) (cond ((or (< v 1) (> v 10)) (send j1 set-value "erreur : nombre entre 1 et 10 !") (jeu2 s j1 j2)) ((>= (+ s v) 100) (send res set-value (number->string (+ s v))) (send j1 set-value "bravo, tu as gagne !")) (else (jeu2 (+ s v) j2 j1))))) (define (saisie j) (let ((v (get-text-from-user "saisie d'un nombre entre 1 et 10" (send j get-label) w ""))) (send j set-value v) (string->number v)))