NewbieContest

Challenges => Aide Programmation => Discussion démarrée par: the lsd le 11 Avril 2018 à 22:38:39



Titre: Prog - Chess Master - Sans défense
Posté par: the lsd le 11 Avril 2018 à 22:38:39
Postez ici vos messages.


Titre: Re : Prog - Chess Master - Sans défense
Posté par: Asphator le 17 Avril 2018 à 00:20:43
Hello (et bonne année !!! ouai, ça date depuis que je n'étais pas repassé ^^)

Petite question, je passe l'étape 3 à 90%. Cela suffit en soit, mais j'aimerais bien comprendre pourquoi je rate ces 10%.
Si je spoil et que ça doit attendre l'afterwards, pas de souci, me censurer.
Sur Roi B6 avec comme pièces {Tour, Cavalier, Fou}, je donne "struct=tC1cD6". Cela répond "Perdu, le roi peut se déplacer hors des bords du plateau !".
J'ai beau chercher, je ne vois pas comment. Ai-je mal interprété "bords" ou j'ai perdu mes notions de base des échecs?

Je peux MP si cela est préférable.

Bonne soirée et top l'épreuve !


Titre: Re : Prog - Chess Master - Sans défense
Posté par: harvey le 17 Avril 2018 à 11:55:24
Asphator, je pense qu'il faut aussi mettre le roi en échec au niveau 3. Si c'est bien ça, il faudrait le préciser dans l'énoncé. En tout cas, j'obtiens la même réponse en faisant sauter cette condition.


Titre: Re : Prog - Chess Master - Sans défense
Posté par: Asphator le 17 Avril 2018 à 12:05:13
Ahh, intéressant !
Le roi étant la seule pièce adverse, c'est forcément lui qui va bouger au prochain coup.
Donc effectivement, s'il y a la condition supplémentaire de l'échec, il faudrait :
- le préciser dans l'énoncé
- modifier le message d'erreur qui n'est pas exact

Merci Harvey !


EDIT: Je confirme la théorie de Harvey. Il faut bien mettre le roi en échec.


Titre: Re : Prog - Chess Master - Sans défense
Posté par: Asphator le 17 Avril 2018 à 20:45:49
Désolé d'insister.

Si on part sur la théorie selon laquelle, au niveau 3, il faut absolument mettre le roi en échec, dans ce cas, il y a des use case impossibles qui sont générés.
Exemple: Pièces = 3 Fous.

Après, c'est assez rare comme tirage et c'est voire peut-être même un fait acceptable (d'où le retour automatique au niveau 1).
Mais c'est utile de le faire remarquer, je pense.


Titre: Re : Prog - Chess Master - Sans défense
Posté par: BAAL le 18 Avril 2018 à 01:34:42
Il est bien possible que 3 fous réussissent l’objectif #3, dépendemment de la position du roi.

Et tant qu’on y est:
“Si vous faites une erreur elle vous sera indiquée”
->
“Si vous faites une erreur, elle vous sera indiquée”


Titre: Re : Prog - Chess Master - Sans défense
Posté par: the lsd le 18 Avril 2018 à 07:30:56
T'es en train de m'indiquer une erreur là ?

J'avais vu 2/3 fautes, je rajoute celle là dans la liste et fait un update bientôt, thanks

Enjoy

The lsd


Titre: Re : Prog - Chess Master - Sans défense
Posté par: Stockage le 18 Avril 2018 à 09:34:41
Bon du coup il semble bien qu'il y a quelques petites imprécisions. Aucun soucis, je m'y attendais vu la longueur de l’énoncé ;)

Le problème des parties "théoriques" est qu'elles sont sujettes à des interprétations différentes. Pour le coup, j'ai codé cette épreuve autour de l'attaque et de la mise en échec du roi. En dehors du cas du pat, j'étais partie du principe que l'adversaire pouvait avoir certaines pièces théoriques (non-active dans la défense de ce dernier) et qu'il aurait pu être amené à choisir de bouger celles-ci si le roi n'était pas mit en échec lors de ce coup. Évidement, ce n'est pas évident d'être explicite quand l'épreuve ne montre qu'un seul coup. Et c'est vrai que pour le coup, je n'ai pas pensé directement à le préciser. :oops:

Bref, je suis d'accord avec le fait qu'il soit nécessaire de l'ajouter à l'énoncer. Désolé pour ces petits détails incorrects :)


Titre: Re : Prog - Chess Master - Sans défense
Posté par: EtAk0 le 20 Avril 2018 à 12:45:51
De mémoire il me semble qu'il faut aussi prendre en compte le "sens" des pions. Je crois qu'ici ils ne peuvent mettre en échec que vers les adresses hautes des lignes et pas l'inverse.


Titre: Re : Prog - Chess Master - Sans défense
Posté par: m31z0nyx le 23 Avril 2018 à 03:56:38
Bonjour,

Je ne suis pas totalement certain de ce que j'avance, mais des modifs en ce sens m'ont permis d'améliorer mon taux de réussite au niveau 3. Il me semble donc qu'il faut considérer que le roi doit être obligé de se déplacer vers le bord sans pour autant qu'il puisse accèder en bougeant à une case du bord, car dans ce cas on n'a plus la possibilité de l'empêcher de "sortir" (bien que ça paraîsse pour le moins surprenant aux échecs) au prochain coup.

J'en profite pour signaler une erreur dans le message du niveau 3:
"Perdu, le roi peut se d&eacute;placer hors des bors du plateau !"  <- bords

@EtAk0 en effet les pions avancent toujours droit devant eux sauf pour prendre; la prise se fait sur une colonne adjacente.
Pour info les règles sont disponibles par exemple ici: http://www.echecs.asso.fr/Reglements/PresentationRegles.pdf

