CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Aide pour un jeu sur le site Coding Game (Python3)

Nininator
Nininator
Niveau 1
09 décembre 2018 à 17:26:56

Bonjour, je suis étudiante à l'université et j'ai un projet en programmation et algo mais je suis débutante. J'ai donc quelques problèmes à comprendre et écrire ce que j'aimerais faire. (J'espère que je suis bien au bon endroit pour ce genre de sujet.)
Le jeu est en faite une grille 9x9. En début de partie chaque joueur commence sur un bord du plateau de jeu. L'objectif est d'atteindre le bord opposé du plateau avant les autres joueurs.
À chaque tour de jeu, un joueur peut effectuer une des deux actions suivantes :
Soit avancer d'une case dans la direction de son choix ( LEFT, RIGHT, UP, DOWN)
Soit placer un mur

Moi je suis au niveau ou mon bot, doit aller sur le bord opposé mais un bot adverse met des murs de sorte que je dois passé dans le trou qu'il laisse.
Pour cela je dois faire en sorte que mon bot attende (c'est a dire qu'il monte et descende) le temps que tous les murs soient placés mais mon bot se cogne au mur du haut et ne redescend pas, je ne comprend pas, quelqu'un pourrait m'aider s'il vous plait ?

Voici mon code:
https://image.noelshack.com/fichiers/2018/49/7/1544372474-screenshot-at-2018-12-09-20-20-03.png

et voici une image de la grille pour vous donnez un peu une idée:
https://image.noelshack.com/fichiers/2018/49/7/1544372582-screenshot-at-2018-12-09-20-20-20.png

Merci d'avance !

Message édité le 09 décembre 2018 à 17:29:28 par Nininator
Lapintade
Lapintade
Niveau 30
10 décembre 2018 à 09:48:05

Hello
Peux tu nous donner les valeurs possible de x et y. C'est la position du bot c'est ca ? ... Donc de 0 a 8. Le zero c'est quelle case ?

Nininator
Nininator
Niveau 1
10 décembre 2018 à 14:41:41

Les valeurs possibles vont bien de 0 à 8 et ca correspond bien à la position du bot .
Et x=0 et y=0 c'est la case en haut à gauche.

(Merci de ta réponse)

Lapintade
Lapintade
Niveau 30
11 décembre 2018 à 08:47:21

ok. Il faut donc que tu introduise une notion de vecteur "vitesse".
En gros un deplacement est defini par une position (ici x,y) et une vitesse (une direction , et une amplitude)
Pour faire tres simple ici. Si tu commence en haut (Y=0), tu donne une vitesse de (0,1) (x=0, y=1)
A chaque tour de boucle tu fais position = position + vitesse (la nouvelle position = l'ancienne position ° vitesse).
Quand tu touche le bas (y==8) tu inverse ta vitesse. elle devient x=0, y=-1 et ton bot va remonter.

Ca c'est dans un cas general. Dans ton cas, comme tu dois generer des commande "haut" et "bas". Tu peux faire la meme chose avec a la fin "Si vitesse y = 1 alors BAS" else "HAUT".

Nininator
Nininator
Niveau 1
11 décembre 2018 à 19:26:49

Je comprends ce que tu dis mais jene sais pas, j'ai du mal à l'exprimer.
On doit donc créer une variable qui définie la position et la vitesse ?
Et puis la partie position = position + vitesse devrait en faite remplacer ce qu'il y a dans ma boucle if actuelle ?
C'est a dire :

def attendre(x, y, my_id):
if my_id < 2:
if y > 0:
return 'UP'
else:
return 'DOWN'

Ou je doit juste y ajouter le fait que la position change donc le sens ?

Message édité le 11 décembre 2018 à 19:27:32 par Nininator
Lapintade
Lapintade
Niveau 30
12 décembre 2018 à 18:42:04

en résumé, tu dois considérer d'autres "états" pour ton robot car sa position ne suffit pas. Avec la position c'est impossible de gerer le cas "je touche un mur donc je sens de sens". Il faut stocker d'autres infos sur ton bot. L'info "dans quel sens je vais en ce moment" est intéressante a stocker.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware