60

Il faut peut-être aussi implémenter une limite de temps de calcul.

61

vi, le C me semble trop puissant pour ce genre de défis, c'est un peu dommage (d'autant que tlm ne part pas sur un pied d'égalité, du coup ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

62

en meme temps c'est normal que le meilleur gagne smile
après c'est sur que les IA qui prennent 4h a calculer un tour ca va pas aller du tout, on pourrait fixer une limite qui disqualifie les IA trop gourmandes ?
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

63

Que le meilleur *en algo* gagne est normal, quand je parle de ne pas partir sur un pied d'égalité je veux dire que celui qui connait bien le C est un peu avantagé par rapport à qqun qui est très bon, mais dans un autre langage. C'est dommage pour un concours d'algorithmique, mais bon je comprends que ça soit plus simple à organiser de cette façon happy
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

64

bah nan, c tjs possible de faire un wrapper basic ou autre (moka ? etp ?) si vraiment ça sert... mais j'ai comme l'impression que la majorité des gens intéressés voudront le faire en C ^^

et il faut aussi fixer une limite de RAM...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

65

Pollux
: bah nan, c tjs possible de faire un wrapper basic ou autre

hem grin
tu y crois vraiment ? ^^
mais j'ai comme l'impression que la majorité des gens intéressés voudront le faire en C ^^

bah oui, si la vitesse d'execution brute est prise en compte, c'est sûr que le faire en basic est légerement pénalisant; c'est précisement ce que je trouve dommage ^^
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

66

étant donné que tu disais "un autre langage" je ne savais pas si tu parlais du basic ou des langages "alternatifs"... (qui eux sont à peu près aussi rapides que le C)

