Devenez un petit genie des jeux video

afternoonhandsomelySoftware and s/w Development

Nov 17, 2012 (4 years and 9 months ago)

626 views

Ian Cinnamon
Devenez un
Développez
facilement
des jeux vidéos
multiplates-formes
petit génie
des
jeux vidéo
De
7
à
97
ans !
Ian Cinnamon
Devenez
un petit génie
des jeux vidéo
L E P R O G R A M M E U R

JeuxVideo Livre Page I Mercredi, 18. juin 2008 5:41 17

Pearson Education France a apporté le plus grand soin à la réalisation de ce livre afin de vous fournir
une information complète et fiable. Cependant, Pearson Education France n’assume de responsa-
bilités, ni pour son utilisation, ni pour les contrefaçons de brevets ou atteintes aux droits de tierces
personnes qui pourraient résulter de cette utilisation.
Les exemples ou les programmes présents dans cet ouvrage sont fournis pour illustrer les descriptions
théoriques. Ils ne sont en aucun cas destinés à une utilisation commerciale ou professionnelle.
Pearson Education France ne pourra en aucun cas être tenu pour responsable des préjudices
ou dommages de quelque nature que ce soit pouvant résulter de l’utilisation de ces exemples ou
programmes.
Tous les noms de produits ou marques cités dans ce livre sont des marques déposées par leurs
propriétaires respectifs.

Aucune représentation ou reproduction, même partielle, autre que celles prévues à l’article L. 122-5 2˚ et 3˚ a) du code de la
propriété intellectuelle ne peut être faite sans l’autorisation expresse de Pearson Education France ou, le cas échéant, sans le
respect des modalités prévues à l’article L. 122-10 dudit code.
No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including
photocopying, recording or by any information storage retrieval system, without permission from Pearson Education, Inc.

Publié par Pearson Education France
47 bis, rue des Vinaigriers
75010 PARIS
Tél. : 01 72 74 90 00
Mise en pages : TyPAO




Tous droits réservés
Titre original :

Programming Video Games
for the Evil Genius

Traduit et adapté de l’américain
par Isabelle Hurbain-Palatin

ISBN : 978-0-07-149752-7
Copyright © 2008 by
The McGraw-Hill Companies, Inc.

All rights reserved

JeuxVideo Livre Page II Mercredi, 18. juin 2008 5:41 17
Copyright© 2009 Pearson Education France
ISBN : 978-2-7440-4090-0

Sommaire

Préface

..........................................................VII

À propos de l’auteur

....................................VIII

Introduction

..................................................1

Le compilateur

.............................................5

1. Java dans les starting-blocks

..................9

2. Jeux de course

..........................................39

3. Jeux de plateau

........................................91

4. Jeux de tir

.................................................125

5. Jeux de stratégie

......................................143

6. Anciens jeux... revisités

...........................187

7. Jeux de réflexion

......................................229

Index

.............................................................275

JeuxVideo Livre Page III Mercredi, 18. juin 2008 5:41 17

JeuxVideo Livre Page IV Mercredi, 18. juin 2008 5:41 17

Table des matières

Préface

............................................................VII

À propos de l’auteur

......................................VIII

Introduction

....................................................1
Remerciements ...........................................4

Le compilateur

...............................................5

C

HAPITRE

1. Java dans les starting-blocks

...9
Projet 1 : Le perroquet ................................10
Projet 2 : Devinez le mot de passe ! ...........14
Projet 3 : Calcul mental ..............................23
Projet 4 : Une bibliothèque virtuelle de jeux 30
Projet 5 : Devinez le nombre ! ...................35
Java dans les starting-blocks : le résumé ....37

C

HAPITRE

2. Jeux de course

...........................39

La course du courage

Projet 6 : La piste .......................................40
Projet 7 : Les voitures ................................47
Projet 8 : Collisions ! .................................53
Projet 9 : Personnalisation .........................61

Le skieur