Ah, et une bonne nouvelle, le niveau 3 accepte certaines réponses douteuses, ça compense.   :lol:
(je peux fournir au moins un exemple documenté sur demande)

Très belle épreuve en tout cas, ou l'on peut profiter à chaque étape des acquis antérieurs pour affiner la stratégie.   :cool:


Edit: D'autres essais montrent que l'explication proposée ci-dessus ne suffit pas, il semble nécessaire de bloquer l'accès du roi aux bords du plateau, sous réserve de confirmation par des essais ultérieurs.


Titre: Re : Prog - Chess Master - Sans défense
Posté par: poute35 le 16 Juillet 2018 à 08:26:05
Bonjour,
Petite question pour le niveau 5,
Le roi doit être pat sur son emplacement actuel ou sur son prochain déplacement ?
Autre chose, je reçois souvent le message "Perdu, le roi est en echec et mat !" Or le roi n'est pas mat.
exemple:
Le roi est placé en F4, ma structure est fE3dF3.

Dernier point, toujours au niveau 5:
"Une autre pièces occupe déjè cette case !"
je ne suis pas un spécialiste de l'orthographe, mais je ne mettrais pas de s à pièce et déjè => déjà.
Merci
+


Titre: Re : Re : Prog - Chess Master - Sans défense
Posté par: Touhead le 20 Juillet 2018 à 06:08:09
Le roi doit être pat sur son emplacement actuel ou sur son prochain déplacement ?
Autre chose, je reçois souvent le message "Perdu, le roi est en echec et mat !" Or le roi n'est pas mat.

Le roi doit être en pat sur sa position actuelle. Le message "Perdu, le roi est en echec et mat !" indique peut être un simple echec (◎ヘ◎;)?

Good luck


Titre: Re : Prog - Chess Master - Sans défense
Posté par: UMH-Belegkarnil le 22 Décembre 2018 à 11:21:06
Bonjour  =)

Je ne suis pas certain de comprendre correctement les règles du jeu d'échecs, ce qui me pose problème pour cette épreuve de programmation  ;)
Au niveau 2, j'obtiens cette situation où r est le roi noir à mettre en échec, p est mon pion et c est mon cavalier.
ABCDEFGH
8c
7r
6p
5
4
3
2
1
J'envoie donc pG6cF8 et j'obtiens la réponse suivante :
Citation
Perdu, le pion n'est pas prot&eacute;g&eacute; !
Je me demande donc ce que signifie "protéger le pion". Il me semble qu'il faut faire en sorte que si le roi prend mon pion, alors il est pris à son tour par mon autre pièce, ce que fait le cavalier dans mon cas.

Est-ce que quelqu'un peut m'expliquer ce qu'il aurait fallu faire ?

Merci !


Titre: Re : Prog - Chess Master - Sans défense
Posté par: harvey le 25 Décembre 2018 à 13:59:49
Ta solution est bonne en principe.
Peut-être le bug vient-il de ce qu'il s'agit d'un échec double (par le pion et le cavalier).


Titre: Re : Prog - Chess Master - Sans défense
Posté par: philippe_ le 03 Juin 2020 à 14:31:44
Bonjour !

Alors je suis au niveau 3, et le roi est en B2. Du coup, j'ai le choix de le déplacer vers la gauche ou vers le bas pour répondre correct à l'épreuve ? Ou bien ce "ou" doit être compris comme un "et" et du coup je doit le déplacer en A1 ? (Ce cas ne revient pas souvent).

D'autre part, j'adore cette épreuve :) J'en profite pour exprimer toute ma gratitude à NB qui m'a tout appris en python ou presque ; j'ai choisi ce langage il y a des années pour ces challenges programmation, et ça m'a tellement servi par la suite pour coder des outils côté professionnel. J'en suis qu'au niveau 3, que je passe avec 80% de réussite, et je sais pas encore si j'atteindrai le 5, mais déjà, cette épreuve me plait beaucoup.

Enfin, je trouve dommage de pas avoir utilisé les caractères unicode des pièces plutôt que les annoncer en ascii. Du coup, j'ai quand même choisi de les récupérer comme ça, et j'ai des bouts de code du type:
Code:
if piece.encode('utf-8') == '♖':
   # do_stuff
elif piece.encode('utf-8') == '♘':
   # do_stuff
etc.


Titre: Re : Re : Prog - Chess Master - Sans défense
Posté par: lovenunu le 03 Juin 2020 à 17:18:43
Bonjour !

Salut !

Alors je suis au niveau 3, et le roi est en B2. Du coup, j'ai le choix de le déplacer vers la gauche ou vers le bas pour répondre correct à l'épreuve ? Ou bien ce "ou" doit être compris comme un "et" et du coup je doit le déplacer en A1 ? (Ce cas ne revient pas souvent).

Je ne suis pas sûr de la réponse, mais logiquement on doit pouvoir forcer le roi à aller en B1, A1 ou A2. Dans le doute, tu peux toujours choisir de forcer l'angle du plateau dans ce genre de cas.

D'autre part, j'adore cette épreuve J'en profite pour exprimer toute ma gratitude à NB qui m'a tout appris en python ou presque ; j'ai choisi ce langage il y a des années pour ces challenges programmation, et ça m'a tellement servi par la suite pour coder des outils côté professionnel. J'en suis qu'au niveau 3, que je passe avec 80% de réussite, et je sais pas encore si j'atteindrai le 5, mais déjà, cette épreuve me plait beaucoup.

Courage pour la suite, selon moi si tu as passé cette étape tu as déjà fait le plus dur :)