bah effectivement pour le basic c'est un peu compromis, mais bon c'est vraiment impossible de comparer des IA compilées et des IA basic entre elles (ou alors une catégorie sera très avantagée par rapport à l'autre), donc autant organiser un truc uniquement dans une catégorie... et puis désolé mais parmi les geeks yaronautes/tigenautes motivés par ce genre de truc ultra geek, il risque d'y avoir plutôt plus de programmeurs C que de programmeurs basic (mais je peux me tromper, libre à toi d'organiser qqch qui prouve le contraire happy)

bref, c'est peut-être "dommage", mais y a pas vraiment d'autre solution, et surtout ce serait encore plus dommage si tout le truc tombait à l'eau sous prétexte que pour ne pas faire de discrimination il faut attendre que la partie basic du programme d'arbitrage soit terminée, etc...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

67

non ouais que C/asm, j'ai pas envie de me taper des codes en je sais pas quel langage etc..

sinon voila le projet (non terminé) pour que vous ayez une idée et des suggestions smile

http://databob.free.fr/Volume/index.php?f=B13BDC21

il me reste a coder 2 fonctions dans base.c :
la fonction qui applique les mouvements/aboiements des chiens
la fonction qui fait bouger les moutons au hasard de temps en temps

bon j'ai codé ca aujourd'hui d'un trait, c'est pas super bien codé mais on s'en fout puisque ca marche ^^
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

68

La limite de temps, il faut qu'elle "coupe" la fonction trop lente, cad qu'elle ne la laisse pas finir, sinon pour la limite de mémoire, je ne suis pas sur que ça serve bcp, sinon ça va etre chiant a faire, surtout sur TI, a la limite donner un secteur (64Ko) a chaque concurent devrait etre largemtn suffisent, mais bon, autant pour le temps j'en vois l'interet, autant la mémoire, moins
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

69

euh si, parce que par exemple les stratégies ne sont pas vraiment les mêmes si la taille du programme est limitée à 5 ko, 24 ko ou 63 ko... (idem pour la consommation de RAM dynamique)
note que je ne parle pas de l'implémenter effectivement, je parle juste de fixer une limite que tous les programmes sont censés respecter... par exemple 24 ko max pour le code, et 80 ko max pour toute la mémoire occupée à l'exécution, code inclus ^^


LionelA> pourquoi ne pas bouger les moutons au hasard aussi entre les tours des deux joueurs, i.e. l'intégrer juste dans la fonction apply() et pas ailleurs ? (ça permettrait une certaine symétrie entre les deux joueurs, i.e. un joueur donné n'a jamais besoin de savoir s'il est le premier joueur ou pas)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

70

Pollux > en fait je pensais plutot à un truc du style corewar plutot qu'à autoriser tout et n'importe quoi comme langages (ça deviendrait vraiment de l'algorithmique pure), mais ça demande certainement bcp plus de préparation que ce qu'ils peuvent se permettre, donc tant pis happy
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

71

bah disons que corewar et ça, c'est assez différent : corewar, c'est pas vraiment de l'algorithmique -- tu ne risques pas d'utiliser des structures de données extrêmement compliquées --, mais c'est vrai que c'est probablement plus accessible...

(tiens d'ailleurs j'ai jamais fait vraiment de corewar, ce serait sympa à organiser ^^ en plus c'est naturellement cross-platform smile)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

72

en fait j'ai fini celui d'epita y'a pas très longtemps, c'est pr ça que j'ai un peu ça en tête hehe
ça peut être algorithmique selon le sujet (le nôtre ne l'était clairement pas grin), et comme tu as seulement un assembleur relativement pauvre pour coder, les optimisations ne peuvent pas trop être obtenues en jouant sur les instructions, seule la façon de procéder change radicalement le résultat ^^

(c'est plutot ça que j'entendais par "plus algorithmique", on ne gagne pas parceque telle ou telle fonction est plus rapide, seulement parceque l'algorithme employé est plus efficace que celui des adversaires, pas besoin d'utiliser des "structures de données extrêmement compliquées" vu les résultats à obtenir ^^)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

73

perso je dirais au contraire que c'est moins algorithmique, tu ne risques pas de rencontrer des algorithmes subtils en O(n*log(n)*log(log(n))), ça risque plutôt d'être des bonnes grosses boucles bien de chez nous trioui (et en plus très simples/courtes pour pas trop se faire bouffer par le code adverse) ... mais ça ne veut pas dire qu'il ne faut pas réfléchir à une stratégie, c'est juste que c'est pas vraiment du domaine de l'algorithmique àmha ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

74

mwé c'est vrai que le terme correct ça serait plutot stratégie (cela dit les "bonnes grosses boucles bien de chez nous" faut oublier grin) qu'algorithmique (ms bon dans ce cas, ici non plus il ne risque pas d'y en avoir bcp d'algo, à moins que qqun tienne vraiment à faire une recherche de plus court chemin pr aller chercher les moutons, ça risque pas d'être très évolué), en tt cas c'est assez sympa comme principe happy
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

75

c'est incroyable comme vous vous prenez la tronche.

commencez à coder bon sang! et respectez ce qu'on vous a proposé: un concours C/ASM sur TI! nulle part il n'a été question de basic.

vous vous masturbez le crâne pour savoir des trucs inutiles genre algo ou stratégie: on vous a dit IA. une intelligence normale utilise la stratégie! est ce que vous connaissez les algos de votre intelligence? osef des théories! on vous demande de juste ranger des moutons dans des enclos, pas d'étudier la vitesse de l'algo!

si vous codez mal, ou que vous utilisez un algo de merde, votre stratégie sera trop lente et vous perdrez, c'est tout! a chacun de se démerder avec ses moyens!

l'algo n'est qu'une étape, ce qui compte c'est la statégie! si une grosse bouclasse de chez nous est plus rapide qu'un truc bien pensé qui marche pas, alors je préfère la boucle!

détestez moi, prenez moi pour un con, ca m'est égal, mais a mon avis bcp de concours seraient moins tombés à l'eau si les gens participaient au lieu de pinailler les règlements et conditions.

76

N'empeche que vu l'écran posté, avec 2 chiens ça va être dur de diriger les moutons dans l'enclos :/

77

Bah, j'ai lu le topic en diagonale, et on se pose plus des questions sur le déroulement du jeu...
Une fois qu'on aura la base, on aura tout notre temps pour disséquer tout ça happy

78

Il y a un truc qui me paraît bizarre dans votre implémentation : comment on peut connaître l'état du jeu ?
Et surtout, comment on indique notre action à effectuer pour chaque chien ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

79

En passant en paramètre aux fonctions qui s'occupent de l'ia un pointeur vers une structure qui contiendra les actions choisis. On fait la même chose pour passer l'information sur le jeu.

80

Ouais, mais on pourrait appeler cette fonction plusieurs fois par tour ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

81

Gni ? une structure ???? Pourquoi pas un set de fonction ?

Position GetDogPosition(int dogid);
Carte GetMap();
void DogDo(int dogid, Commande cmd);

etc..

Deja pouvoir dans l'agent (l'ia quoi) voir l'état de toute la carte, me parais un peu trop "simplifié" poru le pbm, et moins realiste. Que le chien ai un champ de vision limité serait (a mon avis) plus mieux, mais bon sorry

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

82

Nan mais c'est un jeu de plateau, pas un concours de robotique, hein tongue. Dans un jeu de plateau chaque joueur a une connaissance totale de la situation au moment où commence son tour, c'est toujours comme ça ; je vois pas trop l'utilité que ce soit plus « réaliste », en plus il me semble (même si je peux me tromper) que la stratégie serait beaucoup moins intéressante si tu ne savais pas du tout où sont les moutons et les chiens adverses : ça se résumerait plus à je cherche un mouton et j'essaie de le ramener et ainsi de suite non ?
avatar
« Le bonheur, c'est une carte de bibliothèque ! » — The gostak distims the doshes.
Membrane fondatrice de la confrérie des artistes flous.
L'univers est-il un dodécaèdre de Poincaré ?
(``·\ powaaaaaaaaa ! #love#

83

d'ou le "suggestions" demandé smile
à mon avis savoir l'etat de la carte est nécéssaire si on veut pas des parties de 12h
et puis on peut faire bouger les chiens avec move et les faire aboyer avec bark (mais si vous regardez le code, on peut appeler plusieurs fois move ou bark, seule la derniere commande sera prise en compte pour l'application de la commande)

edit cross
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

84

pencil Sally

85

au fait j'avais lu vite fait mais les questions de sasume ont leur réponse dans framework.h
et JfG disait n'imp tongue
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

86

Sally :
Nan mais c'est un jeu de plateau, pas un concours de robotique, hein tongue. Dans un jeu de plateau chaque joueur a une connaissance totale de la situation au moment où commence son tour, c'est toujours comme ça ; je vois pas trop l'utilité que ce soit plus « réaliste », en plus il me semble (même si je peux me tromper) que la stratégie serait beaucoup moins intéressante si tu ne savais pas du tout où sont les moutons et les chiens adverses

Justement la résolution serait plus difficile, donc plus intéressante

Sinon le 'Fog Of War" tu ne connais pas ?


le nombre de jeux de plateau qui intègre cette notion est assez important !
ça se résumerait plus à je cherche un mouton et j'essaie de le ramener et ainsi de suite non ?

Pas forcement, si on ajoute un element, le berger, qui a la possibilité de voir bcp plus loin que le chien (mais pas tout le plateau d'un coup) et peut dialoguer avec le chien pour lui donner de infos sur la position des chiens adverses/moutons
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

87

Le problème c'est que tu viens d'inventer un nouveau jeu la Godzil.
Il y a déjà un berger en plus etc...

Je pense que pour une première il faut rester dans un truc 'simple' au niveau des règles et des possibilités.

88

(groumpf, ça n'arrete pas de crosser sorry)
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

89

oui je suis d'accord, c'est très facile d'inventer un tas de règle supplementaires qui rendrait le jeu bcp plus complexe mais plus c'est complexe, moins ca sera facile de faire une IA et donc moins il y aura de participants. cela dit avec les regles actuelles ca devrait etre assez compliqué de faire une IA efficace.

edit crooss rahh
Auteur de Mode7 Engine pour ti68k
Auteur de F-ZERO for TI68k
Membre de Orage Studio
Mon site perso : http://www.tigen.org/lionela/
Le gite de mes parents à coté de Narbonne :
http://chaletdenis.free.fr/

90

Depuis quand le but d'un tel concours est de faciliter la tache aux participants ? trifus

Par contre, hum en anglais, Bord, ne s'écrit pas avec un H !!

Edge, pas Hedge sorry

Sinon, de la lecture (rapide) du code :

La fonction du joueur 'machin_turn' pourrait prendre en parametre un entier qui lui donne le numéro du tour (ou alors avoir une var globale qui donne cette info, ainsi que savoir le nombre de mouton, le nombre total de tour etc..
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.