Projet 10 : La piste ......................................72
Projet 11 : Piste verte .................................77
Projet 12 : La compétition .........................83

C

HAPITRE

3. Jeux de plateau

.........................91

La chasse aux mauvais génies

Projet 13 : Le laboratoire ............................92
Projet 14 : Attrapez-les vite ! .....................97
Projet 15 : Plus intelligent... ......................101

Le morpion boxeur

Projet 16 : Le ring ......................................105
Projet 17 : Combat ! ...................................110
Projet 18 : K.-O. ! ......................................116

C

HAPITRE

4. Jeux de tir

..................................125

Destructeurs de l’espace

Projet 19 : Le paysage ..............................126
Projet 20 : Lasers .......................................129
Projet 21 : La vengeance ............................135

C

HAPITRE

5. Jeux de stratégie

.......................143

Démineurs

Projet 22 : Le petit nouveau de l’équipe .....144
Projet 23 : Démineur expert .......................148
Projet 24 : BOUM ! ...................................153
Projet 25 : Promotions ...............................159

Pièges

Projet 26 : Déplacements ..........................166
Projet 27 : Mise en place des pièges ..........170

JeuxVideo Livre Page V Mercredi, 18. juin 2008 5:41 17

VI

Devenez un petit génie des jeux vidéo

Projet 28 : Piégé ! .......................................175
Projet 29 : Le spectacle ..............................180

C

HAPITRE

6. Anciens jeux... revisités

............187

Oiram

Projet 30 : La plate-forme .........................188
Projet 31 : Allez Oiram ! ............................192
Projet 32 : Les méchants ............................198
Projet 33 : Un monde compliqué ...............205

Javaman

Projet 34 : L’univers de Javaman ...............214
Projet 35 : Javaman vit ! ............................217
Projet 36 : L’attaque du C++ ......................222

C

HAPITRE

7. Jeux de réflexion

.......................229

Jeu de mémoire

Projet 37 : Dessin de la grille ....................230
Projet 38 : Correspondances ......................235
Projet 39 : Battez le chronomètre ..............240

Ian a dit

Projet 40 : Jeu de couleurs .........................248
Projet 41 : Surchauffe de cerveau ..............252
Projet 42 : Plus de niveaux ! ......................259
Projet 43 : Accessoires de jeu ....................265

Index

...............................................................275

JeuxVideo Livre Page VI Mercredi, 18. juin 2008 5:41 17

Préface

Il y a plusieurs années, Ian Cinnamon a assisté aux iD Tech Camps de UCLA

(Univer-
sity of California, Los Angeles)

. Ian y a appris à programmer en C++ et en Java. Année
après année, Ian a continué à assister aux camps et sa maîtrise de la programmation
s’est visiblement améliorée. Mais il est apparu qu’il dépassait ses pairs et qu’il avait
besoin de nouveaux défis.
Ses instructeurs disaient de lui qu’il absorbait et assimilait rapidement les notions de
programmation, comme s’il rentrait chez lui, lisait et résolvait des problèmes sur son
temps libre. Il se trouve que c’est exactement ce qu’il faisait.
J’ai eu l’occasion de rencontrer Ian il y a deux ans à l’Université de Stanford. C’est un
jeune homme formidable avec de bonnes manières, d’excellentes capacités sociales et,
bien sûr, un grand talent de programmeur. Il est un des meilleurs programmeurs que
j’ai vus aux iD Tech Camps, ce qui est impressionnant au vu des milliers de program-
meurs qui ont reçu leur diplôme des iD Tech Camps pendant toutes ces années.
Ian, qui a aujourd’hui tout juste quinze ans, est devenu un modèle pour sa génération.
Son livre,

Devenez un petit génie des jeux vidéo

, offre une approche étape par étape à
la programmation de jeux vidéo, ce qui est un rêve pour de nombreux jeunes.
J’entends souvent des phrases comme "J’aimerais savoir programmer mon propre jeu"
et "Je ne sais pas par où commencer". Ma suggestion est de participer aux id Tech
Camps et de se procurer un exemplaire du livre de Ian. Savoir où aller et y plonger
sont des étapes cruciales. Ian élève sa génération et démystifie le code des jeux vidéo.
Je suis très impatient de voir où Ian en sera dans cinq ou dix ans. Préparez-vous.

Pete Ingram-Cauchi

Président et CEO, iD Tech Camps, internalDrive, Inc.

JeuxVideo Livre Page VII Mercredi, 18. juin 2008 5:41 17

À propos de l’auteur

Ian Cinnamon est un phénomène de 15 ans qui programme depuis plus de sept ans et
qui est certifié en Java et en C++. Il est actuellement lycéen à la Harvard-Westlake
School de Los Angeles, Californie.

JeuxVideo Livre Page VIII Mercredi, 18. juin 2008 5:41 17

Introduction

Maîtriser l’univers des jeux

Quoi de mieux que jouer aux jeux vidéo ? Créer vos propres jeux vidéo ! Des jeux que
vous concevez, des jeux que vous contrôlez... des jeux selon

vos

règles.
Lorsque vous achetez un jeu en magasin, ce jeu est souvent le résultat de mois, voire
d’années d’efforts d’une petite équipe de professionnels créant des programmes
extrêmement complexes aidés des ordinateurs les plus récents et les plus puissants.
Mais il leur manque quelque chose pour créer le jeu parfait : vous-même, le créateur
de jeux.
Vous êtes le maître de votre univers de jeu. Vous pouvez créer le monde que vous
voulez. Vous pouvez choisir les couleurs de fond, les niveaux de difficulté, la forme du
plateau de jeu et les codes de triche. Vous pouvez inventer des personnages, concevoir
des défis, choisir comment les points sont distribués et comment un joueur gagne...
ou perd.
Vous pouvez programmer tout ce à quoi vous pensez.

Votre borne d’arcade personnelle

Vous est-il déjà arrivé de vous ennuyer à force de jouer au même jeu, encore et
encore ? Ce ne sera bientôt plus le cas. Vous pouvez créer un assortiment de jeux avec
des variantes illimitées. Vous trouverez dans ces pages le secret de la construction de
jeux de course, de jeux de plateau, de jeux de tir, de jeux de stratégie, d’anciens jeux
revisités et de jeux de réflexion.

JeuxVideo Livre Page 1 Mercredi, 18. juin 2008 5:41 17

2

Devenez un petit génie des jeux vidéo



Jeux de course.

Attention à l’adrénaline ! Construisez des jeux dans lesquels vous
ferez une course contre la montre, contre un adversaire ou même contre vous-
même. La vitesse et la précision seront vos atouts clés lorsque vous vous déplace-
rez, que votre moyen de transport soit une voiture, une fusée, un balai, une paire de
skis ou tout autre moyen de transport qui puisse être imaginé par un petit génie de
la programmation.



Jeux de plateau.

Des terrains mentaux minés pour vous rendre fou ! Des jeux et
des labyrinthes qui vous demanderont des prouesses de réflexion, d’astuce et de
manœuvres pour battre vos adversaires ! Frustrez vos ennemis et mettez-les à
genoux. Le concept : un jeu du morpion dopé aux stéroïdes !



Jeux de tir.

Des jeux mettant à rude épreuve vos réflexes et vos nerfs ! Transfor-
mez-vous en soldat, en charmeur de serpent, en guerrier

alien

ou en homme de
Neandertal jetant des pierres tandis que vous visez dans le monde que vous créez.



Jeux de stratégie.

Piégez vos adversaires dans une boîte dont il sera impossible de
sortir ou désamorcez une bombe avant qu’elle puisse détruire la Terre ! Dans tous
les cas, relevez le défi. Une tête froide et une réflexion rapide seront nécessaires.



Jeux anciens revisités.

