100% found this document useful (2 votes)
16 views

Beginning Java SE 6 Game Programming 3rd Edition Jonathan S. Harbour instant download

Beginning Java SE 6 Game Programming, 3rd Edition by Jonathan S. Harbour is a comprehensive guide aimed at teaching Java game programming. The book covers essential Java concepts, game design principles, and practical coding examples to help beginners create their own games. It includes various resources and links for further learning and exploration in game development.

Uploaded by

zgietraxhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
16 views

Beginning Java SE 6 Game Programming 3rd Edition Jonathan S. Harbour instant download

Beginning Java SE 6 Game Programming, 3rd Edition by Jonathan S. Harbour is a comprehensive guide aimed at teaching Java game programming. The book covers essential Java concepts, game design principles, and practical coding examples to help beginners create their own games. It includes various resources and links for further learning and exploration in game development.

Uploaded by

zgietraxhi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 58

Beginning Java SE 6 Game Programming 3rd Edition

Jonathan S. Harbour pdf download

https://ebookfinal.com/download/beginning-java-se-6-game-
programming-3rd-edition-jonathan-s-harbour/

Explore and download more ebooks or textbooks


at ebookfinal.com
We have selected some products that you may be interested in
Click the link to download now or visit ebookfinal.com
for more options!.

Beginning Game Programming 1st Edition Jonathan S. Harbour

https://ebookfinal.com/download/beginning-game-programming-1st-
edition-jonathan-s-harbour/

Microsoft Visual Basic Game Programming for Teens 2nd


Edition Jonathan S.(Jonathan S. Harbour) Harbour

https://ebookfinal.com/download/microsoft-visual-basic-game-
programming-for-teens-2nd-edition-jonathan-s-jonathan-s-harbour-
harbour/

More Python Programming for the Absolute Beginner 1st


Edition Jonathan S. Harbour

https://ebookfinal.com/download/more-python-programming-for-the-
absolute-beginner-1st-edition-jonathan-s-harbour/

Microsoft Visual Basic NET Programming for the Absolute


Beginner 1st Edition Jonathan S. Harbour

https://ebookfinal.com/download/microsoft-visual-basic-net-
programming-for-the-absolute-beginner-1st-edition-jonathan-s-harbour/
Beginning EJB 3 Java EE 7 edition Jonathan Wetherbee

https://ebookfinal.com/download/beginning-ejb-3-java-ee-7-edition-
jonathan-wetherbee/

Beginning OpenGL Game Programming 1st Edition Dave Astle

https://ebookfinal.com/download/beginning-opengl-game-programming-1st-
edition-dave-astle/

Beginning OpenGL Game Programming 1st Edition Dave Astle

https://ebookfinal.com/download/beginning-opengl-game-programming-1st-
edition-dave-astle-2/

Beginning DirectX 11 Game Programming 1st Edition Allen


Sherrod

https://ebookfinal.com/download/beginning-directx-11-game-
programming-1st-edition-allen-sherrod/

Beginning C Through Game Programming 4th Edition Michael


Dawson

https://ebookfinal.com/download/beginning-c-through-game-
programming-4th-edition-michael-dawson/
Beginning Java SE 6 Game Programming 3rd Edition
Jonathan S. Harbour Digital Instant Download
Author(s): Jonathan S. Harbour
ISBN(s): 9781435458086, 1435458087
Edition: 3
File Details: PDF, 4.12 MB
Year: 2011
Language: english

R

Beginning Java
SE 6 Game
Programming,
Third Edition

Jonathan S. Harbour

Course Technology PTR


A part of Cengage Learning

Australia . Brazil . Japan . Korea . Mexico . Singapore . Spain . United Kingdom . United States
Beginning Java SE 6 © 2012 Course Technology, a part of Cengage Learning.
R

Game Programming, Third Edition ALL RIGHTS RESERVED. No part of this work covered by the copyright
Jonathan S. Harbour herein may be reproduced, transmitted, stored, or used in any form or
Publisher and General Manager, by any means graphic, electronic, or mechanical, including but not
Course Technology PTR: Stacy L. Hiquet limited to photocopying, recording, scanning, digitizing, taping, Web
distribution, information networks, or information storage and retrieval
Associate Director of Marketing:
systems, except as permitted under Section 107 or 108 of the 1976
Sarah Panella
United States Copyright Act, without the prior written permission of the
Manager of Editorial Services: publisher.
Heather Talbot
Marketing Manager: Jordan Castellani
For product information and technology assistance, contact us at
Senior Acquisitions Editor: Emi Smith Cengage Learning Customer & Sales Support, 1-800-354-9706
Project Editor: Jenny Davidson
For permission to use material from this text or product,
Technical Reviewer: Dustin Clingman submit all requests online at www.cengage.com/permissions
Interior Layout Tech: MPS Limited, a Macmillan Further permissions questions can be emailed to
Company permissionrequest@cengage.com
Cover Designer: Mike Tanamachi
Oracle and Java are registered trademarks of Oracle and/or its affiliates.
Indexer: Larry Sweazy
All other trademarks are the property of their respective owners.
Proofreader: Michael Beady
All images © Cengage Learning unless otherwise noted.

Library of Congress Control Number: 2010942436

ISBN-13: 978-1-4354-5808-6

ISBN-10: 1-4354-5808-7
eISBN-10: 1-4354-5809-5

Course Technology, a part of Cengage Learning


20 Channel Center Street
Boston, MA 02210
USA

Cengage Learning is a leading provider of customized learning solutions


with office locations around the globe, including Singapore, the United
Kingdom, Australia, Mexico, Brazil, and Japan. Locate your local office at:
international.cengage.com/region

Cengage Learning products are represented in Canada by Nelson


Education, Ltd.

For your lifelong learning solutions, visit courseptr.com

Visit our corporate website at cengage.com

Printed in the United States of America


1 2 3 4 5 6 7 12 11 10
For Kaitlyn Faye
Acknowledgments

Thank you to my wife, Jennifer, and kids—Jeremiah, Kayleigh, Kaitlyn, and


Kourtney—for keeping me on my toes and getting me out of the office from time to
time for a needed break! Special thanks to artists Ari Feldman (www.flyingyogi.com)
and Reiner Prokein (www.reinerstileset.de) for the 2D sprite artwork used in the
examples and final game (without their free collections of sprites, Galactic War
would have featured programmer art—yikes!). A big thank you to Emi Smith, Jenny
Davidson, and Dustin Clingman.
About the Author

Jonathan S. Harbour has been programming video games since the 1980s. His
first video game system was an Atari 2600 that he disassembled on the floor of his
room at age 9. He has written on languages and subjects that include Cþþ, C#,
Basic, Java, DirectX, Allegro, Lua, DarkBasic, XNA Game Studio, Pocket PC,
Nintendo GBA, and game console hacking. He is the author of Visual Basic Game
Programming for Teens, Third Edition; Visual C# Game Programming for Teens;
Beginning Game Programming, Third Edition; Multi-Threaded Game Engine
Design; and XNA Game Studio 4.0 for Xbox 360 Developers. Visit his blog and
forum at www.jharbour.com.
Contents

Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiii

PART I JAVA FOR BEGINNERS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Chapter 1 Getting Started with Java . . . . . . . . . . . . . . . . . . . . . . . . . 3
Java and the Web . . . . . . . . . . . . . . . . ........ . . . . . . . . . . . . . . 3
Studying the Market . . . . . . . . . . . . ........ . . . . . . . . . . . . . . 4
Design Rules . . . . . . . . . . . . . . . . . . ........ . . . . . . . . . . . . . . 5
The Casual Games Market . . . . . . . . . . ........ . . . . . . . . . . . . . . 6
No Manual Required . . . . . . . . . . . . ........ . . . . . . . . . . . . . . 7
Casual Games . . . . . . . . . . . . . . . . . ........ . . . . . . . . . . . . . . 8
Installing and Configuring Java . . . . . . ........ . . . . . . . . . . . . . 10
Installing Java . . . . . . . . . . . . . . . . . ........ . . . . . . . . . . . . . 11
Configuring the Java Command-Line Compiler . . . . . . . . . . . . . . 12
Java Version Numbers . . . . . . . . . . . ........ . . . . . . . . . . . . . 15
Java SE 6 Development Kit . . . . . . . ........ . . . . . . . . . . . . . 16
Java Development Environments . . . ........ . . . . . . . . . . . . . 17
Your First Java Program . . . . . . . . . . . . ........ . . . . . . . . . . . . . 19
Java Application . . . . . . . . . . . . . . . ........ . . . . . . . . . . . . . 19
Java Applet . . . . . . . . . . . . . . . . . . . ........ . . . . . . . . . . . . . 21
Creating a NetBeans Project . . . . . . ........ . . . . . . . . . . . . . 27
Creating an Eclipse Project . . . . . . . ........ . . . . . . . . . . . . . 29
JFrame-Powered Application . . . . . . ........ . . . . . . . . . . . . . 33

vi
Contents vii

What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37


Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Chapter 2 Java Programming Essentials . . . . . . . . . . . . . . . . . . . . . . 41


Java Applets and Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Web Server Technology Explained . . . . . . . . . . . . . . . . . . . . . . . 42
Hosting Java Applets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Compiling Java Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
The Java Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Java Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
The Essence of Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
The main Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Object-Oriented Programming . . . . . . . . . . . . . . . . . . . . . . . . . . 59
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Chapter 3 Creating Your First Java Game . . . . . . . . . . . . . . . . . . . . 69


About the Game Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Creating the Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
Creating the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
The BaseVectorShape Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
The Ship Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
The Bullet Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
The Asteroid Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
The Main Source Code File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
viii Contents

PART II JAVA GAME PROGRAMMING . . . . . . . . . . . . . . . . . . . . . . . . 95


Chapter 4 Vector-Based Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Programming Vector Graphics . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Working with Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Working with Polygons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Rotating and Scaling Shapes . . . . . . . . . . . . . . . . . . . . . . . . . . 103
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

Chapter 5 Bitmap-Based Graphics . . . . . . . . . . . . . . . . . . . . . . . . . 109


Programming Bitmapped Graphics . . . . . . . . . . . . . . . . . . . . . . . . 109
Loading and Drawing Images . . . . . . . . . . . . . . . . . . . . . . . . . 110
Applying Transforms to Images . . . . . . . . . . . . . . . . . . . . . . . . 112
Transparency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Opaque Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Transparent Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Working Some Masking Magic . . . . . . . . . . . . . . . . . . . . . . . . 119
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Chapter 6 Simple Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125


Programming Simple Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Basic Game Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
The ImageEntity Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Creating a Reusable Sprite Class . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Collision Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Sprite Class Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Testing the Sprite Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Contents ix

Chapter 7 Sprite Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141


Sprite Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Animation Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Drawing Individual Frames . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Keeping Track of Animation Frames . . . . . . . . . . . . . . . . . . . . 145
Testing Sprite Animation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Encapsulating Sprite Animation in a Class . . . . . . . . . . . . . . . . 151
Testing the New AnimatedSprite Class . . . . . . . . . . . . . . . . . . . 156
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

Chapter 8 Keyboard and Mouse Input . . . . . . . . . . . . . . . . . . . . . . 161


Listening to the User . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Keyboard Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Listening for Keyboard Events . . . . . . . . . . . . . . . . . . . . . . . . . 162
Testing Keyboard Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Mouse Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166
Reading Mouse Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Detecting Mouse Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Testing Mouse Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Chapter 9 Sound Effects and Music . . . . . . . . . . . . . . . . . . . . . . . . 175


Playing Digital Sample Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Getting Started with Java Sound . . . . . . . . . . . . . . . . . . . . . . . 177
Playing Sounds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Playing MIDI Sequence Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
Loading a MIDI File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Playing Music . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
x Contents

Reusable Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189


The SoundClip Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
The MidiSequence Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Chapter 10 Timing and the Game Loop . . . . . . . . . . . . . . . . . . . . . . 199


The Potency of a Game Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
A Simple Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Overriding Some Default Behaviors . . . . . . . . . . . . . . . . . . . . . 203
Feeling Loopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Stepping Up to Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Starting and Stopping the Thread . . . . . . . . . . . . . . . . . . . . . . 204
The ThreadedLoop Program . . . . . . . . . . . . . . . . . . . . . . . . . . 205
Examining Multithreading . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Exercise 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
Exercise 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

PART III THE GALACTIC WAR PROJECT . . . . . . . . . . . . . . . . . . . . . . . 211


Chapter 11 Galactic War: From Vectors to Bitmaps . . . . . . . . . . . . . 213
Improving the Game . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Generalizing the Vector Classes . . . . . . . . . . . . . . . . . . . . . . . . 214
The Main Source Code File: GalacticWar.java . . . . . . . . . . . . . . 217
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

Chapter 12 Galactic War: Sprites and Collision Boxes . . . . . . . . . . . . 225


Creating the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
The Galactic War Bitmaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
The New and Improved Source Code . . . . . . . . . . . . . . . . . . . . 228
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
Contents xi

Chapter 13 Galactic War: Squashed by Space Rocks . . . . . . . . . . . . . 245


Being Civilized about Collisions . . . . . . . . . . . . . . . . . . . . . . . . . . 245
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

Chapter 14 Galactic War: Entity Management . . . . . . . . . . . . . . . . . 253


Adjusting to Event-Driven Programming . . . . . . . . . . . . . . . . . . . . 254
Exploring the Class Library . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Building the New Game Class . . . . . . . . . . . . . . . . . . . . . . . . . 256
Enhancing Galactic War . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Exploring the New Galactic War Source Code . . . . . . . . . . . . . 268
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294

Chapter 15 Galactic War: Finishing the Game . . . . . . . . . . . . . . . . . 295


Let’s Talk about Power-Ups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Ship and Bonus-Point Power-Ups . . . . . . . . . . . . . . . . . . . . . . . 296
Weapon Upgrades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Enhancing Galactic War . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
New Sprite Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
New Game States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
New Sprite Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Health/Shield Meters, Score, Firepower, and Game
State Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
New Input Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Sound and Music Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Loading Media Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Game State Issue—Resetting the Game . . . . . . . . . . . . . . . . . . 308
Detecting the Game-Over State . . . . . . . . . . . . . . . . . . . . . . . . 309
Screen Refresh Updates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Preparing to End . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
Updating New Sprites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
Grabbing Power-Ups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
New Input Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Spawning Power-Ups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
Making the Shield Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
Making Use of Weapon Upgrade Power-Ups . . . . . . . . . . . . . . 324
Tallying the Score . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
xii Contents

What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328


Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
On Your Own . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

Chapter 16 Galactic War: Web Deployment . . . . . . . . . . . . . . . . . . . 331


Packaging an Applet in a Java Archive (JAR) . . . . . . . . . . . . . . . . 331
Using the jar.exe Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Packaging Galactic War in a Java Archive . . . . . . . . . . . . . . . . 334
Creating an HTML Host File for Your Applet . . . . . . . . . . . . . . . . 338
A Simple HTML File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Testing the Deployed Applet Game . . . . . . . . . . . . . . . . . . . . . 339
What You Have Learned . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
Epilogue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342

Appendix Chapter Quiz Answers . . . . . . . . . . . . . . . . . . . . . . . . . 345

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Introduction

This book will teach you how to create games with the awesome Java language.
Previous editions emphasized the casual game market with chapter projects
designed to run in AppletViewer or in a web browser. While still relevant, the
code in this new edition is a bit simpler, using a JFrame more often instead of an
applet, so that examples can be run as a Java application. Some chapters still
feature applet projects, while many others are now JFrame-based applications.
The final Galactic War project in Part III is still an applet, since a focus of the book
is an emphasis on the casual game market. Game programming is a challenging
subject, and it can be difficult to figure out how to get started. This book takes
away some of the mystery of game programming by explaining how to create a
game in Java. I assume that you have a little Java programming experience, but if
you have never used Java before you should be able to keep up. Chapter 2 provides
a quick summary of the language.
This book takes the approach that we can have fun while learning how to program
games. Typing in long source code listings out of a book is not fun, so I don’t ask
you to do that very much. Instead, you will learn to write short programs that
demonstrate the major topics, and over time you will get the hang of it. There is
no memorization required here, as I’m a firm believer that repetition and practice
is the best way to learn, not theory and memorization.

xiii
xiv Introduction

