Développement XNA. pour la Xbox et le PC. Premiers pas en développement de jeu vidéo. Léonard Labat

Dimension: px
Commencer à balayer dès la page:

Download "Développement XNA. pour la Xbox et le PC. Premiers pas en développement de jeu vidéo. Léonard Labat"

Transcription

1 Développement XNA pour la Xbox et le PC Premiers pas en développement de jeu vidéo Léonard Labat

2 Développement XNA pour la Xbox et le PC

3 Chez le même éditeur Dans la thématique du jeu vidéo RPG Maker. Créez votre gameplay et déployez votre jeu de rôle. S. Ronce. N 12562, à paraître. Équideow. Le guide du bon éleveur. Perline et L. Noisette. N 12521, à paraître. Dans la même collection ActionScript 3. Programmation séquentielle et orientée objet. D. Tardivau. N 12552, 2 e édition, 2009,448 pages. PHP/MySQL avec Dreamweaver CS4. Les clés pour réussir son site marchand. J.-M. Defrance. N 12551, 2009, 548 pages. Sécurité PHP 5 et MySQL. D. Seguy et P. Gamache. N 12554, 2009, 284 pages. Sécurité informatique. Principes et méthode à l usage des DSI, RSSI et administrateurs. L. Bloch, C. Wolfhugel. N 12525, 2009, 292 pages. Programmation OpenOffice.org 3. Macros, OOoBASIC et API. B. Marcelly et L. Godard. N 12522, 2009, 920 pages. Dreamweaver CS4 Styles CSS. Composants Spry-XM, comportements JavaScrip, comportements serveur PHP-MySQL. T. Audoux et J.-M. Defrance. N 12462, 2009, 620 pages. Programmation Python. Conception et optimisation. T. Ziadé. N 12483, 2 e édition, 2009, 586 pages. CSS2. Pratique. du design web. R. Goetter. N 12461, 3 e édition, 2009, 318 pages. Programmation Flex 3. Applications Internet riches avec Flash ActionScript 3, MXML et Flex Builder. A. Vannieuwenhuyze. N 12387, 2008, 430 pages. WPF par la pratique. T. Lebrun. N 12422, 2008, 318 pages. PHP 5 avancé. E. Daspet et P. Pierre de Geyer. N 12369, 5 e édition, 2008, 884 pages. Bien développer pour le Web 2.0. Bonnes pratiques Ajax - Prototype, Script.aculo.us, accessibilité, JavaScript, DOM, XHTML/CSS. C. Porteneuve. N 12391, 2 e édition, 2008, 674 pages. Dans la collection «Accès Libre» Linux aux petits oignons. K. Novak. N 12424, 2009, 546 pages. Inkscape. Premiers pas en dessin vectoriel. N. Dufour, collab. E. de Castro Guerra. N 12444, 2009, 376 pages. MediaWiki efficace. D. Barrett. N 12466, 2009, 372 pages. Économie du logiciel libre. F. Elie. N 12463, 2009, 195 pages. Freemind Boostez votre efficacité. X. Delengaigne, P. Mongin. N 12448, 2009, 272 pages. Spip 2 Premiers pas pour créer son site avec Spip A.-L. Quatravaux, D. Quatravaux. N 12502, 2009, 300 pages. Réussir son site web avec XHTML et CSS. M. Nebra. N 12307, 2 e édition, 2008, 306 pages. Réussir un site web d association avec des outils libres! A.-L. Quatravaux et D. Quatravaux. N 12000, 2 e édition, 2007, 372 pages. Réussir son site e-commerce avec oscommerce. D. Mercer. N 11932, 2007, 446 pages. Open ERP Pour une gestion d entreprise efficace et intégrée. F. Pinckaers, G. Gardiner. N 12261, 2008, 276 pages. PGP/GPG Assurer la confidentialité de ses mails et fichiers. M. Lucas, ad. par D. Garance, contrib. J.-M. Thomas. N 12001, 2006, 248 pages. Mozilla Thunderbird Le mail sûr et sans spam. D. Garance, A.-L. et D. Quatravaux. N 11609, 2005, 300 pages avec CD-Rom. Firefox. Retrouvez votre efficacité sur le Web! T. Trubacz, préface de T. Nitot. N 11604, 2005, 250 pages. Hackez votre Eee PC L ultraportable efficace. C. Guelff. N 12437, 2009, 306 pages. Monter son serveur de mails Postfix sous Linux. M. Bäck et al., adapté par P. Tonnerre. N 11931, 2006, 360 pages. Ergonomie web Pour des sites web efficaces. A. Boucher. N 12479, 2 e édition 2009, 440 pages. Joomla et VirtueMart Réussir sa boutique en ligne. V. Isaksen, avec la contribution de T. Tardif. N 12381, 2008, 306 pages. La 3D libre avec Blender. O. Saraja. N 12385, 3 e édition, 2008, 456 pages avec DVD-Rom. Dessiner ses plans avec QCad Le DAO pour tous. A. Pascual N 12397, 2009, 278 pages. Inkscape efficace. C. Gé m y N 12425, 2009, 280 pages. Ubuntu efficace. L. Dricot. N 12362, 3 e édition, à paraître Gimp 2.6 Débuter en retouche photo et graphisme libre. D. Ro b e rt. N 12480, 4 e édition, 2009, 350 pages. Gimp 2.4 efficace Dessin et retouche photo. C. Gé m y. N 12152, 2008, 402 pages avec CD-Rom. Dotclear 2 Créer et administrer son blog. A. Caillau. N 12407, 2008, 242 pages.

4 Développement XNA pour la Xbox et le PC Premiers pas en développement de jeu vidéo Léonard Labat

5 ÉDITIONS EYROLLES 61, bd Saint-Germain Paris Cedex 05 Le code de la propriété intellectuelle du 1 er juillet 1992 interdit en effet expressément la photocopie à usage collectif sans autorisation des ayants droit. Or, cette pratique s est généralisée notamment dans les établissements d enseignement, provoquant une baisse brutale des achats de livres, au point que la possibilité même pour les auteurs de créer des œuvres nouvelles et de les faire éditer correctement est aujourd hui menacée. En application de la loi du 11 mars 1957, il est interdit de reproduire intégralement ou partiellement le présent ouvrage, sur quelque support que ce soit, sans autorisation de l éditeur ou du Centre Français d Exploitation du Droit de Copie, 20, rue des Grands-Augustins, Paris. Groupe Eyrolles, 2009, ISBN :

