recherche un algorithme....
5 participants
Game Maker forum :: Aide/Tutoriels :: Demandes de ressources et collaborations :: Une demande ? C'est ici.
Page 1 sur 1
recherche un algorithme....
voila...pas facile a expliquer, mais je vais essayer.
je voudrai tester la continuité d'une cloture....par exemple quand on a un carré, on a 4 clotures (en perimetre), quand on a 2 carrés on peut avoir 2 fois 4 clotures (avec une commune)ce qui fait 2 champs ou un champs qui englobe les 2 carrés ce qui fait 6 clotures, a 3 carrés eh bien on a 6 posssibilités de clotures, etc... et je butte sur le fait de tester si les clotures se touchent pour fermer un champs...Voila , je ne sais pas si j'ai ete clair, mais si qq'un est interressé pour m'aider sur ce sujet je peux joindre un dessin. merci
je voudrai tester la continuité d'une cloture....par exemple quand on a un carré, on a 4 clotures (en perimetre), quand on a 2 carrés on peut avoir 2 fois 4 clotures (avec une commune)ce qui fait 2 champs ou un champs qui englobe les 2 carrés ce qui fait 6 clotures, a 3 carrés eh bien on a 6 posssibilités de clotures, etc... et je butte sur le fait de tester si les clotures se touchent pour fermer un champs...Voila , je ne sais pas si j'ai ete clair, mais si qq'un est interressé pour m'aider sur ce sujet je peux joindre un dessin. merci
lichien- Mini créator
- Messages : 14
Re: recherche un algorithme....
Salut,
Je pense que tu dois plutôt poster dans la rubrique aide du forum.
Je pense que tu dois plutôt poster dans la rubrique aide du forum.
Omonoto- Rédacteur
- Messages : 936
Pourcentage d'avancement : 10%
Re: recherche un algorithme....
Explique avec des images stp, je n'ai strictement rien compris... à part que ça parle de champs xD
Re: recherche un algorithme....
voila le dessin...on a des champs.. 12 (4x3). je pose des barrieres pour cloturer des champs de differentes surfaces. comment faire pour savoir si un champs est cloturé, car on peut avoir environ 80 combinaisons. je pense qu'il faut utiliser l'algorithme de jarvis sur les enveloppes convexes, mais je ne sais pas comment le mettre en oeuvre... . faut partir d'un point et puis.....voila, je bloque
lichien- Mini créator
- Messages : 14
Re: recherche un algorithme....
Salut je vais essayer de te faire ça, j'ai déjà l'idée de la logique dans ma tête j'ai plus qu'a écrire
chopsuey- Créateur amateur
- Messages : 111
Re: recherche un algorithme....
C'est bon j'ai pu faire un truc.
C'est un peut compliqué par contre donc je te passe le code mais je pense que tu va avoir besoin d'un exemple:
aperçut de ce que algo peut faire:
dans une alarme=1 après avoir cliquer pour placer une clôture:
Voila l'exemple:
http://www.mediafire.com/download/p7g80el9876en9a/champ.gmk
Il faut que tu ais GM 8.0 pour lancer cette exemple. Si tu veux je peux le refaire sur studio.
C'est un peut compliqué par contre donc je te passe le code mais je pense que tu va avoir besoin d'un exemple:
aperçut de ce que algo peut faire:
dans une alarme=1 après avoir cliquer pour placer une clôture:
- Code:
with obj_champ{etat=0}
x=0
y=0
n_champ=0
for (i=0;i<nombre_champs_y;i+=1)
{
sw=sprite_get_width(spr_champ)
sh=sprite_get_height(spr_champ)
x=0
for (ii=0;ii<nombre_champs_x;ii+=1)
{
id_test=instance_position(x,y,obj_champ)
list_id=ds_list_create()
ds_list_add(list_id,id_test)
faille=0
if id_test.etat==0
{
for (iii=0;iii<ds_list_size(list_id);iii+=1)
{
id_test_actu=ds_list_find_value(list_id,iii)
X=id_test_actu.x
Y=id_test_actu.y
if position_meeting(X-sw,Y,obj_champ)
{
if ! position_meeting(X-sw/2,Y,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X-sw,Y,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X-sw,Y,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X-sw/2,Y,obj_cloture)
{faille=1}
}
if position_meeting(X+sw,Y,obj_champ)
{
if ! position_meeting(X+sw/2,Y,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X+sw,Y,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X+sw,Y,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X+sw/2,Y,obj_cloture)
{faille=1}
}
if position_meeting(X,Y-sh,obj_champ)
{
if ! position_meeting(X,Y-sh/2,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X,Y-sh,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X,Y-sh,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X,Y-sh/2,obj_cloture)
{faille=1}
}
if position_meeting(X,Y+sh,obj_champ)
{
if ! position_meeting(X,Y+sh/2,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X,Y+sh,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X,Y+sh,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X,Y+sh/2,obj_cloture)
{faille=1}
}
}
if faille==0
{
n_champ+=1
for (II=0;II<ds_list_size(list_id);II+=1)
{
id_champs_fermer=ds_list_find_value(list_id,II)
id_champs_fermer.etat=1
id_champs_fermer.n=n_champ
}
}
}
x+=sw
}
y+=sh
}
Voila l'exemple:
http://www.mediafire.com/download/p7g80el9876en9a/champ.gmk
Il faut que tu ais GM 8.0 pour lancer cette exemple. Si tu veux je peux le refaire sur studio.
chopsuey- Créateur amateur
- Messages : 111
Re: recherche un algorithme....
chopsuey a écrit:C'est bon j'ai pu faire un truc.
C'est un peut compliqué par contre donc je te passe le code mais je pense que tu va avoir besoin d'un exemple:
aperçut de ce que mon algo peut faire:
dans une alarme=1 après avoir cliquer pour placer une clôture:
- Code:
with obj_champ{etat=0}
x=0
y=0
n_champ=0
for (i=0;i<nombre_champs_y;i+=1)
{
sw=sprite_get_width(spr_champ)
sh=sprite_get_height(spr_champ)
x=0
for (ii=0;ii<nombre_champs_x;ii+=1)
{
id_test=instance_position(x,y,obj_champ)
list_id=ds_list_create()
ds_list_add(list_id,id_test)
faille=0
if id_test.etat==0
{
for (iii=0;iii<ds_list_size(list_id);iii+=1)
{
id_test_actu=ds_list_find_value(list_id,iii)
X=id_test_actu.x
Y=id_test_actu.y
if position_meeting(X-sw,Y,obj_champ)
{
if ! position_meeting(X-sw/2,Y,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X-sw,Y,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X-sw,Y,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X-sw/2,Y,obj_cloture)
{faille=1}
}
if position_meeting(X+sw,Y,obj_champ)
{
if ! position_meeting(X+sw/2,Y,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X+sw,Y,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X+sw,Y,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X+sw/2,Y,obj_cloture)
{faille=1}
}
if position_meeting(X,Y-sh,obj_champ)
{
if ! position_meeting(X,Y-sh/2,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X,Y-sh,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X,Y-sh,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X,Y-sh/2,obj_cloture)
{faille=1}
}
if position_meeting(X,Y+sh,obj_champ)
{
if ! position_meeting(X,Y+sh/2,obj_cloture)
{
test_exist=0
for(I=0;I<ds_list_size(list_id);I+=1)
{
if ds_list_find_value(list_id,I)!= instance_position(X,Y+sh,obj_champ)
{
test_exist+=1
}
else{break}
if test_exist==ds_list_size(list_id)
{
ds_list_add(list_id,instance_position(X,Y+sh,obj_champ))
}
}
}
}
else
{
if ! position_meeting(X,Y+sh/2,obj_cloture)
{faille=1}
}
}
if faille==0
{
n_champ+=1
for (II=0;II<ds_list_size(list_id);II+=1)
{
id_champs_fermer=ds_list_find_value(list_id,II)
id_champs_fermer.etat=1
id_champs_fermer.n=n_champ
}
}
}
x+=sw
}
y+=sh
}
Voila l'exemple:
http://www.mediafire.com/download/p7g80el9876en9a/champ.gmk
Il faut que tu ais GM 8.0 pour lancer cette exemple. Si tu veux je peux le refaire sur studio.
chopsuey- Créateur amateur
- Messages : 111
Re: recherche un algorithme....
merci c'est tres sympa de ta part. je vais l'essayer dés que possible. oui j'ai studio mais pas gm8. je vais bien le trouver quelque part.
pas mal du tout..je vais peut etre arrivé a faire quelque chose avec ça.
Si tu veux voir le jeu realisé a 70% donne moi ton mail.
pas mal du tout..je vais peut etre arrivé a faire quelque chose avec ça.
Si tu veux voir le jeu realisé a 70% donne moi ton mail.
Dernière édition par lichien le Mar 10 Juin 2014 - 11:24, édité 1 fois
lichien- Mini créator
- Messages : 14
Re: recherche un algorithme....
pas mal du tout..je vais peut etre arrivé a faire quelque chose avec ça.
Si tu veux voir le jeu realisé a 70% donne moi ton mail.
Si tu veux voir le jeu realisé a 70% donne moi ton mail.
lichien- Mini créator
- Messages : 14
Re: recherche un algorithme....
pour jouer tu aura besoin par contre de connaitre le principe de ce jeu tres strategique
tu trouveras une video du principe du jeu et une video d'une partie.
http://www.trictrac.net/jeu-de-societe/agricola-terres-d-elevage-1/infos
tu trouveras une video du principe du jeu et une video d'une partie.
http://www.trictrac.net/jeu-de-societe/agricola-terres-d-elevage-1/infos
lichien- Mini créator
- Messages : 14
Re: recherche un algorithme....
Merci de ne pas poster plusieurs messages à la suite ! Veuillez utiliser la fonction "Editer".
Re: recherche un algorithme....
désolé
mais comment les supprimer les messages?
mais comment les supprimer les messages?
lichien- Mini créator
- Messages : 14
Re: recherche un algorithme....
lichien a écrit:mais comment les supprimer les messages?
Dans edit tu as une fonction supprimer.
Omonoto- Rédacteur
- Messages : 936
Pourcentage d'avancement : 10%
Sujets similaires
» A la recherche de la citrouille.
» Recherche programmeur .....
» recherche programmeur
» Recherche Programmeur Web
» Recherche plusieurs sprites !
» Recherche programmeur .....
» recherche programmeur
» Recherche Programmeur Web
» Recherche plusieurs sprites !
Game Maker forum :: Aide/Tutoriels :: Demandes de ressources et collaborations :: Une demande ? C'est ici.
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|