25 Novembre, 2023

Programmation orientée objet
en C#

Dans ce projet, nous découvrons la programmation orientée objet en C# avec Unity, offrant ainsi une approche ludique et enrichissante pour maîtriser ce langage.


Introduction

Au lycée, notamment en spécialité NSI, l'enseignement se limite généralement au langage Python. Cependant, grâce à ce projet, j'ai pu élargir mes compétences en explorant un autre langage, le C#. Cela m'a permis de découvrir les fondamentaux du langage C# et d'acquérir une compréhension approfondie de ses spécificités, en mettant particulièrement l'accent sur la syntaxe et l'orienté objet.

Objectif

L'objectif de ce projet est d'apprendre le langage C# de manière progressive en programmant diverses mécaniques telles que les sauts, les déplacements, la gestion de la vie, du score, de la mort, des dégâts, etc. À la fin, l'ensemble aboutit à un prototype de jeu de parcours fonctionnel.

Les mécaniques

À chaque fois qu'il meurt, le joueur réapparaît au début du parcours (lobby). Il peut rencontrer plusieurs façons de mourir, présentées ci-dessous.

Les chutes de map

Animation montrant le joueur tombant de la map

Dès que le joueur tombe de la map, il va respawn (réapparaître) au point de départ.

Le dessous de la carte est composé d'un vaste sol invisible et transparent. Au contact du joueur, cela déclenche le script de mort.

Les murs pièges

Animation montrant les murs pièges

Les murs pièges représentent un obstacle majeur vers la fin du parcours ; le joueur doit les éviter tout en maintenant une vitesse élevée.

Ils opèrent selon le même principe que le mur invisible mentionné précédemment : au contact, le script de mort est déclenché.

La potion de mort

Animation de la potion de mort

Un piège qui peut se révéler fatal pour le joueur s'il n'est pas attentif à son environnement.

Au contact avec le joueur, la potion de mort déclenche directement le script de mort. Sa couleur noire est révélatrice de sa dangerosité.

La potion de soin

Animation de la potion de soin

Une aide qui peut se révéler précieuse si le joueur est opportuniste.

Au contact avec le joueur, la potion de vie soigne le joueur de 10 points de vie (sur 100) grâce au script "PvRamassable".

La tourelle

Animation de la tourelle tirant des projectiles

La tourelle représente l'un des obstacles les plus difficiles à éviter en raison de ses projectiles.

Elle envoie des projectiles dans toutes les directions qui, au contact, retirent 10 points de vie au joueur via le script "BalleProjectile".

La pièce

Animation de collecte de pièce

Conçue pour les joueurs qui apprécient les récompenses tout en étant prêts à prendre des risques.

La pièce ajoute 10 points au score du joueur au toucher, grâce au script "PointRamassable".

La plateforme de boost

Animation de la plateforme de boost

La plateforme de boost ajoute un défi supplémentaire au jeu.

Dès que le joueur passe dessus, sa vitesse est augmentée de 25 (la vitesse étant à 10 par défaut) pendant une durée de 5 secondes. Ensuite, il doit attendre 5 secondes pour bénéficier à nouveau du boost. Tout cela est géré via le script "boost".

Code source

Découvrez l'implémentation technique de ce projet de programmation C# avec Unity. Tous les scripts sont documentés et organisés pour faciliter la compréhension.

Jouer au prototype

Testez directement le jeu dans votre navigateur grâce à Unity WebGL. Utilisez les touches fléchées pour vous déplacer et la barre d'espace pour sauter.