6 Avant-propos Si vous lisez ce livre, c est que votre objectif est sûrement de créer un jeu vidéo, c est-àdire d ordonner à l ordinateur ou à la console d effectuer un certains nombres de tâches. La programmation de jeu vidéo Lors d une utilisation quotidienne d un ordinateur ou de votre console, vous n avez nul besoin de programmer. Si vous devez faire une recherche sur l Internet ou que vous voulez jouer à un jeu, vous vous contenterez d utiliser un programme écrit par quelqu un d autre ; et ceci est tout à fait normal, nul besoin d être plombier pour prendre un bain! Définition Un programme informatique a pour but d indiquer à un ordinateur la liste des étapes nécessaires à la réalisation d une tâche. La programmation est le nom donné au processus de création d un programme. Pour certains, la programmation constitue une véritable passion, pour d autres, c est un moyen pratique de donner une solution à un problème Dans tous les cas, force est de constater que la programmation devient un hobby et pénètre dans l univers du grand public. Pierre angulaire de la science informatique, c est une activé fascinante qui attire et motive de nombreux étudiants vers de réelles opportunités de travail, qu il s agisse de l univers du jeu ou non. Toutefois, elle n en reste pas moins un domaine complexe et de surcroît en constante évolution. Mais la passion n est pas le seul ingrédient requis pour réussir ses programmes On ne s improvise pas spécialiste en informatique! En effet, la création d un jeu n est pas seulement affaire de programmation : il faut aller au-delà et s attaquer à la partie graphique, audio et bien évidemment au gameplay. Les concepts qui seront abordés dans ce livre vous donneront de solides bases, mais ne soyez pas déçu si vos premiers jeux n égalent pas les réalisations sophistiquées auxquelles vous êtes habitué. C est une expérience incroyable que de voir une de ses créations prendre forme, et même si le challenge est parfois difficile, la récompense est toujours très gratifiante.

7 VI Développement XNA pour la Xbox et le PC Code intelligible, code machine Un ordinateur ne comprend que des instructions très simples : 1. Récupérer le contenu d un emplacement mémoire. 2. Lui appliquer une opération mathématique basique. 3. Déplacer le résultat vers un autre emplacement mémoire. En plus de diviser à l extrême chaque tâche, pour être compris directement par l ordinateur, vous devez lui parler en binaire, c est-à-dire en une succession de 0 et 1. Imaginez donc la complexité du code machine qui se cache derrière le démineur de Microsoft Ce type de code n étant pas du tout intelligible par un humain, il a donc fallu créer des langages possédant une syntaxe plus proche de notre langue ainsi que les outils nécessaires à la traduction du code écrit dans ces langages vers le code machine correspondant. Ces derniers sont généralement appelés compilateurs. On distingue plusieurs types de langages : ceux dits de bas niveau et ceux de haut niveau. Plus un langage est de bas niveau, plus il se rapproche de la machine, c est-à-dire que sa syntaxe est moins innée, que la gestion de la mémoire est plus difficile, etc. Prenons deux exemples. L assembleur étant un langage de bas niveau, il faut traiter directement avec les registres du processeur, et il implique une bonne connaissance de l architecture système. À l inverse, le Visual Basic est un langage plus abordable qui n est pas soumis aux mêmes contraintes que celles que nous venons de citer. Il faut surtout garder en tête qu un langage qui pourrait être classé de plus haut niveau n est pas forcément plus facile à maîtriser qu un autre. Tout dépend du programmeur, bien sûr, mais aussi du besoin : à cause de sa simplicité, le Visual Basic n offre pas les mêmes possibilités d optimisation que le C, par contre, il s avère très pratique pour développer rapidement une application. Les algorithmes Un algorithme est l énoncé d une suite d opérations constituant une solution à un problème donné. On peut présenter toutes les actions de notre quotidien sous la forme algorithmique. Par exemple, pour la cuisson des pâtes : 1. Saler l eau. 2. Porter à ébullition. 3. Plonger les pâtes. 4. Mélanger pour éviter qu elles ne collent au fond. 5. Égoutter. 6. Rincer. Grâce à cet algorithme, vous pouvez aisément expliquer à quelqu un la façon de cuire des pâtes, si besoin est.

8 Avant-propos VII Le langage algorithmique est un compromis entre notre langage courant et un langage de programmation. Ainsi, la compréhension d une fonction d un programme est plus aisée qu en se plongeant directement dans le code. XNA et son environnement Il existe une multitude de langage de programmation et de bibliothèques qui peuvent être utilisés pour programmer un jeu vidéo. Comment faire le bon choix? Pourquoi choisir XNA? L un des principaux critères qui peut motiver votre choix est la plate-forme cible. En effet, vous n utiliserez pas forcément les mêmes outils pour créer un jeu pour Xbox 360 ou téléphone mobile. D une manière générale, pour développer un jeu pour console, vous devrez utiliser un kit de développement adapté : la PSP possède son SDK utilisable en C++, celui de la Nintendo DS repose quant à lui sur le C. Du côté des PC, vous pouvez programmer un jeu vidéo dans un peu près n importe quel langage. En ce qui concerne la partie graphique du jeu, deux solutions s offrent à vous : la première consiste à utiliser des bibliothèques de très bas niveau telles que DirectX, OpenGL ou encore SDL. La seconde possibilité consiste à utiliser un moteur graphique comme OGRE ou Allegro. Elles est particulièrement intéressante car elle permet de gagner beaucoup de temps. XNA est une bibliothèque de bas niveau basée sur le framework Compact.Net dans son implémentation pour Xbox 360 (ou le lecteur multimédia Zune de Microsoft) et sur le framework.net dans son implémentation pour PC. Comprendre le framework.net Le framework.net (prononcez «dotnet»), est un composant Windows apparu dans sa version 1.0 en Depuis, Microsoft a sorti régulièrement de nouvelles versions. Avec le système d exploitation Windows XP, ce composant était facultatif. Cependant la version 3.0 du framework,.net est directement intégré à Windows Vista. En détail Voici récapitulées les années de sortie des précédentes versions de notre framework : 1.1 en 2003 ; 2.0 en 2005 ; 3.0 en 2006 ; 3.5 en Il dispose de deux atouts majeurs pour simplifier le développement d applications web ou Windows : le CLR (Common Language Runtime) et les bibliothèques de classes.

9 VIII Développement XNA pour la Xbox et le PC Le CLR est une machine virtuelle (bien que Microsoft préfère utiliser le terme runtime) utilisée pour exécuter une application.net. Il possède, entre autres, un composant appelé JIT (Just In Time, c est-à-dire juste à temps), qui compile du code MSIL (Microsoft Intermediate Language) vers du code compréhensible par la machine. Ainsi, tout langage disposant d un compilateur qui produit du code MSIL (les spécifications techniques sont disponibles à cette adresse : standards/ecma-335.htm/) est exécutable par le CLR et bénéficie des possibilités offertes par la plate-forme. Il est donc possible de choisir un langage parmi un grand nombre (C#, C++, VB.NET, J#, etc.), le choix ne dépendant plus forcément des performances mais plutôt d une affaire de goût. Le CLR comporte également une multitude d autres technologies dont vous ne saisiriez peut-être pas l intérêt pour le moment, mais que nous aborderons plus tard dans cet ouvrage. MSIL Langage ressemblant à de l assembleur, MSIL ne comporte aucune instruction propre à un système d exploitation ou à du matériel. Le framework.net met également à la disposition du programmeur plus de classes utilitaires, qui lui permettent de gagner un temps précieux lors du développement. Ainsi, manipulation de chaînes de caractères, communication réseau, accès aux données sont choses faciles à réaliser. À chaque nouvelle version du framework, la bibliothèque de classes s étoffe davantage et les fonctionnalités disponibles sont de plus en plus performantes. XNA : faciliter le développement de jeu vidéo Le framework XNA (XNA s Not Acronymed) est constitué de plusieurs bibliothèques.net et permet un développement multi-plate-forme : les classes fournies par XNA permettent au programmeur de développer un jeu pour Windows puis de le porter très facilement pour qu il soit utilisable sur Xbox 360 ou sur le lecteur multimédia Zune. L un des buts de XNA est de simplifier au maximum le développement de jeu vidéo. Par exemple, si vous avez déjà eu une expérience dans le développement avec l api DirectX ou OpenGL, vous savez certainement qu écrire l initialisation de votre programme vous prendrait un certain temps alors qu avec XNA tout est automatique. C est précisément là que réside tout l intérêt du framework : avec XNA, il vous suffit seulement d écrire quelques lignes de code très facilement compréhensibles pour créer un jeu complet. Bon à savoir Soulignons également que le framework XNA est livré avec ce que l on appelle des Starter Kit. Ces petits projets de jeu vidéo montrent les possibilités offertes ainsi que le niveau d accessibilité du développement.

10 Avant-propos IX Officiellement, XNA ne peut être utilisé qu avec le langage de programmation C#. En pratique, vous pouvez également réaliser un jeu avec XNA en VB.NET, mais vous ne pourrez pas utiliser tous les composants offerts par le framework. Version XNA 3.0 est disponible depuis le 30 octobre 2008, c est sur cette version que ce livre se focalise. C#, langage de programmation de XNA Langage de programmation orienté objet à typage fort, C# (prononcez «C-Sharp») a fait son apparition avec la plate-forme.net. Il est très proche à la fois du Java et du C++. Ses détracteurs le qualifient souvent de copie propriétaire de Java. Java Très répandu dans le monde du logiciel libre, ce langage s exécute lui aussi sur une machine virtuelle. À l heure actuelle et selon des sondages qui paraissent régulièrement sur l Internet, il s agit du langage le plus populaire parmi les développeurs. Tout comme le framework.net dont il est indissociable, le langage C# est régulièrement mis à jour et se voit ajouter des améliorations syntaxiques ou de conception. Choisir son environnement de développement intégré Pour utiliser XNA ou, d une manière plus générale, programmer dans un langage compatible.net, vous aurez besoin d un EDI (Environnement de Développement Intégré). Microsoft en propose toute une gamme comprenant : Visual Studio Express. Visual Studio Standard. Visual Studio Professional. Visual Studio Team System. Chaque version vise un public différent, les versions Express (il en existe une pour le langage C#, une pour le C++, une pour le VB et une pour le développement web) sont gratuites et s adressent au développeur amateur tandis que la version Team System est orientée pour le développement professionnel en équipe. XNA 3.0 est compatible avec les versions de Visual Studio Dans ce livre, nous utiliserons la version Microsoft Visual C# Express Vous connaissez maintenant tous les outils nécessaires pour commencer, alors bonne lecture et bienvenue dans le monde du C# et de XNA!

11 X Développement XNA pour la Xbox et le PC À qui s adresse le livre? Ce livre s adresse à tous ceux qui désirent créer des jeux pour PC, pour Xbox 360 ou pour le Zune sans avoir d expérience préalable dans ce domaine ou même dans celui plus vaste de la programmation. En effet, nous y présentons les notions de bases du C# nécessaires à la compréhension de XNA. Ainsi, ce livre vous sera utile si, étudiant en programmation, vous souhaitez découvrir l univers du développement de jeux vidéo ; si vous travaillez au sein d un studio indépendant ou en tant que freelance et que vous souhaitez vous former aux spécificités de développement pour Xbox ; ou si, tout simplement, vous êtes curieux de vous initier au développement de jeu et que vous avez choisi XNA. Cependant, nous vous conseillons tout de même de vous munir d un ouvrage sur le langage de programmation C# : ce livre ne constitue pas un document de référence sur ce langage, nous ne verrons ici que ce qui sera utile à la compréhension du framework XNA, et certaines facettes du langage seront mieux détaillées dans un ouvrage spécialisé. Structure de l ouvrage Le chapitre 1 présente les notions de base du langage de programmation C#, qui vous seront utiles dès le chapitre 2 à la création d une première application avec XNA. Nous attaquerons les choses sérieuses dans le chapitre 3 en apprenant à afficher de premières images à l écran puis, dans le chapitre 4, nous apprendrons à récupérer les entrées utilisateur sur le clavier, la souris ou la manette de la Xbox 360. Ces notions seront mises en pratique avec la création d un clone de Pong dans le chapitre 5. Le chapitre 6 poussera plus loin les fonctions d affichage d images dans XNA. Dans le chapitre 7, vous étofferez votre jeu en lui ajoutant un environnement sonore qu il s agisse des sons ou de morceaux de musique. Puis, dans le chapitre 8, vous découvrirez les techniques de lecture ou d écriture de fichiers qui entrent en jeu dans les fonctionnalités de sauvegarde. Dans le chapitre 9, vous vous écarterez un peu du monde de XNA pour rejoindre celui des sciences cognitives et plus particulièrement l implémentation d un algorithme de recherche de chemin. Le chapitre 10 abordera également un domaine qui n est pas propre à XNA : la gestion de la physique. Nous verrons donc comment implémenter un moteur physique. Dans le chapitre 11, le dernier à utiliser des exemples en deux dimensions, vous découvrirez comment créer un jeu multijoueur avec XNA, qu il s agisse d un jeu sur écran splitté ou en réseau. Le chapitre 12 propose une introduction à la programmation de jeux en 3D avec XNA. Pour terminer, dans le chapitre 13, vous apprendrez à réaliser des effets en HLSL. Si vous n avez jamais utilisé l IDE Visual Studio, ou si vous souhaitez compléter vos connaissances, l annexe A est consacrée à sa prise en main. L annexe B vous donne des

12 Avant-propos XI pistes pour que vous puissiez pousser votre exploration de XNA au-delà de ce livre. Elle présente donc différentes sources d informations disponibles sur le Web, ainsi que des méthodes de génération de documentation pour vos projets. Remerciements Je tiens tout d abord à remercier Aurélie qui partage ma vie depuis un moment déjà et qui sait toujours faire preuve de compréhension lorsque je passe des heures scotché à mon ordinateur à coder encore et encore. Merci également à mes parents qui ont tout mis en œuvre pour que j accomplisse mes rêves et sans qui je n aurais sûrement jamais écrit ce livre. Enfin je remercie les éditions Eyrolles, et tout particulièrement Sandrine et Muriel qui m ont accompagné tout au long de la rédaction de cet ouvrage. Léonard Labat

13

14 Table des matières Avant-propos La programmation de jeu vidéo Code intelligible, code machine Les algorithmes XNA et son environnement Pourquoi choisir XNA? Comprendre le framework.net XNA : faciliter le développement de jeu vidéo C#, langage de programmation de XNA Choisir son environnement de développement intégré À qui s adresse le livre? Structure de l ouvrage Remerciements V V VI VI VII VII VII VIII IX IX X X XI CHAPITRE 1 Débuter en C# Créez votre premier programme Les types de données Organisation de la mémoire Les variables Opérations de base sur les variables Les instructions de base Commenter son code Les conditions : diversifier le cycle de vie des jeux

15 XIV Développement XNA pour la XBox et le PC Les fonctions Différencier fonction et procédure Écrire une première procédure Écrire une première fonction Les classes Comprendre les classes et les objets Utiliser un objet Qu est ce qu un espace de noms? Créer une classe En résumé CHAPITRE 2 Prise en main de XNA Télécharger l EDI et XNA Partir d un starter kit Partager ses projets L architecture d un projet XNA Structure du framework Structure du code Créer un projet S outiller pour développer sur Xbox En résumé CHAPITRE 3 Afficher et animer des images : les sprites Les sprites Qu est-ce qu un sprite? Afficher un sprite Afficher plusieurs sprites Un sprite en mouvement Une classe pour gérer vos sprites Créer une classe Sprite Utiliser la classe Sprite Classe héritée de Sprite

16 Table des matières XV Un gestionnaire d images Les boucles en C# Les tableaux Les collections Écriture du gestionnaire d images Mesure des performances En résumé CHAPITRE 4 Interactions avec le joueur Utiliser les périphériques Le clavier La souris La manette de la Xbox Utilisation de périphériques spécialisés Les services avec XNA Les interfaces en C# Comment utiliser les services Les méthodes génériques Toujours plus d interactions grâce à la GUI En résumé CHAPITRE 5 Cas pratique : programmer un Pong Avant de se lancer dans l écriture du code Définir le principe du jeu Formaliser en pseudo-code Développement du jeu Création du projet L arrière-plan Les raquettes La balle Améliorer l intérêt du jeu En résumé

17 XVI Développement XNA pour la XBox et le PC CHAPITRE 6 Enrichir les sprites : textures, défilement, transformation, animation Préparation de votre environnement de travail Texturer un objet Rectangle Modifier la classe Sprite Faire défiler le décor : le scrolling Créer des animations avec les sprites sheets Varier la teinte des textures Opérer des transformations sur un sprite Afficher du texte avec Spritefont Afficher le nombre de FPS En résumé CHAPITRE 7 La sonorisation Travailler avec XACT Créer un projet sonore Lire les fichiers créés Lire les fichiers en streaming Compression Ajouter un effet de réverbération Le son avec la nouvelle API SoundEffect Lire un son Lire un morceau de musique Pour un bon design sonore En résumé CHAPITRE 8 Exceptions et gestion des fichiers : sauvegarder et charger un niveau Le stockage des données Les espaces de stockage Sérialisation et désérialisation Les exceptions

18 Table des matières XVII Les Gamer Services : interagir avec l environnement Dossier de l utilisateur Les méthodes asynchrones La GamerCard : la carte d identité du joueur Version démo La sauvegarde en pratique : réalisation d un éditeur de cartes Identifier les besoins Chemin du dossier de jeu Gérer les dossiers Manipuler les fichiers Écrire dans un fichier Lire un fichier Sérialiser des données Désérialiser des données Les Content Importers, une solution compatible avec la Xbox En résumé CHAPITRE 9 Pathfinding : programmer les déplacements des personnages 185 Les enjeux de l intelligence artificielle Comprendre le pathfinding L algorithme A* : compromis entre performance et pertinence Principe de l algorithme Implanter l algorithme dans un jeu de type STR Cas pratique : implémenter le déplacement d un personnage sur une carte Préparation : identifier et traduire les actions du joueur Créer le personnage Implémenter l algorithme En résumé CHAPITRE 10 Collisions et physique : créer un simulateur de vaisseau spatial Comment détecter les collisions Créer les bases du jeu Établir une zone de collision autour des astéroïdes

19 XVIII Développement XNA pour la XBox et le PC Simuler un environnement spatial : la gestion de la physique Choisir un moteur physique Télécharger et installer FarseerPhysics Prise en main du moteur physique Les collisions avec FarseerPhysics En résumé CHAPITRE 11 Le mode multijoueur Jouer à plusieurs sur le même écran Du mode solo au multijoueur : la gestion des caméras Créer un jeu solo avec effet de scrolling Adapter les caméras au multijoueur Personnaliser les différentes vues Le multijoueur en réseau S appuyer sur la plate-forme Live Implémenter les fonctionnalités de jeu en réseau En résumé CHAPITRE 12 Les bases de la programmation 3D L indispensable théorie Le système de coordonnées Construire des primitives à partir de vertices Les vecteurs dans XNA Les matrices et les transformations Gérer les effets sous XNA Comprendre la projection Dessiner des formes La caméra et la matrice de projection La matrice de vue Des vertices à la forme à dessiner Déplacer la caméra Appliquer une couleur à un vertex

20 Table des matières XIX Plaquer une texture sur un objet Texturer une face d un objet Texturer un objet entier Déplacer un objet avec les transformations Jouer avec les lumières Les différents types de lumière Éclairer une scène pas à pas Charger un modèle En résumé CHAPITRE 13 Améliorer le rendu avec le High Level Shader Language Les shaders et XNA Vertex shaders et pixel shaders Ajouter un fichier d effet dans XNA Syntaxe du langage HLSL Les variables HLSL Les structures de contrôle Les fonctions fournies pas le langage Sémantiques et structures pour formats d entrée et de sortie Écrire un vertex shader Écrire un pixel shader Finaliser un effet : les techniques et les passes Créer le fichier d effet Faire onduler les objets La texture en négatif Jouer avec la netteté d une texture Flouter une texture Modifier les couleurs d une texture En résumé CHAPITRE A Visual C# Express Différencier solution et projet Personnaliser l interface

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Tahsin Rossanaly - IR3

Tahsin Rossanaly - IR3 Tahsin Rossanaly - IR3 Plan de la présentation Présentation de XNA Architecture et fonctionnement de XNA Éléments d'architecture d'un jeu Interaction avec l'environnement Gestion de la 3D Informations

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

S. Laporte C# mode console DAIGL TS1

S. Laporte C# mode console DAIGL TS1 Bases du langage C# I. C# en mode console (mode texte) Avantages par rapport au mode graphique (Application Windows): - C'est un mode plus proche de l'approche algorithmique (pas de notions de composants,

Plus en détail

Premier programme VBA : syntaxe, édition, compilation

Premier programme VBA : syntaxe, édition, compilation 1 Premier programme VBA : syntaxe, édition, compilation Le langage VBA (Visual Basic for Applications) permet de concevoir des programmes selon une syntaxe qui lui est propre, puis d éditer et d exécuter

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis

Java. Java. Le livrede. Avec 80 exercices corrigés. Avec 80 exercices corrigés. Le livre. Anne Tasso. 5 e édition. Un best-seller qui a déjà conquis Anne Tasso Un best-seller qui a déjà conquis des milliers d'étudiants! Java Le livre Java Le livrede de premier premier langage langage Avec 80 exercices corrigés Avec 80 exercices corrigés 5 e édition

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Sauvegardes de données

Sauvegardes de données 1 Sauvegardes de données Sauvegardes de données Sommaire Sauvegardes de données... 1 1 Introduction... 2 2 Recherche du chemin de stockage... 3 2.1 Le dossier de jeu... 3 2.2 Le dossier privé... 5 3 Gestion

Plus en détail

Christophe Guelff. Hackez votre. Eee PCTM. L ultraportable efficace. Préface de Philippe Allart. Groupe Eyrolles, 2009, ISBN : 2-212-12437-8

Christophe Guelff. Hackez votre. Eee PCTM. L ultraportable efficace. Préface de Philippe Allart. Groupe Eyrolles, 2009, ISBN : 2-212-12437-8 Christophe Guelff Hackez votre Eee PCTM L ultraportable efficace Préface de Philippe Allart Groupe Eyrolles, 2009, ISBN : 2-212-12437-8 Table des matières AVANT-PROPOS... XV Pourquoi ce livre? XVI Organisation

Plus en détail

Windows Forms. 1 Introduction. 1.1 Objectifs. 1.2 Le C# 1.3 Visual Studio. C# tp 0 Octobre 2013. Epita

Windows Forms. 1 Introduction. 1.1 Objectifs. 1.2 Le C# 1.3 Visual Studio. C# tp 0 Octobre 2013. Epita Windows Forms 1 Introduction 1.1 Objectifs Durant ce TP, vous allez découvrir un nouveau langage, le C#. Vous serez confrontés à une nouvelle façon de coder, avec un nouveau langage, sous un nouvel environnement.

Plus en détail

Introduction. Qu est-ce que Visual Basic 2008?

Introduction. Qu est-ce que Visual Basic 2008? Je suis profondément ravi que vous ayez choisi ce livre pour acquérir les compétences et techniques de programmation avec Microsoft Visual Basic 2008. Si nous nous découvrons mutuellement dans ce paragraphe,

Plus en détail

Mise à niveau en Java

Mise à niveau en Java Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1 Aujourd hui Eléments de base Variables, opérateurs, type d une expression

Plus en détail

Avant de commencer Au sommaire de ce chapitre

Avant de commencer Au sommaire de ce chapitre 1 Avant de commencer Au sommaire de ce chapitre Configuration requise pour utiliser Visual Basic 2010 Les différentes versions de Visual Basic 2010 Installation de Visual Studio 2010 Premier contact avec

Plus en détail

Cours 2 : Comment construire un programme?

Cours 2 : Comment construire un programme? 1/64 Introduction à la programmation Cours 2 : Comment construire un programme? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/64 Le cours d aujourd hui 1. Striptease

Plus en détail

Objectif du cours. Bases de la programmation. Plan de cette partie

Objectif du cours. Bases de la programmation. Plan de cette partie Objectif du cours Bases de la programmation Université de Nice - Sophia Antipolis Richard Grin Version 1.2.5 24/9/11 http://deptinfo.unice.fr/~grin Introduction à la programmation orientée objet pour pouvoir

Plus en détail

2001-2002. UFR Mathématiques de la Décision. Première Année de DEUG Sciences et Technologie mention MASS. Informatique. Volume I.

2001-2002. UFR Mathématiques de la Décision. Première Année de DEUG Sciences et Technologie mention MASS. Informatique. Volume I. 2001-2002 UFR Mathématiques de la Décision Première Année de DEUG Sciences et Technologie mention MASS Informatique Volume I Fabrice Rossi c Fabrice Rossi, 1997-2002 Conditions de distribution et de copie

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers

Programmation en Python - Cours 2 : Premiers programmes. MPSI - Lycée Thiers Programmation en Python - Cours 2 : Premiers programmes Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Utilisation en mode interactif Ecriture d un programme

Plus en détail

Cours 1 : Introduction Générale + Objet I

Cours 1 : Introduction Générale + Objet I Organisation du cours Équipe pédagogique DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet I Jean-Claude MARTIN (Responsable, Cours, TD

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

Cours 1 : Introduction Générale + Objet

Cours 1 : Introduction Générale + Objet Organisation du cours Équipe pédagogique L2 S4 2009 : 2010 Programmation Objet Jean-Claude MARTIN MARTIN@LIMSI.FR Cours 1 : Introduction Générale + Objet 10 cours de 1h30 o Jean-Claude MARTIN (MARTIN@LIMSI.FR)

Plus en détail

Le.NET Compact Framework Windows Mobile

Le.NET Compact Framework Windows Mobile Le.NET Compact Framework Windows Mobile HEROGUEL Quentin 2 Le.NET Compact Framework Windows Mobile Sommaire 1 Le.NET Compact Framework... 3 1.1 Vue d ensemble rapide de l architecture du.net Compact Framework...

Plus en détail

Projet de cryptographie. Algorithme de cryptage de type Bluetooth

Projet de cryptographie. Algorithme de cryptage de type Bluetooth Projet de cryptographie Algorithme de cryptage de type Bluetooth Le but de ce projet est de créer une application qui crypte et décrypte des fichiers en utilisant le principe de cryptage du Bluetooth.

Plus en détail

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5

Introduction à l algorithmique et à la programmation 2013-2014. Cyril Nicaud Cyril.Nicaud@univ-mlv.fr. Cours 1 / 5 Introduction à l algorithmique et à la programmation IUT 1ère année 2013-2014 Cyril Nicaud Cyril.Nicaud@univ-mlv.fr Cours 1 / 5 Déroulement du cours Organisation : 5 séances de 2h de cours 10 séances de

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

Environnement algorithmique et conventions

Environnement algorithmique et conventions 1 Environnement algorithmique et conventions Un algorithme est un maillon de la chaîne de développement d une application. Il est le lien indispensable entre l analyse et le développement final. Ce chapitre

Plus en détail

Découverte de l EDI Visual Studio 2005 mai 2008

Découverte de l EDI Visual Studio 2005 mai 2008 (Environnement : Microsoft Windows) 1- EDI Visual Studio 2005 VB.net EDI, Environnement de Développement Intégré Anglais : IDE, Integrated Development Environment Programme regroupant : Un éditeur de texte

Plus en détail

Devenez un véritable développeur web en 3 mois!

Devenez un véritable développeur web en 3 mois! Devenez un véritable développeur web en 3 mois! L objectif de la 3W Academy est de former des petits groupes d élèves au développement de sites web dynamiques ainsi qu à la création d applications web

Plus en détail

Présentation. 2010 Pearson Education France Adobe Flash Catalyst CS5 Adobe Press

Présentation. 2010 Pearson Education France Adobe Flash Catalyst CS5 Adobe Press Présentation 1 Adobe Flash Catalyst CS5 vous permet de produire du contenu totalement interactif d une grande qualité graphique pour le web ou le bureau sans écrire une seule ligne de code. Cette leçon

Plus en détail

Introduction. Chapitre 1. 1.1 Pourquoi Java?

Introduction. Chapitre 1. 1.1 Pourquoi Java? Chapitre 1 Introduction Nos objectifs pédagogiques sont : 1. Étudier les concepts de base de la programmation dans les langages de haut-niveau, de manière à : les appliquer en Java, comprendre des concepts

Plus en détail

Préface. 2013 Pearson France Développement d'applications Windows 8 avec C# et XAML Jeremy Likness

Préface. 2013 Pearson France Développement d'applications Windows 8 avec C# et XAML Jeremy Likness Les prémices d informations sur Windows 8 sont apparus début 2011. Les spéculations sont allées bon train sur Internet lorsque les développeurs ont commencé à s interroger sur la nouvelle plateforme. Les

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2

Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html. R.R. Université Lyon 2 Ricco Rakotomalala http://eric.univ-lyon2.fr/~ricco/cours/cours_programmation_python.html 1 Généralités sur la programmation ALGORITHMIE - PROGRAMMATION 2 Algorithmie vs. Programmation Algorithmie Programme

Plus en détail

Analyse et programmation 1

Analyse et programmation 1 Analyse et programmation Aperçu du fonctionnement de l ordinateur Fonctionnement de l ordinateur Codage de l information Bus d échange d information CPU Exécution d un programme par la CPU Gestion des

Plus en détail

Premières applications. Web 2.0. avec Ajax et PHP. J e a n - M a r i e D e f r a n c e. Groupe Eyrolles, 2008, ISBN : 978-2-212-12090-5

Premières applications. Web 2.0. avec Ajax et PHP. J e a n - M a r i e D e f r a n c e. Groupe Eyrolles, 2008, ISBN : 978-2-212-12090-5 Premières applications Web 2.0 avec Ajax et PHP J e a n - M a r i e D e f r a n c e Groupe Eyrolles, 2008, ISBN : 978-2-212-12090-5 8 Applications Ajax-PHP synchrones Pour commencer simplement, je vous

Plus en détail

MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO

MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO MC-II1 - Cours n o 1 Langages de programmation Introduction à la POO Sebastien.Kramm@univ-rouen.fr IUT GEII Rouen 2012-2013 S. Kramm (IUT Rouen) MCII1 - Cours 1 2012-2013 1 / 36 Sommaire 1 Langages de

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Certificat de spécialisation Techniques avancées de conception et de programmation pour les Jeux Vidéo

Certificat de spécialisation Techniques avancées de conception et de programmation pour les Jeux Vidéo Ingénieurs et techniciens en informatique désirant acquérir des connaissances spécifiques au domaine des jeux et des médias interactifs. Avoir une bonne connaissance théorique et pratique de la programmation

Plus en détail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Installation Client (licence de site) de IBM SPSS Modeler 14.2

Installation Client (licence de site) de IBM SPSS Modeler 14.2 Installation Client (licence de site) de IBM SPSS Modeler 14.2 Les instructions suivantes permettent d installer IBM SPSS Modeler Client version 14.2 en utilisant un licence de site. Ce présent document

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Tableaux (introduction) et types de base

Tableaux (introduction) et types de base Tableaux (introduction) et types de base A. Motivation..................................................... 4 B. Les tableaux.................................................... 5 C. Construction des tableaux.......................................

Plus en détail

jeux Développer des en HTML 5 & JavaScript Samuel Ronce Multijoueur temps-réel avec Node.js et intégration dans Facebook

jeux Développer des en HTML 5 & JavaScript Samuel Ronce Multijoueur temps-réel avec Node.js et intégration dans Facebook Développer des jeux en HTML 5 & JavaScript Multijoueur temps-réel avec Node.js et intégration dans Facebook Samuel Ronce Groupe Eyrolles, 2013, ISBN: 978-2-212-13531-2 Avant-propos Pourquoi concevoir un

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

Introduction à l informatique en BCPST

Introduction à l informatique en BCPST Introduction à l informatique en BCPST Alexandre Benoit BCPST L informatique en BCPST «L enseignement de l informatique en classes préparatoires de la filière BCPST a pour objectif d introduire puis de

Plus en détail

KLIPS - PROJET INTELLIGENCE ARTIFICIEL

KLIPS - PROJET INTELLIGENCE ARTIFICIEL 19/03/2008 EPSI KLIPS - PROJET INTELLIGENCE ARTIFICIEL Christian Couder, Fabien Joubert, Guy-Ludovic Rodriguez Sommaire I Cahier des Charges 1. Les différentes composantes demandées... 3 a. Caractéristiques

Plus en détail

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008.

Le service pack 6 (SP6) est le dernier disponible pour visual studio 6. Ce dernier devrait être maintenu par Microsoft jusqu en 2008. 1 CONCEPT DE BASE 1.1 Visual Basic 6 1.1.1 Pour quoi faire? VB est un langage de type RAD : «Rapid Application Development». Il permet de créer des applications rapidement grâce à une conception simple

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

Module.NET 3 Les Assemblys.NET

Module.NET 3 Les Assemblys.NET Module.NET Chapitre 3 Les Assemblys.NET 2011/2012 Page 1 sur 13 Contenu Cours... 3 3.1 - Définition d un assembly.net... 3 3.2 - Private assembly ou assembly privé.... 3 3.3 - Shared assembly ou assembly

Plus en détail

Les références et la mémoire

Les références et la mémoire Chapitre 3 Les références et la mémoire 3.1 Introduction En Java, pour déclarer une variable, il faut donner son nom, précédé du type qu on souhaite lui attribuer. Ces types peuvent être des types primitifs

Plus en détail

Introduction à ADO.NET

Introduction à ADO.NET 1 Introduction à ADO.NET Introduction à ADO.NET Sommaire Introduction à ADO.NET... 1 1 Introduction... 2 1.1 Qu est ce que l ADO.NET?... 2 1.2 Les nouveautés d ADO.NET... 2 1.3 Les avantages d ADO.NET...

Plus en détail

AUTOMATISER SES TÂCHES AVEC LES MACROS

AUTOMATISER SES TÂCHES AVEC LES MACROS AUTOMATISER SES TÂCHES AVEC LES MACROS U ne macro est un ensemble de commandes qui s exécute autant de fois que nécessaire simplement en les appelant par son nom. Les macros permettent d automatiser les

Plus en détail

Les formations. Développeur Logiciel. ENI Ecole Informatique

Les formations. Développeur Logiciel. ENI Ecole Informatique page 1/5 Titre professionnel : Reconnu par l Etat de niveau III (Bac), inscrit au RNCP (arrêté du 12/10/07, J.O. n 246 du 23/10/07) (32 semaines) Unité 1 : Structurer une application 6 semaines Module

Plus en détail

Algorithmique Partie 1

Algorithmique Partie 1 Algorithmique Partie 1 IUT Informatique de Lens, 1ère Année Université d Artois Frédéric Koriche koriche@cril.fr 2011 - Semestre 1 Modalités Sommaire 1 Modalités 2 Programmation 3 Données 4 Opérateurs

Plus en détail

Epidémiologie, l urne de Pólya, partie II

Epidémiologie, l urne de Pólya, partie II Epidémiologie, l urne de Pólya, partie II Se mettre par groupe de deux. Traiter la fiche dans l ordre. Un compte de rendu de TP devra être rendu avec les réponses écrites aux questions, les recherches

Plus en détail

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A

Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Informatique TP4 : Manipulations de fichiers Manipulations de chaînes et de tableaux CPP 1A Djamel Aouane, Frederic Devernay, Matthieu Moy Mars - avril 2015 1 Manipulations de fichiers Pour organiser des

Plus en détail

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15

3 ElementsdeprogrammationJava 15 3.1 Premierspas... 15 Tabledesmatières 1 IntroductionaulangageJava 1 1.1 EnvironnementJava... 1 1.1.1 Compilation... 2 1.1.2 Interprétation... 2 1.2 Programmationorientée-objet... 2 1.2.1 Classe... 3 1.2.2 Objet... 4 2 Syntaxedulangage

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Introduction au langage Java

Introduction au langage Java Introduction au langage Java Nicolas Dumoulin nicolas.dumoulin@cemagref.fr Cemagref Laboratoire d ingénierie pour les systèmes complexes 2010 Notes aux lecteurs Ce document est un support de cours qui

Plus en détail

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3

Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Tsoft et Groupe Eyrolles, 2005, ISBN : 2-212-11623-3 Configuration requise ForestPrep DomainPrep Installation interactive 5 Installation sans surveillance Module 5 : Installation d Exchange Server 2003

Plus en détail

Louis-Guillaume Morand. & Thomas Garcia. Windows avancé7préface de. Lucas Riedberger

Louis-Guillaume Morand. & Thomas Garcia. Windows avancé7préface de. Lucas Riedberger Louis-Guillaume Morand & Thomas Garcia sanstaboo Windows avancé7préface de Lucas Riedberger ÉDITIONS EYROLLES 61, bd Saint-Germain 75240 Paris Cedex 05 www.editions-eyrolles.com Remerciements à Romain

Plus en détail

Introduction à la Programmation Objet : Premiers pas en programmation

Introduction à la Programmation Objet : Premiers pas en programmation Introduction à la Programmation Objet : Premiers pas en programmation Laboratoire d Intelligence Artificielle Faculté I&C IPO Cours 2 : Premiers pas en programmation 1 / 67 Objectifs du cours d aujourd

Plus en détail

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES I-Présentation Un algorithme de recherche de sous-chaine est un type d'algorithme de recherche qui a pour objectif de trouver une chaîne de caractères

Plus en détail

INTEGRATEUR DEVELOPPEUR

INTEGRATEUR DEVELOPPEUR www.emweb.fr INTEGRATEUR DEVELOPPEUR FORMATION ELIGIBLE AU DIF/CIF DURÉE : 700 h de formation PRE REQUIS Avoir un esprit logique Etre motivé(e)! OBJECTIF A l issue de cette formation, vous serez capable

Plus en détail

Cours Informatique 1. Monsieur SADOUNI Salheddine

Cours Informatique 1. Monsieur SADOUNI Salheddine Cours Informatique 1 Chapitre 2 les Systèmes Informatique Monsieur SADOUNI Salheddine Un Système Informatique lesystème Informatique est composé de deux parties : -le Matériel : constitué de l unité centrale

Plus en détail

Introduction. 2013 Pearson France Excel et VBA Mikaël Bidault

Introduction. 2013 Pearson France Excel et VBA Mikaël Bidault Introduction Visual Basic pour Applications, VBA, est la solution de programmation proposée avec les applications de la suite Office. La connaissance de VBA permet à l utilisateur d Excel de tirer pleinement

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

LE BIOS : QU EST-CE QUE C EST?

LE BIOS : QU EST-CE QUE C EST? LE BIOS : QU EST-CE QUE C EST? Mewtow 29 octobre 2015 Table des matières 1 Introduction 5 2 Rappels sur le mode réel des processeurs x86 7 2.1 Mémoire en mode réel............................... 7 2.1.1

Plus en détail

PROCEDURE D INSTALLATION D UN ENVIRONNEMENT POUR DEVELOPPER AVEC VISUAL BASIC

PROCEDURE D INSTALLATION D UN ENVIRONNEMENT POUR DEVELOPPER AVEC VISUAL BASIC PROCEDURE D INSTALLATION D UN ENVIRONNEMENT POUR DEVELOPPER AVEC VISUAL BASIC Page 1 sur 30 SOMMAIRE SE PREPARER A L INSTALLATION DE L ENVIRONNEMENT... 3 RÉCAPITULER LES COMPOSANTS À INSTALLER... 3 RASSEMBLER

Plus en détail

Sommaire MQL4 pour les nuls

Sommaire MQL4 pour les nuls Sommaire MQL4 pour les nuls 1. Introduction 2. MetaEditor 3. Les types de données 4. Les variables 5. Expressions et opérateurs 6. Les fonctions 7. Instructions conditionnelles et boucles 8. Indentations,

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Cours Visual Basic URCA

Cours Visual Basic URCA Cours Visual Basic URCA Sommaire Introduction à la programmation VBA et VB Syntaxe de base, variables Opérateurs de base, boucles Introduction à la programmation Qu est-ce que la programmation? Séquences

Plus en détail

Introduction aux exercices en Java

Introduction aux exercices en Java Introduction aux exercices en Java Avant de commencer les séries proprement dites, nous allons voir quelques informations utiles concernant le langage de programmation principal de ce cours d'informatique

Plus en détail

INTRODUCTION AU LANGAGE C# ET A LA PROGRAMMATION OBJET Résumé de cours

INTRODUCTION AU LANGAGE C# ET A LA PROGRAMMATION OBJET Résumé de cours INTRODUCTION AU LANGAGE C# ET A LA PROGRAMMATION OBJET Résumé de cours Programme du module (30H) Connaissances - CLR et.net - Présentation bibliothèque.net - namespace - Langage & syntaxe - Type valeur

Plus en détail

Troma. Rapport de soutenance 1 12 mars 2014

Troma. Rapport de soutenance 1 12 mars 2014 Rapport de soutenance 1 12 mars 2014 Thibault Dethi Deutsch (deutsc_t) Rémy Shadows Bernier (bernie_r ) Marc Leshlague Fresne (fresne_m) Anthony AnthonySG Belthier (belthi_a) Table des matières I. Modélisation..................................

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet CNAM UV 19357 Année 2003-2004 David Delahaye David.Delahaye@cnam.fr Conception et Développement Orientés Objets Cours 1 : Introduction 1 Présentation de la valeur Ce cours s adresse à toute personne ayant

Plus en détail

L interface de Windows 7

L interface de Windows 7 chapitre L interface de Windows 7. Utiliser le menu Démarrer et la barre des tâches de Windows 7... 2.2 Profiter de l affichage Aero et de Windows Flip 3D... 30.3 Utiliser les thèmes... 33.4 Modifier la

Plus en détail

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Environnement de programmation

Environnement de programmation Environnement de programmation 1.La programmation Les ordinateurs sont stupides! à un point dont on n'a pas idée. Ils ne réagissent ni ne répondent qu'à des situations ou à des données anticipées par le

Plus en détail

Introduction à WPF. Julien DOLLON

Introduction à WPF. Julien DOLLON Introduction à WPF Julien DOLLON 2 Introduction au WPF v. 1.0 [02/02/09] Sommaire 1 Introduction... 3 1.1 Avant WPF... 3 1.2 Pourquoi WPF... 3 2 Les plus et les moins... 4 2.1 Les avantages de WPF... 4

Plus en détail

Workshop CAS et évaluation d expressions. Raphaël Shugo Boissel (boisse_r)

Workshop CAS et évaluation d expressions. Raphaël Shugo Boissel (boisse_r) Workshop CAS et évaluation d expressions Raphaël Shugo Boissel (boisse_r) 23 Novembre 2013 1 Présentation du workshop.................... 2 1.1 Définition du cas..................... 2 1.2 Définition de

Plus en détail

Table des matières. 4. INSTRUCTIONS RÉPÉTITIVES... 25 Réaffectation 25 Répétitions en boucle L instruction while 26 Commentaires 26 Remarques 27

Table des matières. 4. INSTRUCTIONS RÉPÉTITIVES... 25 Réaffectation 25 Répétitions en boucle L instruction while 26 Commentaires 26 Remarques 27 Gérard Swinnen Apprendre à programmer avec Python 3 Avec 60 pages d exercices corrigés! Objet Multithreading Bases de données Événements Programmation web Programmation réseau Unicode Impression PDF Python

Plus en détail

ENVIRONNEMENT DE DÉVELOPPEMENT

ENVIRONNEMENT DE DÉVELOPPEMENT CHAPITRE 1 ENVIRONNEMENT DE DÉVELOPPEMENT Installer Microsoft Visual C++ 2010 Express Edition... 17 Démarrer un nouveau projet... 21 Créer un programme minimal... 24 Générer et exécuter un programme...

Plus en détail

FORMATION VB.NET Visual Studio 2008

FORMATION VB.NET Visual Studio 2008 FORMATION VB.NET Visual Studio 2008 Livret 1 Introduction à Visuàl Studio Thierry TILLIER http://www.coursdinfo.fr Ce support de cours est réservé à un usage personnel. Toute utilisation et diffusion dans

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

L utilisation d outils intelligents pour écrire du code valide

L utilisation d outils intelligents pour écrire du code valide B L utilisation d outils intelligents pour écrire du code valide Toutes les méthodes de développement, sans exception, incluent au moins une étape de test du code. C est parce que le code écrit par la

Plus en détail

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

Installation Client (licence réseau) de IBM SPSS Modeler 14.2 Installation Client (licence réseau) de IBM SPSS Modeler 14.2 Les instructions suivantes permettent d installer IBM SPSS Modeler Client version 14.2 en utilisant un licence réseau. Ce présent document

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Cours 1. Contenu du cours : " Premières applications. " Compilation, Exécution, Chemin. " Affichage et saisie. " Types de données. " Flux de contrôle

Cours 1. Contenu du cours :  Premières applications.  Compilation, Exécution, Chemin.  Affichage et saisie.  Types de données.  Flux de contrôle Cours 1 1 Contenu du cours : " Premières applications " Compilation, Exécution, Chemin " Affichage et saisie " Types de données " Flux de contrôle " Applets " Arrays " OO de base Edition Le fichier texte

Plus en détail

Introduction à la programmation web

Introduction à la programmation web Introduction à la programmation web Nouvelles Technologies Dr. Thé Van LUONG The-Van.Luong@heig-vd.ch HEIG-VD Switzerland 8 octobre 2015 1/34 8 octobre 2015 1 / 34 Plan 1 État de l art des langages orientés

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail