Black jack en scheme
Résolu/Fermé
ily69
Messages postés
7
Date d'inscription
samedi 22 mai 2010
Statut
Membre
Dernière intervention
22 janvier 2013
-
Modifié par ily69 le 22/05/2010 à 14:16
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 25 mai 2010 à 13:56
Groarh Messages postés 682 Date d'inscription vendredi 1 août 2008 Statut Membre Dernière intervention 28 juin 2015 - 25 mai 2010 à 13:56
A voir également:
- Black jack en scheme
- Malware tor jack ✓ - Forum antivirus
- Black friday - Guide
- Prise jack pc ne fonctionne plus ✓ - Forum Audio
- Black sky virus - Forum Windows
- Black stone cigarette ✓ - Forum Loisirs / Divertissements
6 réponses
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
22 mai 2010 à 15:23
22 mai 2010 à 15:23
Oh, du Scheme ! C'est pas souvent qu'on en voit sur ce forum. Allez, c'est chiant le Scheme mais je vais répondre sinon personne le fera ^^
Moi je verrais bien le truc avec une ou deux fonctions intermédiaires, genre :
Y'aura ptêt deux-trois détails à revoir pour la syntaxe, je fais ça de mémoire.
Tu me suis ? Par contre des fois les fonctions intermédiaires ça plaît pas au prof... Le mien disait que c'était de la triche...
Moi je verrais bien le truc avec une ou deux fonctions intermédiaires, genre :
(define hauteur (lambda (num) (cond ((= num 1) "as") ((= num 11) "valet") ((= num 12) "dame") ((= num 13) "roi") (else num) )))
Y'aura ptêt deux-trois détails à revoir pour la syntaxe, je fais ça de mémoire.
Tu me suis ? Par contre des fois les fonctions intermédiaires ça plaît pas au prof... Le mien disait que c'était de la triche...
ily69
Messages postés
7
Date d'inscription
samedi 22 mai 2010
Statut
Membre
Dernière intervention
22 janvier 2013
22 mai 2010 à 15:47
22 mai 2010 à 15:47
super c'est tout à fait ce que je voulais savoir , je savais pas qu'on pouvait faire ça avec un cons , merci beaucoup :) , je vais faire une autre fonction pour les couleurs et une troisième qui prend en argument ses deux fonction pour donner la valeur de la carte , merci encore .
ily69
Messages postés
7
Date d'inscription
samedi 22 mai 2010
Statut
Membre
Dernière intervention
22 janvier 2013
22 mai 2010 à 16:03
22 mai 2010 à 16:03
j'ai un petit problème là ,voila ce que j'ai fais
(define hauteur
(lambda (num)
(cond ((= num 1) "as")
((= num 11) "valet")
((= num 12) "dame")
((= num 13) "roi")
(else num)
)))
(define couleur
(lambda (a)
(cond ((= a 1) "carreau")
((= a 2) "coeur")
((= a 3) "pique")
((= a 4) "trefle")
(else 'erreur)
)))
(define carte
(lambda(l)
(list(hauteur couleur))))
quand j'exécute ça me renvoie un message d'erreur comme quoi "as" et carreau ont le même nombre qui est 1 , alors que ce n'est la même fonction , normalement ça marche non ?
(define hauteur
(lambda (num)
(cond ((= num 1) "as")
((= num 11) "valet")
((= num 12) "dame")
((= num 13) "roi")
(else num)
)))
(define couleur
(lambda (a)
(cond ((= a 1) "carreau")
((= a 2) "coeur")
((= a 3) "pique")
((= a 4) "trefle")
(else 'erreur)
)))
(define carte
(lambda(l)
(list(hauteur couleur))))
quand j'exécute ça me renvoie un message d'erreur comme quoi "as" et carreau ont le même nombre qui est 1 , alors que ce n'est la même fonction , normalement ça marche non ?
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
22 mai 2010 à 16:36
22 mai 2010 à 16:36
Pourquoi tu n'as qu'un seul paramètre dans la fonction carte ? C'est une liste ?
Je ne comprends pas ton message d'erreur mais tu devrais essayer car et cdr pour extraire les arguments de ta liste.
Je ne comprends pas ton message d'erreur mais tu devrais essayer car et cdr pour extraire les arguments de ta liste.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ily69
Messages postés
7
Date d'inscription
samedi 22 mai 2010
Statut
Membre
Dernière intervention
22 janvier 2013
22 mai 2010 à 16:39
22 mai 2010 à 16:39
(define hauteur
(lambda (l)
(cond ((equal? (car l) 1) "as")
((equal? (car l) 11) "valet")
((equal? (car l) 12) "dame")
((equal? (car l) 13) "roi")
(else (car l)
))))
(define couleur
(lambda (l2)
(cond ((equal? (cadr l2) 1) "carreau")
((equal? (cadr l2) 2) "coeur")
((equal? (cadr l2) 3) "pique")
((equal? (cadr l2) 4) "trefle")
(else 'erreur)
)))
(define carte
(lambda(x)
(list(hauteur couleur))))
j'ai aussi fais avec le cdr l mais ça ne marche pas , je peux pas mettre la foncton couleur dans la première ?
(lambda (l)
(cond ((equal? (car l) 1) "as")
((equal? (car l) 11) "valet")
((equal? (car l) 12) "dame")
((equal? (car l) 13) "roi")
(else (car l)
))))
(define couleur
(lambda (l2)
(cond ((equal? (cadr l2) 1) "carreau")
((equal? (cadr l2) 2) "coeur")
((equal? (cadr l2) 3) "pique")
((equal? (cadr l2) 4) "trefle")
(else 'erreur)
)))
(define carte
(lambda(x)
(list(hauteur couleur))))
j'ai aussi fais avec le cdr l mais ça ne marche pas , je peux pas mettre la foncton couleur dans la première ?
Groarh
Messages postés
682
Date d'inscription
vendredi 1 août 2008
Statut
Membre
Dernière intervention
28 juin 2015
185
25 mai 2010 à 13:56
25 mai 2010 à 13:56
Hm, tu ne pars pas dans la bonne direction ;)
Tu oublies les arguments quand tu appelles hauteur et couleur. Je ne te l'ai pas dit car je pensais que tu t'en rendrais compte assez vite...
Tu oublies les arguments quand tu appelles hauteur et couleur. Je ne te l'ai pas dit car je pensais que tu t'en rendrais compte assez vite...
(list (hauteur machin) (couleur truc))À toi de trouver machin et truc ;)