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

Apple et les analystes misent sur un lancement réussi du premier iPhone pliant à l’automne 2026

08:59

• 6


Un écran nomade 15" USB-C/HDMI pour moins de 100 €

08:40

• 0


Oubliez Google : le véritable rival d’OpenAI pour Sam Altman, c’est Apple

08:27

• 23


Google Maps se met enfin à niveau : Plans et Waze faisaient déjà ça en 2016

06:53

• 54


Pebble lance l’Index 01, la bague qui note ce que votre cerveau oublie

06:51

• 21


Jeff Williams en route pour le conseil d’administration de Disney

05:57

• 7


Le paiement fractionné de Klarna s’intègre à Apple Pay

09/12/2025 à 21:25

• 46


Que faire si Apple ou UPS perd votre colis de retour ?

09/12/2025 à 20:30

• 46


Amazon répète que les frais de port obligatoires nuisent à la lecture en France

09/12/2025 à 18:00

• 145


Ford choisit Renault plutôt que Volkswagen pour proposer des citadines électriques en Europe

09/12/2025 à 16:24

• 57


QuickNetStats surveille l’état de votre connexion à internet depuis la barre des menus de macOS

09/12/2025 à 14:49

• 10


MacBook Air M2 : le modèle 16 Go revient à 750 € ! 🆕

09/12/2025 à 12:44

• 87


Euria : Infomaniak lance un concurrent à ChatGPT, une IA hébergée en Suisse qui chauffe aussi des logements

09/12/2025 à 12:15

• 18


Bon plan : les best-sellers du Black Friday sont de retour à prix cassés pour Noël

09/12/2025 à 11:25

• 2


Freebox OS Ultra Dashboard : une interface d’administration plus moderne pour les Freebox

09/12/2025 à 11:12

• 12


La prochaine innovation de Gemini : de la pub ? Google dément pour l'instant 🆕

09/12/2025 à 10:07

• 16