Revoyez les classiques à votre sauce ! Créez des variations
de Mario et de Pac-Man en programmant de nouvelles fonctionnalités et astuces
qui renouvelleront ces jeux.



Jeux de réflexion.

Avez-vous une bonne mémoire ? Gérez-vous bien la pression ?
Nous l’espérons, car dans ces jeux, vous vivrez ou mourrez en fonction de ce que
vous vous rappelerez. Réglez la difficulté en fonction de votre courage.

La programmation : le langage des jeux

En musique, il existe des notes ; en mathématiques, des équations ; dans une langue,
des mots. Dans le monde des jeux vidéo, il existe des commandes qui donnent vie à
vos jeux. Cela s’appelle la programmation. C’est ainsi que vous indiquez à l’ordina-
teur ce qu’il doit faire.
Tous les jeux que vous allez créer seront programmés en Java, le langage de program-
mation le plus universel.
Et qu’en est-il si vous ne savez absolument pas programmer ? Si vous n’avez aucune
idée de la manière dont l’ordinateur transforme vos idées en actions et en images ? Pas
d’inquiétude ! Je vous guiderai étape par étape à travers les bases de ce langage très
polyvalent. Lorsque vous en aurez terminé avec

Devenez un petit génie des jeux vidéo

,
vous aurez non seulement une bibliothèque de jeux personnalisés fantastique, mais
vous serez aussi un habile créateur de jeux.

JeuxVideo Livre Page 2 Mercredi, 18. juin 2008 5:41 17

Introduction

3

Les briques de la création de jeux

La programmation se compose de plusieurs briques. Vous apprendrez facilement à
vous en servir, nous les détaillerons étape par étape. Les captures d’écrans sont vos
guides lorsque vous apprenez à maîtriser ces outils importants car elles sont infail-
libles. Et, comme rouler à bicyclette, lorsque vous savez vous en servir, cela ne
s’oublie pas.
Si vous êtes débutant en programmation, la section 1 vous permettra de partir très rapi-
dement sur de bonnes bases. Si vous avez déjà un peu d’expérience, vous pouvez
passer directement à la section 2.
Les briques utilisées dans la création de jeux incluent :



Les instructions.

Centre névralgique et squelette de tous les jeux.



Les commentaires.

Ils permettent d’annoter votre code pour savoir ce que fait
chaque ligne.



Les contrôles de flux.

Ils vous permettent de répéter du code. Ils sont très prati-
ques pour relancer un jeu.



Les variables.

Elles permettent de garder une trace des scores, des noms des
joueurs, des niveaux, etc.



Les instructions

if

.

Elles permettent de tester vos variables grâce à des condi-
tions. Par exemple, si vous tuez un ennemi, votre score augmente.



JOptionPane

.

Ils permettent de gérer les entrées et les sorties, par exemple pour
afficher le score d’un joueur ou pour récupérer son nom pour la liste des scores les
plus élevés.



Les nombres aléatoires.

Ils sont à la base de l’intelligence artificielle. Pour dépla-
cer un ennemi de manière aléatoire, les nombres aléatoires sont ce qu’il vous faut.



Les pauses.

Elles permettent d’influencer le rafraîchissement de l’écran pour que
vos graphismes restent clairs et nets.



Les tableaux et les

ArrayList

.

Ils servent à grouper des objets similaires (ennemis,
recharges, etc.) et ainsi à gagner du temps.



Les accès aux fichiers (lecture et écriture).

Ils permettent de sauvegarder le jeu,
ce qui est pratique lorsque votre chef arrive de manière impromptue et que vous
êtes en train de jouer au lieu de travailler.

JeuxVideo Livre Page 3 Mercredi, 18. juin 2008 5:41 17

4

Devenez un petit génie des jeux vidéo

Remerciements

Vous ne seriez pas en train de lire ce livre sans le dévouement et le soutien des personnes
suivantes :



