Intergalactic Friend shooters

Soyez le premier à donner votre avis sur cette source.

Vue 1 612 fois - Téléchargée 308 fois

Description

Intergalactic Friend shooters est un petit jeu codé en vitesse. Il ce joue à 2 joueurs. Vous dirigez un vaisseau rouge ou bleu, et disposer d’un laser qui tire dans la direction de votre vaisseau. Le but est simple, tirer sur l’autre pour détruire son vaisseau.

J’ai volontairement fait ce jeu sans utiliser de librairie particulière, il tourne dans une PicktureBox classique du framwork .NET. le code source est vraiment très facile à apréhender et de petite taille.

Lien sur mon site : http://twiy-logic.fr/works/intergalactic-friend-shooters/

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Bonjour, j'ai modifié le programme dans le cadre du cours "Correction de programmes" donné par Roger Boudreault au Cégep de Chicoutimi.

J'ai appliqué les modifications suivantes:
* Dans tout le code, j'ai remplacé le mot « vesseau » par « vaisseau »
* J'ai créé une classe « laser » qui contient la position et la direction du laser.
* Lorsqu'un joueur tire, ça crée une nouvelle instance de l'objet « laser », et l'ajoute à une liste qui contient tous les lasers du jeu
* À chaque fin de tour, on bouge tous les lasers et on vérifie les collisions avec les vaisseaux
* Lorsqu'un laser sort de la carte, on le supprime
* J'ai amélioré la fluidité du code. J'ai mis le tôt de rafraichissement plus rapide et j'ai modifié la manière dont les vaisseaux se déplacent.
* J'ai changé les contrôles pour se conformer à un clavier QWERTY
* J'ai changé le panneau d'aide pour afficher les nouveaux contrôles

Voici ma version compressée: https://mega.co.nz/#!Go5B1I5Y!bPduQkojadG2IlBMlie5OUviZtApCcEWOMkNrLUBhTE

Bonne journée!
Whismeril
Messages postés
13628
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 août 2019
298 > Sam -
Merci de poster le code ici afin de respecter les termes de la charte et de la licence de mise à disposition du code originel
Whismeril
Messages postés
13628
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
21 août 2019
298 -
Bonjour,

concernant tes contributions en général, la charte demande que l'on ne fasse pas de publicité pour son site personnel dans les sources, tutos ou posts.
Il y a un espace dédié dans le profil. Merci de mettre à jour tes sources.
D'autre part, il est préférable de ne pas poster les exécutables, on partage des sources et chacun peut les compiler à sa convenance.

Pour le code proprement dit, C# est un langage objet, or tu n'utilises aucun objet "métier".
Tu aurais pu créer une classe Vaisseau qui aurait pu gérer la direction de déplacement, les positions X et Y elles-même pouvant être du type Point, les scores, le tir etc...

Les cascades de if peuvent être remplacées par des switch, c'est plus simple a écrire et à lire (tu en utilises d'ailleurs un dans ton rimer).

Il faut penser à coder tes méthodes de façon à ce qu'elles servent plusieurs fois en fonction de paramètres en entrée.
Par exemple vesseau1_tirer et vesseau2_tirer sont "symétriques" l'une définit comment tirer sur l'autre.
Tu aurais pu écrire VaisseauTirer(object Cible) ou mieux après avoir définit la classe Vaisseau: VaisseauTirer(Vaisseau Cible), ça évite du code en double et simplifie la maintenance. Aujourd'hui en cas de bug, tu dois corriger 2 méthodes.

Au lieu de te servir d'Int pour paramétrer les directions, tu aurais pu faire un enum
    public enum Direction
    {
        Haut,
        Bas,
        Gauche,
        Droite
    }

dans le code ça s'utilise comme ça
Direction MaDirection = Direction.Droite;
l'avantage est que tu n'as pas besoin de te demander "4 c'est quelle direction déjà ?", et s'il faut absolument que 4 soit "bas", tu peux le forcer ainsi
    public enum Direction
    {
        Haut,
        Bas = 4,
        Gauche,
        Droite
    }

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.