Definition
Java is a programming language, invented by Sun Microsystems, now owned by Oracle, and
largely maintained as a loosely constrained community project. The primary design goal of Java
was to build runtime binary files that will run on any computer system in the world without being
recompiled. This “compile one, run many” philosophy works! The Java compiler creates a
bytecode binary file containing virtual machine instructions that the JRE (Java Runtime Envir-
onment) can execute on any computer system on which it is installed.

You will learn how to write a simple Java program in the first chapter. From there,
you will learn the details of how to write games that will run in a web browser or as
an application. We cover source code at a pace that will not leave you behind. By
the end of this book, you will have learned to create a complete game called
Galactic War, and will be able to deploy it to your website in a Java Archive (JAR)
file. I’m not talking about some half-baked simulation posing as a game. I’m
talking about a high-quality game, suitable for publishing in the casual game
market. There are thousands of casual gamers who are paying to download games
of this type from the many casual game sites on the web today—such as Real
Arcade (now www.GameHouse.com). By learning how to create a casual game,
you may even be preparing for a career in the game industry, developing games
for Microsoft Xbox Live Arcade and other commercial endeavors.

Definition
Web-based games are video games that are installed on a website and run in a web browser, so
that the end-users do not need to install the game. Some games are able to store high-score lists
and player data on the web server. The most popular type of web game is a “Casual Game” such
as Farmville on Facebook.

While we’re on the subject of casual games, you can even program your own Xbox
360 games, distributed on Xbox Live Arcade, using Microsoft’s free XNA Game
Studio Express software. Although this subject is beyond the scope of this book, I
bring it up because Microsoft’s C# language is unabashedly similar to Java. I have
another book on this subject titled XNA Game Studio 4.0 for Xbox 360 Developers
that you might want to check out.
It all begins here! Are you serious about this subject and willing to learn? As a
course developer and instructor of game development, I am scrutinized daily by
students who eat, drink, and breathe video games. I cannot create something that
stinks or I’ll never hear the end of it! So I am as motivated to teach you cutting-
edge game development techniques here as I am in a real classroom setting, by
Introduction xv

students who are paying a lot more than the retail cost of this book to learn these
concepts. I have used this book in several Java courses already, so you are guar-
anteed high-quality material in these pages that will not be a waste of your time. In
other words, this book has already been through the flames of scrutiny twice
before, so you are guaranteed a solid read and good, working code.

What Will You Learn in This Book?


This book will teach you the difference between Java applications and applets
(which run in a web browser). You will then learn about Java’s graphics classes
and begin writing graphics code. You will learn how to get input from the user,
and how to play sound effects and music—all within the context of an online
game. From there, the sky’s the limit! Figure 1 shows the game you will learn to
create in this book. Starting with the basics (and I’m talking about extreme basics
here!), you will write a simple 2D game using vector graphics (using lines and
filled polygons).

Figure 1
You will learn how to create this game from scratch!
xvi Introduction

You will then learn new techniques in each chapter, such as how to load a bitmap
file and render it on the 2D applet window using Java 2D classes like Graphics2D.
You will eventually put the handful of game-related classes together in an event-
driven game engine. As you can see from this screenshot, the final game uses some
attractive artwork and is chock full of small details! You will learn about simple
bitmaps and then sprites before getting into animation. Along the way, you will
learn how to use Java’s advanced 2D library to rotate and scale sprites, and I’ll
show you some interesting code that moves bullets, power-ups, asteroids, and
other game objects on the screen smoothly and realistically. The end result is a
professional sprite-based game engine that packs a serious punch! By learning
how to create this retail-quality casual game, you will have learned enough to
create your own games, suitable for sale in the casual game market (where games
are played over the web).

Definition
An applet is a limited type of Java program designed to run in a web browser. Due to security
restrictions, an applet is not able to access the file system on a user’s PC like a Java application,
which is installed like any other application software.

Since this book is dedicated to teaching the basics of game programming, it will
cover a lot of subjects very quickly, so you’ll need to read the chapters of this book
sequentially for best results. I use a casual writing style to make the subjects easy to
understand and use repetition rather than memorization to nail the points home.
You will learn by practice and will not need to struggle with any one subject,
because you will use them several times throughout the book. Each chapter builds
on the one before. The Galactic War game developed in Part III refers back to
previous chapters, so I recommend reading one chapter at a time, in order, to fully
understand everything that is going on. I tend to just use code after explaining
how it works the first time, and often do not explain something over and over
again because the book moves along at a brisk pace. We have a lot to cover in a
limited amount of space, so I recommend reading the book from start to finish.

What about the Programming Language?


This book is about game programming, and it assumes that you already know at
least some Java. I recommend that you acquire a Java primer to read before
delving into this book, or to keep handy for those parts that may confuse you. For
Introduction xvii

starters, you can pick up Java Programming for the Absolute Beginner, by Joseph
P. Russell (Cengage Learning). We do not utilize any advanced features of Java SE 6,
even though this is the latest version of Java, so if you are new to the language you
should be able to make the best of it by following along.
While covering some of the basics over the first three chapters, you’ll have created
a complete casual game in Java that runs in a web browser, which will be a
milestone as well as a measure of your own skill level at that point. As I men-
tioned, this book is not a primer on the Java language, but rather, makes use of this
very capable, high-level language to create games. You will find the code in this
book much easier to understand if you have at least read a primer on the subject.
We discuss game programming, not basic Java programming.
All of the projects in this book will compile with the Java SE 6 development kit.
While later versions (such as Java SE 7) will compile the code, older versions of
Java may complain about classes or methods that are not recognized.

What IDE Should You Use?


You will be able to compile the programs in this book using the javac.exe pro-
gram, and will run the programs using appletviewer.exe. We use an awesome little
editor called TextPad that can tie in to these command-line tools to compile and
run your Java code. We also explore and use NetBeans as an alternative devel-
opment environment (if you’re looking for a more professional experience).
The first version of this book focused on a professional IDE (Integrated Devel-
opment Environment) called JBuilder to help organize Java game projects.
However, much has changed in the five years since the first edition came out.
Borland JBuilder Foundation was a free trial version of JBuilder, and we were able
to support the 2005 and 2006 versions at the time. But Borland sold its develop-
ment tools division to Embarcadero, and it is a proprietary tool now for enterprise
development. We simply do not need to use commercial software to build Java
code—there are some great options in open source software today!
If a revision is meant to update a book, then it may seem odd to step away from
using a professional IDE. But that is exactly what many professional Java pro-
grammers are doing—utilizing a simple text editor and the Java SE 6 development
kit directly. There are many reasons why this is preferable, and the best expla-
nation may be a desire to avoid the adoption of any single IDE since there are no
standard project files in the industry, and each one is dramatically different. I
xviii Introduction

recommend using NetBeans or TextPad. NetBeans is absolutely free and fully


featured, but it’s kind of large and complex. TextPad is not free, but it is very
inexpensive (under $30) and has the great advantage of being lightweight and
simple. The main advantage to NetBeans is the programmer pop-up help built
into the editor that shows function parameters and class member lists. For those
who prefer Eclipse, we do spend some time with that IDE as well.
Avoiding any single IDE allows us to focus more on the Java code and this helps
with cross-platform development. The code in this book will compile and run on
the following systems:
n Windows (x86, x64, Itanium)
n Linux (x86, x64, Itanium)
n Solaris (SPARC, x86, x64)

Definition
Cross-platform development is the ability to compile and run the same code on many different
computer systems. Java code and executable files are supported on many platforms. You do not
need to recompile your Java code for every system, as the same .class file will run on all of them!

Due to this extensive list of supported operating systems, it is obvious why we


would not want to limit ourselves to a single IDE, but would prefer to support all
of these systems. As a consequence, none of the source code in the book resource
files include any project files, but merely source code files and assets (image and
sound files).

Tip
You will be using Java SE 6 (i.e. “Java Standard Edition 6”), which is the lightweight version of
Java best suited for creating standalone and web-based games. Our text editor of choice is
TextPad 5.0, which can compile your Java source code files with a macro key.

TextPad is a small, easy-to-use source code editor that recognizes the Java
Development Kit and is able to compile your Java code with a simple macro
(Ctrlþ1). By using TextPad as our “IDE”, you’ll be working directly with the file
system on your hard drive rather than a virtual project manager (such as the one
in NetBeans). In TextPad, you’ll see the actual files on your drive, and there is no
concept of “adding” files to a “project” because you are working with your source
Introduction xix

files directly. I recommend purchasing a license of TextPad from www.textpad.


com. Sure, there are free editors available, but none that I have found with the
feature set and stability of TextPad. For example, two freeware products, Pro-
grammer’s Notepad and Notepadþþ, both seem to have stability problems in
Windows 7.

Conventions Used in This Book


The following styles are used in this book to highlight portions of text that are
important. You will find these highlighted boxes here and there throughout the
book.

Note
This is what a note looks like. Notes are additional information related to the text.

Tip
This is what a tip looks like. Tips give you pointers in the current tutorial being covered.

Caution
This is what a caution looks like. Cautions provide you with guidance and what to do or not do in
a given situation.

Definition
This is what a definition looks like. Definitions will explain the meaning behind a technical concept
or word.

Companion Web Site Downloads


You may download the companion website files from www.courseptr.com/
downloads. Please note that you will be redirected to our Cengage Learning site.
Discovering Diverse Content Through
Random Scribd Documents
LE PLUS BEAU DINER
DU MONDE!
Un coup du
Commandeur! un coup
de Jarnac!
(Vieux dicton.)

Xanthus, le maître d’Ésope, déclara,


sur la suggestion du fabuliste, que, s’il
avait parié qu’il boirait la mer, il n’avait
point parié de boire les fleuves qui
«entrent dedans», pour me servir de
l’aimable français de nos traducteurs
universitaires.
Certes, une telle échappatoire était
fort avisée; mais, l’Esprit de progrès
aidant, ne saurions-nous en trouver,
aujourd’hui, d’équivalentes? de tout aussi
ingénieuses?—Par exemple:
«Retirez, au préalable, les poissons,
qui ne sont point compris dans la
gageure; filtrez!—Défalcation faite de ces
derniers, la chose ira de soi.»
Ou, mieux encore:
«J’ai parié que je boirai la mer! bien;
mais pas d’un seul trait! Le sage doit ne
jamais précipiter ses actions: je bois
lentement. Ce sera donc, simplement,
une goutte, n’est-ce pas? chaque
année.»
Bref, il est peu d’engagements qu’on
ne puisse tenir d’une certaine façon... et
cette façon pourrait être qualifiée de
philosophique.

—«Le plus beau dîner du monde!»


Telles furent les expressions dont se
servit, formellement, Me Percenoix,
l’ange de l’Emphytéose, pour définir,
d’une façon positive, le repas qu’il se
proposait d’offrir aux notabilités de la
petite ville de D***, où son étude
florissait depuis trente ans et plus.
Oui. Ce fut au cercle,—le dos au feu,
les basques de son habit sous les bras,
les mains dans les poches, les épaules
tendues et effacées, les yeux au ciel, les
sourcils relevés, les lunettes d’or sur les
plis de son front, la toque en arrière, la
jambe droite repliée sur la gauche et la
pointe de son soulier verni touchant à
peine à terre,—qu’il prononça ces
paroles.
Elles furent soigneusement notées en
la mémoire de son vieux rival, Me
Lecastelier, l’ange du Paraphernal, lequel,
assis en face de Me Percenoix, le
considérait d’un œil venimeux, à l’abri
d’un vaste abat-jour vert.
Entre ces deux collègues, c’était une
guerre sourde depuis le lointain des
âges! Le repas devenait le champ de
bataille longuement étudié par Me
Percenoix et proposé par lui pour en finir.
Aussi Me Lecastelier, forçant à sourire
l’acier terni de sa face de couteau-
poignard, ne répondit-il rien, sur le
moment. Il se sentait attaqué. C’était
l’aîné: il laissait Percenoix, son cadet,
parler et s’engager comme une petite
folle.—Sûr de lui (mais prudent!), il
voulait, avant d’accepter la lutte, se
rendre un compte méticuleux des
positions et des forces de l’ennemi.
Dès le lendemain, toute la petite ville
de D*** fut en rumeur. On se demandait
quel serait le menu du dîner.
Évoquant des sauces oubliées, le
receveur particulier se perdait en
conjectures. Le sous-préfet calculait et
prophétisait des suprêmes de phénix
servis sur leurs cendres;—des
phénicoptères inconnus voletaient dans
ses rêves. Il citait Apicius.
Le conseil municipal relisait Pétrone,
le critiquait. Les notables disaient: «Il
faut attendre», et calmaient un peu
l’effervescence générale. Tous les invités,
sur l’avis du sous-préfet, prirent des
amers huit jours à l’avance.
Enfin, le grand jour arriva.
La maison de Me Percenoix était sise
près des Promenades, à une portée de
fusil de celle de son rival.
Dès quatre heures du soir, une haie
s’était formée, devant la porte, sur deux
rangs, pour voir venir les convives. Au
coup de six heures, on les signala.
L’on s’était rencontré aux
Promenades, comme par hasard, et l’on
arrivait ensemble.
Il y avait, d’abord, le sous-préfet,
donnant le bras à madame Lecastelier;
puis le receveur particulier et le directeur
de la poste; puis trois personnes d’une
haute influence; puis le docteur, donnant
le bras au banquier; puis une célébrité,
l’Introducteur du phylloxera en France;
puis le proviseur du lycée, et quelques
propriétaires fonciers. Me Lecastelier
fermait la marche, prisant, parfois, d’un
air méditatif.
Ces messieurs étaient en habit noir,
en cravate blanche, et montraient une
fleur à leur boutonnière: madame
Lecastelier, maigre, était en robe de soie
couleur souris-qui-trotte, un peu
montante.
Arrivés devant le portail, et à l’aspect
des panonceaux qui brillaient des feux
du couchant, les convives se
retournèrent vers l’horizon magique: les
arbres lointains s’illuminaient; les oiseaux
s’apaisaient dans les vergers voisins.
—Quel sublime spectacle! s’écria
l’Introducteur du phylloxera en
embrassant, du regard, l’Occident.
Cette opinion fut partagée par les
convives, qui humèrent, un instant, les
beautés de la Nature, comme pour en
dorer le dîner.
L’on entra. Chacun retint son pas
dans le vestibule, par dignité.
Enfin, les battants de la salle à
manger s’entr’ouvrirent. Percenoix, qui
était veuf, s’y tenait seul, debout, affable.
—D’un air à la fois modeste et vainqueur,
il fit le geste circulaire de prendre place.
De petits papiers portant le nom des
convives étaient placés, comme des
aigrettes, sur les serviettes pliées en
forme de mitre. Madame Lecastelier
compta du regard les convives, espérant
que l’on serait treize à table: l’on était
dix-sept.—Ces préliminaires terminés, le
repas commença, d’abord silencieux; on
sentait que les convives se recueillaient
et prenaient, comme on dit, leur élan.
La salle était haute, agréable, bien
éclairée; tout était bien servi. Le dîner
était simple: deux potages, trois entrées,
trois rôtis, trois entremets, des vins
irréprochables, une demi-douzaine de
plats divers, puis le dessert.
Mais tout était exquis!
De sorte que, en y réfléchissant, le
dîner, eu égard aux convives et à leur
nature, était, précisément, pour eux «le
plus beau dîner du monde!» Autre chose
eût été de la fantaisie, de l’ostentation,—
eût choqué. Un dîner différent eût, peut-
être, été qualifié d’atellane, eût éveillé
des idées d’inconvenance, d’orgie..., et
madame Lecastelier se fût levée. Le plus
beau dîner du monde n’est-il pas celui
qui est à la pleine satisfaction du goût de
ses convives?
Percenoix triomphait. Chacun le
félicitait avec chaleur.
Soudain, après avoir pris le café, Me
Lecastelier, que tout le monde regardait
et plaignait sincèrement, se leva, froid,
austère, et, avec lenteur, prononça ces
paroles—au milieu d’un silence de mort:
—J’en donnerai un plus beau l’année
prochaine.
Puis, saluant, il sortit avec sa femme.
Me Percenoix s’était levé. Il calma,
par son air digne, l’inexprimable agitation
des convives et le brouhaha qui s’était
produit après le départ des Lecastelier.
De toutes parts, les questions se
croisaient:

—Comment ferait-il pour en donner


un plus beau l’année prochaine, puisque
CELUIde maître Percenoix était le plus
beau dîner du monde?
—Projet absurde!
—Équivoque?
—Inqualifiable!
—Non avenu...
—Risible!!!
—Puéril...
—Indigne d’un homme de sens!
—La passion l’avait emporté;—l’âge,
peut-être!
On rit beaucoup.—L’introducteur du
phylloxera, qui, pendant le festin, avait
fait des mamours à madame Lecastelier,
ne tarissait pas en épigrammes:
—Ah! ah! En vérité!... Un plus beau!
—Et comment cela?—Oui, comment
cela?... La chose était des plus gaies!
Il ne tarissait pas.
Me Percenoix se tenait les côtes.
Cet incident termina joyeusement le
banquet. Portant aux nues l’amphitryon,
les convives, bras dessus bras dessous,
s’élancèrent à la débandade hors de la
maison, précédés des lanternes de leurs
domestiques. Ils n’en pouvaient plus de
rire devant l’idée saugrenue,
présomptueuse même, et qui ne pouvait
se discuter, de vouloir donner «un plus
beau dîner que le plus beau dîner du
monde».

Ils passèrent ainsi, fantastiques et


hilares, dans la haie qui les avait
attendus à la porte pour avoir des
nouvelles.
Puis—chacun rentra chez soi.
Me Lecastelier eut une indigestion
épouvantable. On craignit pour ses jours.
Et Percenoix, qui ne «voulait pas la mort
du pécheur», et qui, d’ailleurs, espérait
encore jouir, l’année suivante, du fiasco
que ferait, nécessairement, son collègue,
envoyait quotidiennement prendre le
bulletin de la santé du digne tabellion. Ce
bulletin fut inséré dans la feuille
départementale, car tout le monde
s’intéressait au pari imprudent: on ne
parlait que du dîner. Les convives ne
s’abordaient qu’en échangeant des mots
à voix basse. C’était grave, très grave:
l’honneur de l’endroit était en jeu.

Pendant toute l’année, Me Lecastelier


se déroba aux questions. Huit jours
avant l’anniversaire, ses invitations furent
lancées. Deux heures après la tournée
matinale du facteur, ce fut un branle-bas
extraordinaire dans la ville. Le sous-
préfet crut immédiatement de son devoir
de renouveler la tournée des amers, par
esprit d’équité.
Quand vint le soir du grand jour, les
cœurs battaient. Ainsi que l’année
précédente, les convives se
rencontrèrent aux Promenades, comme
par hasard. L’avant-garde fut signalée à
l’horizon par les cris de la haie
enthousiaste.
Et le même ciel empourprait, à
l’Occident, la ligne des beaux arbres,
lesquels étaient de magnifiques pieds de
hêtre appartenant, par préciput et hors
part, à Me Percenoix.
Les convives admirèrent tout cela de
nouveau. Puis, l’on entra chez M. et
madame Lecastelier, et l’on pénétra dans
la salle à manger. Une fois assis, après
les cérémonies, les convives, en
parcourant le menu d’un œil sévère,
s’aperçurent, avec une stupeur
menaçante, que c’était le MÊME dîner!
Étaient-ils mystifiés? A cette idée, le
sous-préfet fronça le sourcil et fit, en lui-
même, ses réserves.
Chacun baissa les yeux, ne voulant
point (par ce sentiment de courtoisie, de
tact parfait, qui distingue les personnes
de province), laisser éprouver à
l’amphitryon et à sa femme l’impression
du profond mépris que l’on ressentait
pour eux.
Percenoix ne cherchait même pas à
dissimuler la joie d’un triomphe qu’il crut
désormais assuré. Et l’on déplia les
serviettes.
O surprise! Chacun trouvait sur son
assiette,—quoi?...—ce qu’on appelle un
jeton de présence,—une pièce de vingt
francs.
Instantanément, comme si une bonne
fée eût donné un coup de baguette, il y
eut une sorte de «passez, muscade!»
général, et tous les «jaunets»
disparurent dans l’enchantement d’une
rapidité inconnue.
Seul, l’Introducteur du phylloxera,
préoccupé d’un madrigal, n’aperçut le
napoléon de son assiette qu’un bon
moment après les autres.—Il y eut là un
retard.—Aussi, d’un air gauche,
embarrassé, et avec un sourire d’enfant,
murmura-t-il du côté de sa voisine,
quelques vagues paroles qui sonnèrent
comme une petite sérénade:
—Suis-je étourdi! quelle
inadvertance!—J’ai failli laisser tomber...
maudite poche!... Cependant, c’est celle
qui a introduit en France... On perd
souvent, faute de précautions... l’on met
son argent dans un gousset, par
mégarde; puis, au moindre faux
mouvement,—en déployant sa serviette,
par exemple,—vlan! crac! bing! bonsoir!
Madame Lecastelier sourit, en fine
mouche.
—Distraction des grands esprits!...
dit-elle.
—Ne sont-ce pas les beaux yeux qui
les causent? répondit galamment le
célèbre savant, en remettant dans sa
poche de montre, avec une négligence
enjouée, la belle pièce d’or qu’il avait
failli perdre.
Les femmes comprennent tout ce qui
est délicatesse,—et, tenant compte de
l’intention qu’avait eue l’Introducteur du
phylloxera, madame Lecastelier lui fit la
gracieuseté de rougir deux ou trois fois
pendant le dîner, alors que le savant, se
penchant vers elle, lui parlait à voix
basse.
—Paix, monsieur Redoubté!—
murmurait-elle.
Percenoix, en vraie tête de linotte, ne
s’était aperçu de rien et n’avait rien eu;—
il jasait, en ce moment-là, comme une
pie borgne, et s’écoutait lui-même, les
yeux au plafond.
Le dîner fut brillant, très brillant. La
politique des cabinets de l’Europe y fut
analysée: le sous-préfet dut même
regarder silencieusement, plusieurs fois,
les trois personnes d’une haute
influence, et celles-ci, pour lesquelles la
Diplomatie n’avait dès longtemps plus
d’arcanes, détournèrent les chiens par
une volée de calembours qui firent l’effet
de pétards. Et la joie des convives fut à
son comble quand on servit le nougat,
qui représentait, comme l’année
précédente, la petite ville de D*** elle-
même.
Vers les neuf heures de la soirée,
chaque invité, en remuant discrètement
le sucre dans sa tasse de café, se tourna
vers son voisin. Tous les sourcils étaient
haussés et les yeux avaient cette
expression atone propre aux personnes
qui, après un banquet, vont émettre une
opinion.
—C’est le même dîner?
—Oui, le même.
Puis, après un soupir, un silence et
une grimace méditative:
—Le même, absolument.
—Cependant, n’y avait-il pas quelque
chose?...
—Oui, oui, il y avait quelque chose!
—Enfin,—là,—il est plus beau!
—Oui, c’est curieux. C’est le même...
et, cependant, il est plus beau!
—Ah! voilà qui est particulier!
Mais en quoi était-il plus beau?
Chacun se creusait inutilement la
cervelle.
On se croyait, tout à coup, le doigt
sur le point précis qui légitimait cette
impression indéfinissable de différence
que chacun ressentait—et l’idée, rebelle,
s’enfuyait comme une Galathée qui ne
voudrait pas être vue.
Puis on se sépara, pour mûrir le
problème plus librement.
Et, depuis lors, toute la petite ville de
D*** est en proie à l’incertitude la plus
lamentable. C’est comme une fatalité!...
Personne ne peut éclaircir le mystère qui
pèse encore aujourd’hui sur le festin
victorieux de Me Lecastelier.
Me Percenoix, quelques jours après,
étant plongé dans cette préoccupation,—
glissa dans son escalier et fit une chute
dont il décéda.—Lecastelier le pleura
bien amèrement.
Aujourd’hui, durant les longues
soirées d’hiver, soit à la sous-préfecture,
soit à la recette particulière, on parle, on
devise, on se demande, on rêve, et le
thème éternel est remis sur le tapis. On y
renonce!... On arrive bien à un cheveu
près, comme à l’aide d’une 168e
décimale, puis l’x du rapport se recule
indéfiniment, entre ces deux affirmations
à confondre l’Esprit-humain,—mais qui
constituent le Symbole des préférences
indiscutables de la Conscience-publique,
sous la voûte des cieux:

Le même... et, cependant, plus beau!


LE DÉSIR D’ÊTRE UN
HOMME
A Monsieur Catulle Mendès.

«Un de ces hommes


devant lesquels la Nature
peut se dresser et dire:
«Voilà un Homme!»
Shakespeare, Jules César.

Minuit sonnait à la Bourse, sous un ciel


plein d’étoiles. A cette époque, les exigences
d’une loi militaire pesaient encore sur les
citadins et, d’après les injonctions relatives
au couvre-feu, les garçons des
établissements encore illuminés
s’empressaient pour la fermeture.
Sur les boulevards, à l’intérieur des cafés,
les papillons de gaz des girandoles
s’envolaient très vite, un à un, dans
l’obscurité. L’on entendait du dehors le
brouhaha des chaises portées en quatuors
sur les tables de marbre; c’était l’instant
psychologique où chaque limonadier juge à
propos d’indiquer, d’un bras terminé par une
serviette, les fourches caudines de la porte
basse aux derniers consommateurs.
Ce dimanche-là sifflait le triste vent
d’octobre. De rares feuilles jaunies,
poussiéreuses et bruissantes, filaient dans
les rafales, heurtant les pierres, rasant
l’asphalte, puis, semblances de chauves-
souris, disparaissaient dans l’ombre, éveillant
ainsi l’idée de jours banals à jamais vécus.
Les théâtres du boulevard du Crime où,
pendant la soirée, s’étaient entre-poignardés
à l’envi tous les Médicis, tous les Salviati et
tous les Montefeltre, se dressaient, repaires
du Silence, aux portes muettes gardées par
leurs cariatides. Voitures et piétons, d’instant
en instant, devenaient plus rares; çà et là,
de sceptiques falots de chiffonniers luisaient
déjà, phosphorescences dégagées par les
tas d’ordures au-dessus desquels ils erraient.
A la hauteur de la rue Hauteville, sous un
réverbère à l’angle d’un café d’assez
luxueuse apparence, un grand passant à
physionomie saturnienne, au menton glabre,
à la démarche somnambulesque, aux longs
cheveux grisonnants sous un feutre genre
Louis XIII, ganté de noir sur une canne à
tête d’ivoire et enveloppé d’une vieille
houppelande bleu de roi, fourrée de douteux
astrakan, s’était arrêté comme s’il eût
machinalement hésité à franchir la chaussée
qui le séparait du boulevard Bonne-Nouvelle.
Ce personnage attardé regagnait-il son
domicile? Les seuls hasards d’une
promenade nocturne l’avaient-ils conduit à
ce coin de rue? Il eût été difficile de le
préciser à son aspect. Toujours est-il qu’en
apercevant tout à coup, sur sa droite, une
de ces glaces étroites et longues comme sa
personne—sortes de miroirs publics
d’attenance, parfois, aux devantures
d’estaminets marquants—il fit une halte
brusque, se campa, de face, vis-à-vis de son
image et se toisa, délibérément, des bottes
au chapeau. Puis, soudain, levant son feutre,
d’un geste qui sentait son autrefois, il se
salua non sans quelque courtoisie.
Sa tête, ainsi découverte à l’improviste,
permit alors de reconnaître l’illustre
tragédien Esprit Chaudval, né Lepeinteur, dit
Monanteuil, rejeton d’une très digne famille
de pilotes malouins et que les mystères de la
Destinée avaient induit à devenir grand
premier rôle de province, tête d’affiche à
l’étranger et rival (souvent heureux) de notre
Frédérick-Lemaître.
Pendant qu’il se considérait avec cette
sorte de stupeur, les garçons du café voisin
endossaient les pardessus aux derniers
habitués, leur désaccrochaient les chapeaux;
d’autres renversaient bruyamment le
contenu des tirelires de nickel et empilaient
en rond sur un plateau le billon de la
journée. Cette hâte, cet effarement
provenaient de la présence menaçante de
deux subits sergents de ville qui, debout sur
le seuil et les bras croisés, harcelaient de
leur froid regard le patron retardataire.
Bientôt les auvents furent boulonnés
dans leurs châssis de fer,—à l’exception du
volet de la glace qui, par une inadvertance
étrange, fut omis au milieu de la
précipitation générale.
Puis le boulevard devint très silencieux.
Chaudval seul, inattentif à toute cette
disparition, était demeuré dans son attitude
extatique au coin de la rue Hauteville, sur le
trottoir, devant la glace oubliée.
Ce miroir livide et lunaire paraissait
donner à l’artiste la sensation que celui-ci
eût éprouvée en se baignant dans un étang;
Chaudval frissonnait.
Hélas! disons-le, en ce cristal cruel et
sombre, le comédien venait de s’apercevoir
vieillissant.
Il constatait que ses cheveux, hier encore
poivre et sel, tournaient au clair de lune;
c’en était fait! Adieu rappels et couronnes,
adieu roses de Thalie, lauriers de
Melpomène! Il fallait prendre congé pour
toujours avec des poignées de mains et des
larmes, des Ellevious et des Laruettes, des
grandes livrées et des rondeurs, des
Dugazons et des ingénues!
Il fallait descendre en toute hâte du
chariot de Thespis et le regarder s’éloigner
emportant les camarades! Puis, voir les
oripeaux et les banderoles qui, le matin,
flottaient au soleil jusque sur les roues,
jouets du vent joyeux de l’Espérance, les voir
disparaître au coude lointain de la route,
dans le crépuscule.
Chaudval, brusquement conscient de la
cinquantaine (c’était un excellent homme),
soupira. Un brouillard lui passa devant les
yeux; une espèce de fièvre hivernale le saisit
et l’hallucination dilata ses prunelles.
La fixité hagarde avec laquelle il sondait
la glace providentielle finit par donner à ses
pupilles cette faculté d’agrandir les objets et
de les saturer de solennité, que les
physiologistes ont constatée chez les
individus frappés d’une émotion très intense.
Le long miroir se déforma donc sous ses
yeux chargés d’idées troubles et atones. Des
souvenirs d’enfance, de plages et de flots
argentés, lui dansèrent dans la cervelle. Et
ce miroir, sans doute à cause des étoiles qui
en approfondissaient la surface, lui causa
d’abord la sensation de l’eau dormante d’un
golfe. Puis s’enflant encore, grâce aux
soupirs du vieillard, la glace revêtit l’aspect
de la mer et de la nuit, ces deux vieilles
amies des cœurs déserts.
Il s’enivra quelque temps de cette vision,
mais le réverbère qui rougissait la bruine
froide derrière lui, au-dessus de sa tête, lui
sembla, répercuté au fond de la terrible
glace, comme la lueur d’un phare couleur de
sang qui indiquait le chemin du naufrage au
vaisseau perdu de son avenir.
Il secoua ce vertige et se redressa, dans
sa haute taille, avec un éclat de rire nerveux,
faux et amer, qui fit tressaillir, sous les
arbres, les deux sergents de ville. Fort
heureusement pour l’artiste, ceux-ci, croyant
à quelque vague ivrogne, à quelque
amoureux déçu, peut-être, continuèrent leur
promenade officielle sans accorder plus
d’importance au misérable Chaudval.
—Bien, renonçons! dit-il simplement et à
voix basse, comme le condamné à mort qui,
subitement réveillé, dit au bourreau: «Je suis
à vous, mon ami.»
Le vieux comédien s’aventura, dès lors,
en un monologue, avec une prostration
hébétée.
—J’ai prudemment agi, continua-t-il,
quand j’ai chargé, l’autre soir, mademoiselle
Pinson, ma bonne camarade (qui a l’oreille
du ministre et même l’oreiller), de m’obtenir,
entre deux aveux brûlants, cette place de
gardien de phare dont jouissaient mes pères
sur les côtes ponantaises. Et, tiens! je
comprends maintenant l’effet bizarre que
m’a produit ce réverbère dans cette glace!...
C’était mon arrière-pensée.—Pinson va
m’envoyer mon brevet, c’est sûr. Et j’irai
donc me retirer dans mon phare comme un
rat dans un fromage. J’éclairerai les
vaisseaux au loin, sur la mer. Un phare! cela
vous a toujours l’air d’un décor. Je suis seul
au monde: c’est l’asile qui, décidément,
convient à mes vieux jours.
Tout à coup, Chaudval interrompit sa
rêverie.
—Ah ça! dit-il, en se tâtant la poitrine
sous sa houppelande, mais... cette lettre
remise par le facteur au moment où je
sortais, c’est sans doute la réponse?...
Comment! j’allais entrer au café pour la lire
et je l’oublie!—Vraiment, je baisse!—Bon! la
voici!
Chaudval venait d’extraire de sa poche
une large enveloppe, d’où s’échappa, sitôt
rompue, un pli ministériel qu’il ramassa
fiévreusement et parcourut, d’un coup d’œil,
sous le rouge feu du réverbère.
—Mon phare! mon brevet! s’écria-t-il.
«Sauvé, mon Dieu!» ajouta-t-il comme par
une vieille habitude machinale et d’une voix
de fausset si brusque, si différente de la
sienne qu’il en regarda autour de lui, croyant
à la présence d’un tiers.
—Allons, du calme et... soyons homme!
reprit-il bientôt.
Mais, à cette parole, Esprit Chaudval, né
Lepeinteur, dit Monanteuil, s’arrêta comme
changé en statue de sel; ce mot semblait
l’avoir immobilisé.
—Hein? continua-t-il après un silence.—
Que viens-je de souhaiter là?—D’être un
Homme?... Après tout, pourquoi pas?
Il se croisa les bras, réfléchissant.
—Voici près d’un demi-siècle que je
représente, que je joue les passions des
autres sans jamais les éprouver,—car, au
fond, je n’ai jamais rien éprouvé, moi.—Je ne
suis donc le semblable de ces «autres» que
pour rire!—Je ne suis donc qu’une ombre?
Les passions! les sentiments! les actes réels!
RÉELS! voilà,—voilà ce qui constitue l’Homme
proprement dit! Donc, puisque l’âge me
force de rentrer dans l’Humanité, je dois me
procurer des passions, ou quelque sentiment
réel..., puisque c’est la condition sine qua
non sans laquelle on ne saurait prétendre au
titre d’Homme. Voilà qui est solidement
raisonné; cela crève de bon sens.—
Choisissons donc d’éprouver celle qui sera le
plus en rapport avec ma nature enfin
ressuscitée.
Il médita, puis reprit mélancoliquement:
—L’Amour?... trop tard.—La Gloire?... je
l’ai connue!—L’Ambition?... Laissons cette
billevesée aux hommes d’État!
Tout à coup, il poussa un cri:
—J’y suis! dit-il: le Remords!...—voilà ce
qui sied à mon tempérament dramatique.
Il se regarda dans la glace en prenant un
visage convulsé, contracté, comme par une
horreur surhumaine.
—C’est cela! conclut-il: Néron! Macbeth!
Oreste! Hamlet! Érostrate!—Les spectres!...
Oh! oui! Je veux voir de vrais spectres, à
mon tour!—comme tous ces gens-là, qui
avaient la chance de ne pas pouvoir faire un
pas sans spectres.
Il se frappa le front.
—Mais comment?... Je suis innocent
comme l’agneau qui hésite à naître?
Et, après un temps nouveau:
—Ah! qu’à cela ne tienne! reprit-il: qui
veut la fin veut les moyens!... J’ai bien le
droit de venir à tout prix ce que je devrais
être. J’ai droit à l’Humanité!—Pour éprouver
des remords il faut avoir commis des crimes?
Eh bien, va pour des crimes: qu’est-ce que
cela fait, du moment que ce sera pour...
pour le bon motif?—Oui...—Soit! (Et il se mit
à faire du dialogue:)—Je vais en perpétrer
d’affreux.—Quand?—Tout de suite. Ne
remettons pas au lendemain!—Lesquels?—
Un seul!... Mais grand!—mais extravagant
d’atrocité! mais de nature à faire sortir de
l’enfer toutes les Furies!—Et lequel?—
Parbleu, le plus éclatant... Bravo! J’y suis!
L’INCENDIE! Donc, je n’ai que le temps
d’incendier! de boucler mes malles! de
revenir, dûment blotti derrière la vitre de
quelque fiacre, jouir de mon triomphe au
milieu de la foule épouvantée! de bien
recueillir les malédictions des mourants,—et
de gagner le train du Nord-Ouest avec des
remords sur la planche pour le reste de mes
jours. Ensuite, j’irai me cacher dans mon
phare! dans la lumière! en plein Océan! où la
police ne pourra, par conséquent, me
découvrir jamais,—mon crime étant
désintéressé. Et j’y râlerai seul.—(Chaudval
ici se redressa, improvisant ce vers d’allure
absolument cornélienne:)
nti du soupçon par la grandeur du crime!

C’est dit.—Et, maintenant—acheva le


grand artiste en ramassant un pavé après
avoir regardé autour de lui pour s’assurer de
la solitude environnante—et maintenant, toi,
tu ne refléteras plus personne.
Et il lança le pavé contre la glace qui se
brisa en mille épaves rayonnantes.
Ce premier devoir accompli, et se
sauvant à la hâte—comme satisfait de cette
première mais énergique action d’éclat—
Chaudval se précipita vers les boulevards où,
quelques minutes après et sur ses signaux,
une voiture s’arrêta, dans laquelle il sauta et
disparut.
Deux heures après, les flamboiements
d’un sinistre immense, jaillissant de grands
magasins de pétrole, d’huiles et d’allumettes,
se répercutaient sur toutes les vitres du
faubourg du Temple. Bientôt les escouades
des pompiers, roulant et poussant leurs
appareils, accoururent de tous cotés, et leurs
trompettes, envoyant des cris lugubres,
réveillaient en sursaut les citadins de ce
quartier populeux. D’innombrables pas
précipités retentissaient sur les trottoirs: la
foule encombrait la grande place du
Château-d’Eau et les rues voisines. Déjà des
chaînes s’organisaient en hâte. En moins
d’un quart d’heure un détachement de
troupes formait cordon aux alentours de
l’incendie. Des policiers, aux lueurs
sanglantes des torches, maintenaient
l’affluence humaine aux environs.
Les voitures, prisonnières, ne circulaient
plus. Tout le monde vociférait. On distinguait
des cris lointains parmi le crépitement
terrible du feu. Les victimes hurlaient, saisies
par cet enfer, et les toits des maisons
s’écroulaient sur elles. Une centaine de
familles, celles des ouvriers de ces ateliers
qui brûlaient, devenaient, hélas! sans
ressource et sans asile.
Là-bas, un solitaire fiacre, chargé de
deux grosses malles, stationnait derrière la
foule arrêtée au Château-d’Eau. Et, dans ce
fiacre, se tenait Esprit Chaudval, né
Lepeinteur, dit Monanteuil; de temps à autre
il écartait le store et contemplait son œuvre.
—Oh! se disait-il tout bas, comme je me
sens en horreur à Dieu et aux hommes!—
Oui, voilà, voilà bien le trait d’un réprouvé!...
Le visage du bon vieux comédien
rayonnait.
—O misérable! grommelait-il, quelles
insomnies vengeresses je vais goûter au
milieu des fantômes de mes victimes! Je
sens sourdre en moi l’âme des Néron,
brûlant Rome par exaltation d’artiste! des
Érostrate, brûlant le temple d’Éphèse par
amour de la gloire!... des Rostopschine,
brûlant Moscou par patriotisme! des
Alexandre, brûlant Persépolis par galanterie
pour sa Thaïs immortelle!... Moi, je brûle par
devoir, n’ayant pas d’autre moyen
d’existence!—J’incendie parce que je me dois
à moi-même!... Je m’acquitte! Quel Homme
je vais être! Comme je vais vivre! Oui, je vais
savoir, enfin, ce qu’on éprouve quand on est
bourrelé.—Quelles nuits, magnifiques
d’horreur, je vais délicieusement passer!...
Ah! je respire! je renais!... j’existe!... Quand
je pense que j’ai été comédien!...
Maintenant, comme je ne suis, aux yeux
grossiers des humains, qu’un gibier
d’échafaud,—fuyons avec la rapidité de
l’éclair! Allons nous enfermer dans notre
phare, pour y jouir en paix de nos remords.
Le surlendemain au soir, Chaudval, arrivé
à destination sans encombre, prenait
possession de son vieux phare désolé, situé
sur nos côtes septentrionales: flamme en
désuétude sur une bâtisse en ruine, et
qu’une compassion ministérielle avait ravivée
pour lui.
A peine si le signal pouvait être d’une
utilité quelconque: ce n’était qu’une
superfétation, une sinécure, un logement
avec un feu sur la tête et dont tout le monde
pouvait se passer, sauf le seul Chaudval.
Donc le digne tragédien, y ayant
transporté sa couche, des vivres et un grand
miroir pour y étudier ses effets de
physionomie, s’y enferma, sur-le-champ, à
l’abri de tout soupçon humain.
Autour de lui se plaignait la mer, où le
vieil abîme des cieux baignait ses stellaires
clartés. Il regardait les flots assaillir sa tour
sous les sautes du vent, comme le Stylite
pouvait contempler les sables s’éperdre
contre sa colonne aux souffles du shimiel.
Au loin, il suivait, d’un regard sans
pensée, la fumée des bâtiments ou les voiles
des pêcheurs.
A chaque instant ce rêveur oubliait son
incendie.—Il montait et descendait l’escalier
de pierre.
Le soir du troisième jour, Lepeinteur,
disons-nous, assis dans sa chambre, à
soixante pieds au-dessus des flots, relisait
un journal de Paris où l’histoire du grand
sinistre, arrivé l’avant-veille, était retracée.
—Un malfaiteur inconnu avait jeté
quelques allumettes dans les caves de
pétrole. Un monstrueux incendie qui avait
tenu sur pied, toute la nuit, les pompiers et
le peuple des quartiers environnants, s’était
déclaré au faubourg du Temple.
Près de cent victimes avaient péri: de
malheureuses familles étaient plongées dans
la plus noire misère.
La place tout entière était en deuil, et
encore fumante.
On ignorait le nom du misérable qui avait
commis ce forfait et, surtout, le mobile du
criminel.
A cette lecture, Chaudval sauta de joie
et, se frottant fiévreusement les mains,
s’écria:
—Quel succès! Quel merveilleux scélérat
je suis! Vais-je être assez hanté? Que de
spectres je vais voir! Je savais bien que je
deviendrais un Homme!—Ah! le moyen a été
dur, j’en conviens! mais il le fallait!... il le
fallait!
En relisant la feuille parisienne, comme il
y était mentionné qu’une représentation
extraordinaire serait donnée au bénéfice des
incendiés, Chaudval murmura:
—Tiens! j’aurais dû prêter le concours de
mon talent au bénéfice de mes victimes!—
C’eût été ma soirée d’adieux.—J’eusse
déclamé Oreste. J’eusse été bien nature...
Là-dessus Chaudval commença de vivre
dans son phare.
Et les soirs tombèrent, se succédèrent, et
les nuits.
Une chose qui stupéfiait l’artiste se
passait. Une chose atroce!
Contrairement à ses espoirs et prévisions,
sa conscience ne lui criait aucun remords.
Nul spectre ne se montrait!—Il n’éprouvait
rien, mais absolument rien!...
Il n’en pouvait croire le Silence. Il n’en
revenait pas.
Parfois, en se regardant au miroir, il
s’apercevait que sa tête débonnaire n’avait
point changé.—Furieux, alors, il sautait sur
les signaux, qu’il faussait, dans la radieuse
espérance de faire sombrer au loin quelque
bâtiment, afin d’aider, d’activer, de stimuler
le remords rebelle!—d’exciter les spectres!
Peines perdues!
Attentats stériles! Vains efforts! Il
n’éprouvait rien. Il ne voyait aucun
menaçant fantôme. Il ne dormait plus, tant
le désespoir et la honte l’étouffaient.—Si bien
qu’une nuit, la congestion cérébrale l’ayant
saisi en sa solitude lumineuse, il eut une
agonie où il criait,—au bruit de l’océan et
pendant que les grands vents du large
souffletaient sa tour perdue dans l’infini:
—Des spectres!... Pour l’amour de
Dieu!... Que je voie, ne fût-ce qu’un spectre!
—Je l’ai bien gagné!
Mais le Dieu qu’il invoquait ne lui accorda
point cette faveur,—et le vieux histrion
expira, déclamant toujours, en sa vaine
emphase, son grand souhait de voir des
spectres...—sans comprendre qu’il était, lui-
même, ce qu’il cherchait.
FLEURS DE TÉNÈBRES
A Monsieur Léon Dierx.

