Ouvrir le menu principal

MacGeneration

Recherche

Initiation à Combine et SwiftUI #2 : le moteur de jeu

Florent Morin

mercredi 30 décembre 2020 à 10:00 • 0

Logiciels

La deuxième partie de cette série va vous permettre de découvrir Combine au travers du moteur de jeu que nous allons concevoir ensemble. Pour cela, nous allons nous appuyer sur les règles (basiques) du morpion. À la fin de cet article, vous aurez un moteur de jeu fonctionnel et les bases de la programmation avec Combine.

Une brève introduction a été faite dans le chapitre précédent. Il est fortement recommandé de télécharger le code source complet sur GitLab afin de comprendre en détail les concepts présentés dans l'article. Le fichier principalement concerné par le présent article est GameEngine.swift en complément du code principal du playground.

Initiation à Combine et SwiftUI
  1. Les bases
  2. Le moteur de jeu
  3. Le modèle de la vue (à venir)
  4. La vue en SwiftUI (à venir)

Rappel des règles du morpion

Nous sommes sur un plateau de neuf cases numérotées de 0 à 8. Chaque joueur joue à tour de rôle. Un joueur est représenté par un cercle, l’autre par une croix. Un joueur gagne s’il réussit à faire une ligne horizontale, verticale ou diagonale. La partie se termine quand un joueur gagne ou quand toutes les cases sont remplies.

Plateau de morpion

Découvrir le code avec le playground

Si vous utilisez Swift Playgrounds, vous pouvez cloner le code source via Working Copy

Soutenez MacGeneration sur Tipeee

Cet article est réservé aux membres du Club iGen


Rejoignez la plus grande communauté Apple francophone et soutenez le travail d'une rédaction indépendante. Le Club iGen, c'est:

  • des articles de qualité rien que pour vous
  • un podcast exclusif
  • pas de publicité
  • un site dédié !

MacGeneration a besoin de vous

Vous pouvez nous aider en vous abonnant ou en nous laissant un pourboire

Soutenez MacGeneration sur Tipeee

Nos coups de cœur et nos coups de gueule 2025

10:00

• 27


Magazine des 25 ans de MacGeneration : dernier week-end pour passer commande !

08:40

• 11


Sortie de veille : les départs en cascade chez Apple, mauvaise nouvelle ou chance inespérée ?

08:00

• 12


Promo : le MacBook Air M4 256 Go de retour à 874 € ! 🆕

05/12/2025 à 23:59

• 5


Les MacBook Pro M5 Pro, le MacBook A18 et les iPad/iPhone entrée de gamme dès janvier ?

05/12/2025 à 21:45

• 37


Promos : des AirPods 4 à 84 € et le pack de 4 AirTags à 65 € ! Des prix inédits en France

05/12/2025 à 21:39

• 5


Des MacBook Pro 14" comme neufs à moins de 900 € !

05/12/2025 à 21:19

• 0


Nouvelles spéculations sur la succession de Tim Cook… et sur sa santé

05/12/2025 à 17:55

• 46


X sanctionné par Bruxelles : amende de 120 millions d’euros pour non-respect du DSA

05/12/2025 à 16:13

• 44


Qu'utilisez-vous comme enceinte(s) sur votre bureau avec votre Mac ?

05/12/2025 à 15:05

• 132


Netflix achète les studios, films et séries de Warner Bros. et HBO pour 82,7 milliards de dollars 🆕

05/12/2025 à 13:46

• 92


30 % de réduction sur un écran OLED 4K LG de 32 pouces

05/12/2025 à 13:00

• 1


La Model 3 Standard est techniquement la voiture la moins chère jamais proposée par Tesla

05/12/2025 à 11:53

• 93


Une hausse des prix des Mac et des iPhone est-elle inévitable ?

05/12/2025 à 11:29

• 35


Pour tester le MTE, une nouvelle fonction de ses processeurs, Apple a créé un Rosetta « ARM »

05/12/2025 à 11:00

• 6


C’est reparti pour un tour : Cloudflare (et Downdetector 🙃) ont été en panne 🆕

05/12/2025 à 10:04

• 27