Array et swift, urgent besoin d aide

Bonjour a tous je suis en train d améliorer mon jeu du Morpion en passant par un tableau, par contre avec l’instruction Borad[[0][1]] = [1] ca me change la ligne complète, je ne veux pas utiliser ni append ni insert je souhaite juste modifier la valeur à l emplacement 0,1 quelqu’un a t il une idée ?

mon tableau est de la forme [[0,0,0][0,0,0][0,0,0]]

1 « J'aime »

Merci je suis en train de me prendre la tête pour ajouter Minimax dans mon code j’espère arriver a l’intégrer rapidement

Je ne comprends pas la déclaration de ton ton tableau.
Tu sembles avoir besoin d’un tableau à deux dimensions, mais tu utilises un 3 dimensions.

Ton tableau devrait ressembler à ça :

var arr = [[Int]]()

Ah non, ça c’est un tableau à 1 dimension. L’information est indexé par un seul nombre (position dans le tableau).

Le tableau de dsgn050 est bien a deux dimensions, simulant le plateau de jeu du Morpion. Il faut deux informations (lignes et colonnes) pour accéder à un élément du tableau.

Salut je suis en phase de test pour ajouter l’intelligence au joueur 2, c’est en bonne voie, pour le moment il est capable de bloquer le joueur 1 si le joueur 1 peut aligner 3 croix, et sinon il choisi l’option gagne si il peut.
il est actuellement en aide au 2nd joueur, cela me permet de tester l’avancée du système.
si il n y a ni perte ni gain possible c est le joueur 2 qui choisit sa propre case.
l’intelligence est pour le moment présente uniquement en assistant.
je le met en ligne afin que vous me disiez ce que vous en pensez

Pardon, mais j’ai corrigé mon message.
J’avais bien mis un tableau à 2 dimensions mais la mise en page l’a changé … Bref,

var arr = [[Int]]()

Ah oui, c’est marrant. Je viens de tester. Si on ne met pas les balises de codes, le forum formate le texte à sa sauce, affichant :

var arr = [Int]

à la place de :

var arr = [[Int]]()


Personnellement j’aurais utilisé un tableau à une seule dimension, contenant 9 éléments, avec une petite moulinette pour convertir les lignes/colonnes en un seul indice.

Quelque chose comme :

var tableau = [Int](repeating: 0, count: 9)
let contenu = quelqueChose
let ligne = 2
let colonne = 1
let index = ligne*3 + colonne
tableau[index] = contenu

En encapsulant tout ça dans une classe Tableau2D pour pouvoir gérer des tableaux de différentes tailles, avec un seul code.

J’aurais effectivement pu le faire comme ça mais personnellement ça me paraissait plus logique avec un tableau 2d