«Bonnes gens, vous


qui passez, Priez pour
les trépassés!»
Inscription au bord d’un grand chemin.

O belles soirées! Devant les


étincelants cafés des boulevards, sur les
terrasses des glaciers en renom, que de
femmes en toilettes voyantes, que
d’élégants «flâneurs» se prélassent!
Voici les petites vendeuses de fleurs
qui circulent avec leurs corbeilles.
Les belles désœuvrées acceptent ces
fleurs qui passent, toutes cueillies,
mystérieuses...
—Mystérieuses?
—Oui, s’il en fut!
Il existe, sachez-le, souriantes
liseuses, il existe, à Paris même, certaine
agence sombre qui s’entend avec
plusieurs conducteurs d’enterrement
luxueux, avec des fossoyeurs même, à
cette fin de desservir les défunts du
matin en ne laissant pas inutilement
s’étioler, sur les sépultures fraîches, tous
ces splendides bouquets, toutes ces
couronnes, toutes ces roses, dont, par
centaines, la piété filiale ou conjugale
surcharge quotidiennement les
catafalques.
Ces fleurs sont presque toujours
oubliées après les ténébreuses
cérémonies. L’on n’y songe plus; l’on est
pressé de s’en revenir;—cela se
conçoit!...
C’est alors que nos aimables croque-
morts s’en donnent à cœur-joie. Ils
n’oublient pas les fleurs, ces messieurs!
Ils ne sont pas dans les nuages. Ils sont
gens pratiques. Ils les enlèvent par
brassées, en silence. Les jeter à la hâte
par-dessus le mur, dans un tombereau
propice, est pour eux l’affaire d’un
instant.
Deux ou trois des plus égrillards et
des plus dégourdis transportent la
précieuse cargaison chez des fleuristes
amies qui, grâce à leurs doigts de fées,
sertissent de mille façons, en maints
bouquets de corsage et de main, en
roses isolées, même, ces mélancoliques
dépouilles.
Les petites marchandes du soir alors
arrivent, nanties chacune de sa corbeille.
Elles circulent, disons-nous, aux
premières lueurs des réverbères, sur les
boulevards, devant les terrasses
brillantes et dans les mille endroits de
plaisir.
Et les jeunes ennuyés, jaloux de se
bien faire venir des élégantes pour
lesquelles ils conçoivent quelque
inclination, achètent ces fleurs à des prix
élevés et les offrent à ces dames.
Celles-ci, toutes blanches de fard, les
acceptent avec un sourire indifférent et
les gardent à la main,—ou les placent au
joint de leur corsage.
Et les reflets du gaz rendent les
visages blafards.
En sorte que ces créatures-spectres,
ainsi parées des fleurs de la Mort,
portent, sans le savoir, l’emblème de
l’amour qu’elles donnent et de celui
qu’elles reçoivent.
L’APPAREIL
POUR

L’ANALYSE CHIMIQUE
DU DERNIER SOUPIR
«Utile dulci.»
Flaccus.

C’en est fait!—Nos victoires sur la


Nature ne se comptent plus. Hosannah!
Plus même le temps d’y penser! Quel
triomphe!... A quoi bon penser, en effet?
—De quel droit?—Et puis: penser? au
fond, qu’est-ce que ça veut dire? Mots
que tout cela!... Découvrons à la hâte!
Inventons! Oublions! Retrouvons!
Recommençons et—passons! Ventre à
terre! Bah! le Néant saura bien
reconnaître les siens.
O magie! Voici qu’enfin les plus
subtils instruments de la Science
deviennent des jouets entre les mains
des enfants! Témoin le délicieux Appareil
du professeur Schneitzoëffer (junior), de
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookfinal.com

You might also like