TOC

This article has been localized into French by the community.

Création d'un jeu : SnakeWPF:

Introduction

Un résumé rapide de cet article d’introduction : nous allons mettre en œuvre le jeu classique Snake dans WPF, et le résultat final ressemblera à ceci :

Créer des jeux est souvent la raison pour laquelle beaucoup de gens, en particulier les jeunes, sont attirés par l’apprentissage de la programmation. Mais la question est généralement : comment puis-je commencer et de quoi ai-je besoin ? Eh bien, vous avez besoin d’un langage de programmation, comme le C#, le C++ ou n'importe quel autre langage populaire, et si vous parlez couramment votre langage de programmation préféré, vous n’avez pas vraiment besoin d’autre chose : il suffit de commencer par le bas en ajoutant des pixels à l’écran et à un moment donné, vous pourriez avoir un jeu opérationnel.

Cependant, la plupart des gens préféreraient un peu d'aide avec le langage de bas niveau. Pourquoi ajouter des pixels à l'écran manuellement s'il existe une bibliothèque ou un framework qui peut le faire pour vous, afin que vous puissiez vous concentrer sur la construction d'un jeu divertissant ? Il existe de nombreux framework qui vous aideront à le faire, et en fait, l'un d'eux est le framework WPF.

Bien sûr, WPF n'est pas le choix le plus évident pour la création de jeux vidéo - c'est un framework qui se concentre principalement sur la création d'interfaces utilisateurs pour des applications professionnelles. Mais tout de même, il y a beaucoup d'éléments du framework WPF qui peuvent être utilisés pour la création d'un jeu, et surtout : il offre tous les mécanismes pour dessiner et contrôler une fenêtre sur Windows.

Donc, si vous souhaitez réaliser un jeu simple, WPF pourrait être un bon choix. Il sera au moins d'une grande aide pour les aspects les plus basiques, comme créer une fenêtre, dessiner une zone pour le jeu etc. Si vous voulez ajouter de choses plus avancés comme des objets en 3D ou se déplaçant plus rapidement, vous aurez besoin de l'aide d'autre bibliothèques/framework, mais cela sera suffisant pour un jeu simple - par exemple, le classique Snake!

SnakeWPF

Pour une preuve de concept, j'ai décidé de créer une version WPF de l'extrêmement connu jeu Snake. Elle utilisera WPF Window comme espace de jeu, ainsi que des contrôles/formes WPF régulières pour créer la mécanique de jeu réelle. J'ai choisi Snake parce ce jeu est assez facile à mettre en œuvre (il n'y a pas beaucoup de logique à coder) et parce qu'il peut être réalisé à l'aide de formes géométriques simples comme des carrés et des cercles, qui peuvent être très facilement réalisées avec le framework WPF. Mais aussi parce que c'est toujours un jeu vraiment amusant, malgré sa nature simpliste!

Si vous ne connaissez pas le jeu Snake, je ne peux qu'imaginer que vous n'avez jamais eu de téléphone portable Nokia du la période fin des années 90, début des années 2000. La première version de Snake avait été écrite et présentée de nombreuses années auparavant, mais elle est devenue un succès majeur lorsque Nokia a décidé d'inclure sa propre version du jeu dans tous ses téléphones portables.

Le gameplay est aussi simple que divertissant: Vous déplacez un serpent virtuel dans une direction (gauche, droite, haut ou bas) à la recherche de nourriture (généralement une pomme). Quand votre serpent heurte la pomme, celle-ci est consommée, votre serpend grandit et une nouvelle pomme apparaît. Si vous heurtez le mur ou la queue de votre serpent, la partie est terminée et vous devez recommencer depuis le début. Plus vous mangez de pommes, plus votre score sera élevé mais plus ce sera difficile de ne pas heurter votre propre queue.

Il y a BEAUCOUP de variations au gameplay - par exemple, la vitesse à laquelle votre serpent se déplace augmentera souvent à chaque fois qu'il mange une pomme, rendant le jeu de plus en plus difficile, mais pas toutes les implémentations de Snake le feront. Une autre variation est celle des murs - certaines implémentations vous permettrons de traverser le mur et de ressortir par le coté opposé, tandis que d'autres implémentations mettrons fin à la partie dès que vous heurtez le mur.

Dans notre SnakeWPF, les murs sont durs (le serpent meurt si il le touche), et la vitesse augmentera de façon exponentielle pour chaque pomme que vous mangerez, jusqu'à un certain point.

Résumé

A travers les prochains articles, nous implémenterons une version sympa du jeu classic Snake en utilisant le framework WPF. Nous commencerons par l'arrière plan dans le prochain article, et à la fin, nous aurons notre premier jeu basé sur WPF totalement fonctionnel.

Veuillez noter que même s'il s'agit d'un tutoriel WPF, nous aurons besoin d'un peu plus de code C# qu'à la normale, pour implémenter la logique du jeu, etc. J'essaierai d'expliquer tout ça au fur et à mesure de l'avancement, mais si vous avez besoin d'un peu plus de connaissances en C#, n'oubliez pas que nous avons un sympathique tutoriel C# complet dans notre réseau.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!