Mes parents : leur amour inébranlable, leurs encouragements, leur aide et même
leurs plaisanteries ont été vitaux à l’écriture de ce livre. Ils ont toujours été là pour
moi et je sais qu’ils le seront toujours. Maman, papa, je vous aime.



Ma petite sœur, Molly : elle est mon agent publicitaire officieux et dit à tous ceux
qu’elle rencontre d’acheter ce livre.

Judy Bass, mon éditrice à McGraw-Hill : son enthousiasme pour le projet et sa foi
en moi dès le départ compteront toujours pour moi.

Pete Ingram-Cauchi, le CEO de iD Tech Camps : ses cours à UCLA et à Stanford
ont nourri ma passion pour tout ce qui touche à la programmation.
JeuxVideo Livre Page 4 Mercredi, 18. juin 2008 5:41 17
Le compilateur
Faire obéir votre ordinateur
Vous n’avez besoin que de trois choses pour commencer à créer vos propres jeux : un
ordinateur (PC, Mac), ce livre... et un compilateur. Ce logiciel traduit votre code en
un langage que votre ordinateur pourra comprendre. Si vous n’avez pas encore de
compilateur, il peut être téléchargé gratuitement sur Internet.
Sous Windows et sous Linux, allez à l’adresse http://java.sun.com et cliquez sur
Java SE sous Popular Downloads. Cliquez sur le bouton Download situé à côté du titre
JDK 6 Update 6 with NetBeans 6.1. Dans la page qui s’affiche, cliquez sur le bouton
Download. Choisissez votre plateforme et acceptez l’accord de licence avant de
cliquer sur Continue. Cliquez sur le lien pour télécharger l’installeur.
Mac OS X dispose déjà d’un compilateur Java et il suffit donc d’installer NetBeans.
Allez à l’adresse http://download.netbeans.org/netbeans/6.1/final/, choisissez votre
plate-forme dans le menu en haut à droite et cliquez sur le bouton Download de la
première colonne (Web & Java EE).
JDK signifie Java Development Kit (kit de développement Java). Ce logiciel permettra
à l’ordinateur de comprendre le code. NetBeans est un environnement de développe-
ment intégré qui facilite l’écriture du code.
Installez NetBeans en cliquant sur l’icône d’installation (sous Linux, NetBeans peut
également faire partie de votre base de paquetages par défaut, auquel cas il n’est pas
nécessaire de le télécharger et il s’installera comme tout autre logiciel).
JeuxVideo Livre Page 5 Mercredi, 18. juin 2008 5:41 17
6
Devenez un petit génie des jeux vidéo
Examinons maintenant l’interface. Cliquez sur File > New Project.
Cliquez sur Java Application.
Figure 0.1
Le menu File
de NetBeans
Figure 0.2
La fenêtre
de création de
projets
JeuxVideo Livre Page 6 Mercredi, 18. juin 2008 5:41 17
Le compilateur
7
Cliquez sur Next et saisissez le nom du projet dans Project Name. Ce nom devrait
commencer par une majuscule et ne pas contenir d’espace.
Cliquez sur Finish.
Pour créer un environnement dans lequel vous pourrez écrire votre code, commencez
par supprimer Main.java, puis cliquez sur le répertoire parent et cliquez sur New >
Java Class...
Figure 0.3
Nommer le projet
JeuxVideo Livre Page 7 Mercredi, 18. juin 2008 5:41 17
8
Devenez un petit génie des jeux vidéo
Et voilà... Vous n’avez plus qu’à conquérir le monde des jeux vidéo !
Figure 0.4
Suppression du fichier
Main.java
Figure 0.5
Création d’une nouvelle
classe Java
JeuxVideo Livre Page 8 Mercredi, 18. juin 2008 5:41 17
1
Java dans les
starting-blocks
Au sommaire de ce chapitre :

Projet 1 : Le perroquet

Projet 2 : Devinez le mot de passe !

Projet 3 : Calcul mental

Projet 4 : Une bibliothèque virtuelle de jeux

Projet 5 : Devinez le nombre !
JeuxVideo Livre Page 9 Mercredi, 18. juin 2008 5:41 17
10
Devenez un petit génie des jeux vidéo
Projet 1 : Le perroquet
Lorsque l’on apprend à programmer en Java, il faut connaître quatre types de code
essentiels : les commentaires, les instructions, les déclarations et le contrôle de flux.
Les commentaires
Les commentaires commencent toujours par
//
.
Les compilateurs ne prennent pas en compte ces commentaires.
Ils ne sont utiles qu’aux programmeurs qui peuvent ainsi documenter le code. Une
bonne documentation (de bons commentaires) permet de modifier le code plus facile-
ment ultérieurement. Lorsqu’un programme atteint quelques centaines de lignes, il est
difficile de se souvenir à quoi sert chaque ligne. Les commentaires sont très utiles dans
ce cas.
Les instructions
Les instructions permettent de "faire des choses", par exemple afficher quelque chose
à l’écran. Elles se terminent toujours par un point-virgule.
Les déclarations
Les déclarations sont des instructions qui créent ou modifient des variables. Les
variables s’utilisent comme en mathématiques (x = 4), à ceci près qu’elles peuvent
contenir d’autres éléments que des nombres. Nous en parlerons plus longuement
dans le prochain projet.
Le contrôle de flux
Le contrôle de flux sert à manipuler les instructions utilisées. Nous en parlerons plus
tard (Projet 3).
Tous les programmes Java sont contenus dans ce que l’on appelle une classe (
class
).
On crée une classe avec le code suivant :
public class <nom de la classe>
Projet • Tapez un message, appuyez sur deux boutons, et l’ordinateur le
répétera.
Nouvelles briques • Classes, instructions et variables
JeuxVideo Livre Page 10 Mercredi, 18. juin 2008 5:41 17
Chapitre 1 Java dans les starting-blocks
11
Le nom de la classe doit correspondre au nom du fichier, il doit toujours commencer
par une lettre majuscule et ne doit pas contenir d’espace. Par exemple, la classe
Pingouin
sera contenue dans le fichier
Pingouin.java
.
Pour délimiter le code appartenant à une classe, on utilise les caractères
{
et
}
au début
et à la fin du code, respectivement.
Au sein d’une classe, Java cherche la méthode principale, appelée
main
. Une méthode
est un morceau de code qui peut être appelé plusieurs fois. La méthode
main
est une
méthode spéciale : Java l’appelle toujours en premier (c’est-à-dire exécute le code qui
s’y trouve). Voici ce à quoi elle ressemble :
public static void main (String[] args)
Vous pouvez pour l’instant considérer que cette ligne de code doit introduire la
méthode
main
. Nous discuterons des différents éléments de cette ligne plus tard.
En dehors des méthodes, il ne peut y avoir dans une classe que des déclarations et des
commentaires. Les déclarations sont appelées les variables de la classe. Dans la
méthode d’une classe, on peut trouver des déclarations, des commentaires, du contrôle
de flux et des instructions. On peut accéder aux variables d’une classe à partir de
toutes les méthodes, mais les variables à l’intérieur d’une méthode ne sont accessibles
que depuis cette méthode.
Voici une instruction simple, également illustrée à la Figure 1.1, permettant d’afficher
un message à l’écran :
System.out.println("Ce message entre guillemets est affiché.");
Ce code est une méthode fournie par Java. Il suffit de lui indiquer le texte à afficher,
entre guillemets.
À l’intérieur des guillemets, il existe des séquences d’échappement qui sont des suites
de caractères permettant de manipuler le texte. Ajoutez-les simplement dans le texte
entre guillemets.
Figure 1.1
Ce code affiche du texte à l’écran
JeuxVideo Livre Page 11 Mercredi, 18. juin 2008 5:41 17