Programmer un nouveau jeu

Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
jeancam
Membre Relatif
Messages: 171
Enregistré le: 07 Nov 2008, 21:54

programmer un nouveau jeu

par jeancam » 29 Déc 2008, 19:10

est ce que quelqu un pourrait programmer le jeu suivant (je n y connais rien en programmation)
on a trois lettre et chaque joueur en donne une a tour de role. celui qui perd est celui qui fait que le jeu s arrete et le jeu s arrete quand le mot est de la forme YXX ou X et Y sont des mots.
abcabc ou aa ou cabacabac ect...
je n arrive pas encore a demontrer que le jeu peut ne jamais s arreter.



XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 29 Déc 2008, 20:02

Rien compris à ton principe ;)

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 29 Déc 2008, 20:04

XENSECP a écrit:Rien compris à ton principe ;)

Et tu n'es pas le seul. Qu'est-ce qu'un mot?
(Celui qui dit que ca se voit que je fais de la philo a...raison :ptdr: )

jeancam
Membre Relatif
Messages: 171
Enregistré le: 07 Nov 2008, 21:54

par jeancam » 29 Déc 2008, 20:05

XENSECP a écrit:Rien compris à ton principe ;)

l idee est de jouer une musique sur un clavier de trois note sans jamais qu il y ai de repetition...

XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 29 Déc 2008, 22:28

Toujours pas pigé :D

jeancam
Membre Relatif
Messages: 171
Enregistré le: 07 Nov 2008, 21:54

par jeancam » 30 Déc 2008, 12:41

XENSECP a écrit:Toujours pas pigé :D

on ne doit pas repeter deux fois consecutives la meme secance
exemple interdit
aa abaa cabc(ab)(ab) a(bca)(bca)
permis:
abcacbabca....
chacun donne une lettre et celui qui perd est celui qui fait une repetition
montrer qu il existe un tel mot infinis.
j espere que c est plus clair

XENSECP
Habitué(e)
Messages: 6387
Enregistré le: 27 Fév 2008, 19:13

par XENSECP » 30 Déc 2008, 12:48

non mais concrètement comment ça se joue ?

lapras
Membre Transcendant
Messages: 3664
Enregistré le: 01 Jan 2007, 12:00

par lapras » 30 Déc 2008, 13:00

salut,
est ce que ton probleme est le suivant :
soient trois lettres A, B et C.
On doit former des mots a partir de ces 3 lettres, tels que un mot ne contiennent aucune séquence répétée.
par exemple ABCABAB est faux car il y a ABAB
Si oui, j'ai bossé dessus a maths en jeans l'année derniere, tu peux me contacter par email ou MP. (j'ai réalisé un programme qui te donnait des mots avec 100 000 lettres).

miikou
Membre Rationnel
Messages: 642
Enregistré le: 07 Juil 2008, 18:38

par miikou » 30 Déc 2008, 13:02

c'est tres clair !

jeancam
Membre Relatif
Messages: 171
Enregistré le: 07 Nov 2008, 21:54

par jeancam » 30 Déc 2008, 13:10

lapras a écrit:salut,
est ce que ton probleme est le suivant :
soient trois lettres A, B et C.
On doit former des mots a partir de ces 3 lettres, tels que un mot ne contiennent aucune séquence répétée.
par exemple ABCABAB est faux car il y a ABAB
Si oui, j'ai bossé dessus a maths en jeans l'année derniere, tu peux me contacter par email ou MP. (j'ai réalisé un programme qui te donnait des mots avec 100 000 lettres).

oui c est exactement çà
je te contact bientot
pour une demo qu il existe un tel mot infini que penses tu de considerer le groupe libre à trois generateut quotienté par x^2=1 ?
si tu as une demo on pourra en discuter avec plaisir!

lapras
Membre Transcendant
Messages: 3664
Enregistré le: 01 Jan 2007, 12:00

par lapras » 30 Déc 2008, 13:18

Je préferais rester dans une démo élémentaire... (sans groupes etc...). Il existe une démo qui assure l'existence des mots infiniment longs.

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 31 Déc 2008, 22:53

Bonjour,

pour ce qui est de la partie programmation, on peut procéder ainsi (ya surement plus optimisé)
Soit x_k la kieme lettre de la séquence.
On pose la (k+1)eme lettre et on veut vérifier si on a le droit.
On doit vérifier :

on prend . l'opérateur de concaténation

...
au rang n, cad mot a n lettres:

La condition sur n, c'est que n/2<nblettres,(partie entiere du resultat si on a un nombre impair)

Au niveau du code on peut se servir de la classe string de cpp par exemple
ce qui donnerait qqch du style:
bool SequenceValide(const std::string &sequence,const std::string &lettre)
{

int taille=sequence.size()+1;//on tient compte du k+1eme caractere
for(int i=1;i<=taille/2;i++)//i représente la longueur de la séquence testée
{
// std::cout<<"i vaut:"<<i<<std::endl;
// std::cout<<sequence.substr(taille-i,i-1)+lettre<<std::endl;
// std::cout<<sequence.substr(taille-2*i,i)<<std::endl;
if(sequence.compare(taille-2*i,i,sequence.substr(taille-i,i-1)+lettre)==0) return false;
}
return true;
}
la vie est une fête :)

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 11:07

par Doraki » 31 Déc 2008, 23:16

Le joueur qui commence a une stratégie gagnante.

jeancam
Membre Relatif
Messages: 171
Enregistré le: 07 Nov 2008, 21:54

par jeancam » 02 Jan 2009, 13:31

Doraki a écrit:Le joueur qui commence a une stratégie gagnante.

interessant...
a quoi tu le vois ?

Doraki
Habitué(e)
Messages: 5021
Enregistré le: 20 Aoû 2008, 11:07

par Doraki » 02 Jan 2009, 15:54

c'est pas dur, il lui suffit juste de jouer tout le temps la même lettre.
L'opposant se retrouve à devoir faire un mot sans répétition avec les 2 autres lettres et il peut pas aller très loin...

jeancam
Membre Relatif
Messages: 171
Enregistré le: 07 Nov 2008, 21:54

par jeancam » 04 Jan 2009, 19:43

Doraki a écrit:c'est pas dur, il lui suffit juste de jouer tout le temps la même lettre.
L'opposant se retrouve à devoir faire un mot sans répétition avec les 2 autres lettres et il peut pas aller très loin...

oui c vrai
faudrait mettre plus de lettres dans l alphabet
à partir de combien de lettre n y a t il pas de strategie gagnante

 

Retourner vers ⚜ Salon Mathématique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite