Programme pour faire bouger une voiture dans un jeu

Fermé
qwer050505 - Modifié le 20 mars 2023 à 18:08
mariam-j Messages postés 1087 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 27 mai 2024 - 20 mars 2023 à 18:27

Bonjour,

J'ai demandé à chat GPT un programme pour que dans mon jeu la voiture bouge automatiquement reste toujours à gauche d'une ligne orange jaune. Les touches sont :

  • x pour s'arrêter,
  • q pour touner à gauche,
  • d pour tourner à droite
  • s pour ralentir/reculer
  • z pour avancer 

Voilà le programme qu'il m'a donné mais ça la coupé en plein milieu 

import numpy as np
from PIL import ImageGrab
import cv2
import time
import keyboard

# Définition des touches
LEFT_KEY = 'q'
RIGHT_KEY = 'd'
FORWARD_KEY = 'z'
REVERSE_KEY = 's'
STOP_KEY = 'x'

def process_img(original_image):
    # convert image to gray
    processed_image = cv2.cvtColor(original_image, cv2.COLOR_BGR2GRAY)
    # apply edge detection
    processed_image = cv2.Canny(processed_image, threshold1=200, threshold2=300)
    return processed_image


def screen_record():
    last_time = time.time()
    while True:
        # capture screen
        screen = np.array(ImageGrab.grab(bbox=(0, 40, 800, 640)))
        # process image
        new_screen = process_img(screen)
        # find orange and yellow lines
        orange_color = np.array([255, 115, 0])
        yellow_color = np.array([255, 255, 0])
        orange_line = cv2.inRange(screen, orange_color, orange_color)
        yellow_line = cv2.inRange(screen, yellow_color, yellow_color)
        # adjust car position
        if not is_color_at_left_edge(screen, orange_color):
            keyboard.press(LEFT_KEY)
            time.sleep(0.1)
            keyboard.release(LEFT_KEY)
        elif not is_color_at_left_edge(screen, yellow_color):
            adjust_position(screen, orange_color, yellow_color)
        # press STOP_KEY to quit
        if keyboard.is_pressed(STOP_KEY):
            break
        # print FPS
        print('Loop took {} seconds'.format(time.time() - last_time))
        last_time = time.time()


def is_color_at_left_edge(screen, color):
    # check if color is at left edge of screen
    edge_color = screen[520, 10]
    return np.array_equal(color, edge_color)


def adjust_position(screen, orange_color, yellow_color):
    # move left if car is on right of orange line
    if not is_color_at_left_edge(screen, orange_color):
        keyboard.press(LEFT_KEY)
        time.sleep(0.1)
        keyboard.release(LEFT_KEY)
    # move right if car is on left of yellow line
    elif not is_color_at_left_edge(screen, yellow_color):
        keyboard.press(RIGHT_KEY)
        time.sleep(0.1)
        keyboard.release(RIGHT_KEY)
    # move forward
    keyboard.press(FORWARD_KEY)
    time.sleep(0.1)
    keyboard.release(FORWARD_KEY)


# main loop
screen_record()
A voir également:

2 réponses

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 19 mars 2023 à 18:42

chatGPT

beuurkkkk !!!

Avant de demander à une prétendue IA, demande d'abord à ton intelligence naturelle 

3

sauf que je n ai pas vraiment le temps et j ai déjà essayé de le faire mais la voiture ne bougeait pas alors qu avec l ia lui a reussi a la faire bouger mais la l ia n arrive plus a faire ce que je veux donc si moi j arrive pas l ia n arrive pas je demande de l aide

-1
mamiemando Messages postés 33130 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 mai 2024 7 755
Modifié le 20 mars 2023 à 19:57

Bonjour,

Le problème c'est que le programme que t'a généré ChatGPT est complètement idiot par rapport à ce que tu lui as demandé. Rien n'est correct, ni les paquets importé, ni la structure du code et en plus il y a pris des libertés (par exemple il n'a jamais d'une ligne jaune). Il y a même du code mort dans le bout de code que tu proposes :-D

Ne te leurre pas. Chat GPT n'est PAS capable de remplacer un humain pour faire du développement. Je t'invite plutôt à t'initier à python et peut-être pygame.

Bonne chance

0
mariam-j Messages postés 1087 Date d'inscription mercredi 9 mars 2022 Statut Membre Dernière intervention 27 mai 2024
20 mars 2023 à 18:27

Bonjour,

Demande donc à ;'IA de corriger son code, puis de corriger sa correction. et la correction de sa correction.

Tu montrera le résultat, on prépare les vomitoires.

0