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

macOS Tahoe : pas de presse-papiers dans Spotlight ? N’oubliez pas de l’activer

15:00

• 0


Promo : 15 % sur le Mac mini M4 bien équipé en 24/512 Go

14:17

• 0


iPhone 17 : quel adaptateur secteur pour la recharge filaire plus rapide ?

13:40

• 24


Encore du stock pour les iPhone 17 (Pro), l’Apple Watch Ultra 3 et les AirPods Pro 3

12:48

• 54


Lorsque Photos corrompt des fichiers importés depuis une carte SD

11:27

• 34


macOS Tahoe : Apple quitte le Mac App Store

10:30

• 14


OLED, tactile, 5G : le futur MacBook Pro M6 s’annonce spectaculaire

10:14

• 47


Le MacBook A18 Pro entrerait en production à la fin de l’année, pour un prix d’entrée de 599 dollars

17/09/2025 à 21:30

• 45


macOS 26 ne veut pas s’installer sur les Mac Studio M3 Ultra

17/09/2025 à 20:00

• 51


Apple ne devrait pas avoir la primeur sur la gravure en 1,6 nm de TSMC : Nvidia passerait avant

17/09/2025 à 18:30

• 16


macOS Tahoe : plus besoin de KVM pour se connecter à un Mac après une panne de courant

17/09/2025 à 17:15

• 5


Revue de tests de l’iPhone Air : le design séduit, les compromis interrogent

17/09/2025 à 16:32

• 129


Revue des tests des iPhone 17 Pro : ils chauffent moins, mais ne réinventent pas la roue

17/09/2025 à 16:20

• 54


Est-ce que mettre la TV en pause, c'est de la copie privée ? SFR pense que non, Copie France pense que si

17/09/2025 à 16:20

• 93


macOS Tahoe : Apple simplifie la configuration de FileVault en augmentant sa sécurité

17/09/2025 à 15:30

• 25


Le codec AV2 annoncé, alors qu'Apple peine à prendre en charge massivement l'AV1

17/09/2025 à 13:45

• 24