|
This book offers an easy-to-follow, self-study introduction to games software development using DarkBASIC Professional - a programming language designed specifically for creating video games on a PC.
If you are new to programming or just want to find out how to write computer games, this text will get you started.
"Hands On DarkBASIC Pro delivers both detailed coverage and explanation of the commands, as well as essential development advice that will make your code cleaner, easier to debug and maintainable." -- Lee Bamber, DarkBASIC Professional Developer
Find out how to produce anything from a simple guessing game to a two-player, animated sprite space game. Use 3D positional sound and video. Create games that use the mouse or a joystick.
Fundamental software design and implementation is also covered. Find out how to design and create modular programs, how to create test data and construct software using bottom-up and top-down methods. Use arrays, files, and record structures.
The hands-on approach used throughout the book means that most of your time is spent at the computer creating programs. The numerous examples and exercises (with solutions included) lead you through both the basics and subtleties of the language. There are several complete games for you to study and modify. The code media from the book is available to download from the publishers web site.
This book is truly massive, both in scope and in size. With over 740 large-format pages (the book measures 11.5" x 8") everything is explained through clear explanations, example code, notes, screen shots and illustrations.
Volume 2 - Now Available
Volume 2 of this series is now available. It contains more advanced topics such as creating 3D graphics, textures, special effects, cameras, lights, internet access, and network programming. Read more here
Sample Pages
We have taken two pages from the book to demonstrate the layout, writing style and comprehensive nature of this title. You can view them on-line as JPEG files: Sample Page 1 (193 KB) and Sample Page 2 (147 KB). The print quality is of course far higher than the images displayed, correctly formatted by the type-setter and professionaly printed. We have also published the complete Table of Contents below.
|

| Publisher: |
Digital Skills |
| Author: |
Alistair Stewart |
| ISBN: |
1-874107-08-4 |
|
You can order Hands On DarkBASIC Professional Volume 1 online. The process is safe and secure.
|
Part 1 of a 2 volume set that will teach you all there is to know about DarkBASIC Professional and good solid code structure. Over 740 pages. Example code media available online.
| |
$ Dollar |
€ Euros |
£ Sterling |
Click to Buy |
| Price: |
$47.99 |
€37.99 |
£29.50 |
 |
This item is a book and is delivered in the mail. We use a tracked postal service for this item, and a signature will be required upon delivery.
|
Click a Chapter to display the contents within it (requires JavaScript)
Chapter 1 - Designing Algorithms
Designing Algorithms
Following Instructions
Control Structures
Sequence
Selection
Complex Conditions
Iteration
Data
Operations on Data
Levels of Detail
Checking for Errors
Summary
Solutions
Chapter 2 - Starting DarkBASIC Pro
Programming a Computer
Introduction
The Compilation Process
Starting DarkBASIC Pro
Introduction
DarkBASIC Pro Files
Getting Started with DarkBASIC
First Start-Up
Subsequent Start-Ups
Specifying a Project
A First Program
Saving Your Project
First Statements in DarkBASIC Pro
Introduction
Ending a Program
The END Statement
The WAIT KEY Statement
Adding Comments
Outputting to the Screen
Introduction
The PRINT Statement
Positioning Text on the Screen
The SET CURSOR Statement
The TEXT Statement
The CENTER TEXT Command
Changing the Output Font
The SET TEXT FONT Statement
The SET TEXT SIZE Statement
The SET TEXT TO Statement
Changing Colours
How Colours are Displayed
The RGB Statement
The INK Statement
The SET TEXT OPAQUE Statement
The SET TEXT TRANSPARENT Statement
The CLS Statement
Summary
Some Display Techniques
Screen Resolution
The SET DISPLAY MODE Statement
Choosing a Text Font
Erasing Text
Shadow Text
Embossed Text
Summary
Solutions
Chapter 3 - Data
Program Data
Introduction
Constants
Variables
Integer Variables
Real Variables
String Variables
Using Meaningful Names
Naming Rules
Summary
Allocating Values to Variables
Introduction
The Assignment Statement
Assigning a Constant
Copying a Variable's Value
Copying the Result of an Arithmetic Expression
Operator Precedence
Using Parentheses
Variable Range
String Operations
The PRINT Statement Again
Other Ways to Store a Value in a Variable
The INPUT Statement
The READ and DATA Statements
The RESTORE Statement
The Time and Date
The TIMER Statement
The GET TIME$ Statement
The GET DATE$ Statement
Generating Random Numbers
The RND Statement
The RANDOMIZE Statement
Structured English and Programs
Using Variables to Store Colour Values
Named Constants
Testing Sequential Code
Summary
Determining Current Settings
Introduction
Screen Settings
The SCREEN HEIGHT Statement
The SCREEN WIDTH Statement
The SCREEN DEPTH Statement
Colour Components
The RGBR Statement
The RGBG Statement
The RGBB Statement
Text Settings
The TEXT BACKGROUND TYPE Statement
The TEXT STYLE Statement
The TEXT SIZE Statement
The TEXT FONT$ Statement
The TEXT WIDTH Statement
The TEXT HEIGHT Statement
Summary
Solutions
Chapter 4 - Selection
Binary Selection
Introduction
The IF Statement
Condition
Compound Conditions - the AND and OR Operators
The NOT Operator
ELSE - Creating Two Alternative Actions
The Other IF Statement
Summary
Multi-Way Selection
Introduction
Nested IF Statements
The SELECT Statement
Testing Selective Code
Summary
Solutions
Chapter 5 - Iteration
Introduction
The WHILE .. ENDWHILE Construct
The REPEAT .. UNTIL Construct
The FOR.. NEXT Construct
Finding the Smallest Value in a List of Values
Using FOR with READ and DATA
The EXIT Statement
The DO .. LOOP Construct
The WAIT milliseconds Statement
The SLEEP Statement
Nested Loops
Nested FOR Loops
Testing Iterative Code
Summary
Solutions
Chapter 6 - Drawing Statements
Drawing On The Screen
Introduction
Basic Drawing Commands
The DOT Statement
The POINT Statement
The LINE Statement
The BOX Statement
The CIRCLE Statement
The ELLIPSE Statement
Summary
Demonstrating Basic Shapes
Introduction
A First Look at Animation
Basic Concepts
How to Remove an Object from the Screen
How to Move an Object
Solutions
Chapter 7 - Modular Programming
Functions
Introduction
Functions
Designing a Function
Coding a Function
Calling a Function
Another Example
Parameters
Pre-conditions
The EXITFUNCTION Statement
Return Types
Local Variables
Global Variables
Designing Routines
Specifying a Post-Condition
The DrawTextLine Mini-Spec
Creating Modular Software
Top-Down Programming
Bottom-Up Programming
Structure Diagrams
Summary
Subroutines
Introduction
Creating a Subroutine
Calling a Subroutine
The GOSUB Statement
Variables in a Subroutine
Summary
Solutions
Chapter 8 - String Functions
Standard String Functions
Introduction
String Operations
The LEN Statement
The UPPER$ Statement
The LOWER$ Statement
The LEFT$ Statement
The RIGHT$ Statement
The MID$ Statement
The ASC Statement
The CHR$ Statement
The STR$ Statement
The VAL Statement
The SPACE$ Statement
The BIN$ Statement
The HEX$ Statement
Summary
User-Defined String Functions
Introduction
Creating New String Functions
The Pos() Function
The Occurs() Function
The Insert$() Function
The Delete$() Function
The Replace$() Function
The Copy$() Function
Using Your Routines in Other Programs
The #INCLUDE Statement
Summary
Solutions
Chapter 9 - Hangman
Creating a First Game
Introduction
The Rules of the Game
What Part the Computer Plays in the Game
Designing the Screen Layout
Game Data
Game Logic
Game Documentation
Implementing the Design
Adding InitialiseGame()
Adding ThinkOfWord()
Adding DrawInitialScreen()
Adding GetGuess()
Adding CheckForLetter()
Adding DrawLetter()
Adding AddToHangedMan()
Adding WordGuessed()
Adding HangedManComplete()
Adding GameOver()
Keeping a Test Log
Flaws in the Game
Omissions from the Code
Deviating from the Original Specifications
Final Testing
Summary
Solutions
Chapter 10 - Arrays
Introduction
Creating Arrays
The DIM Statement
Accessing Array Elements
Variable Subscripts
Basic Algorithms that Use Arrays
Calculating the Sum of the Values in an Array
Finding the Smallest Value in an Array
Searching For a Value in an Array
Keeping an Array's Values in Order
Using an Array for Counting
Associating Numbers with Strings
Card Shuffling
Choosing a Set of Unique Values
Dynamic Arrays
The UNDIM Statement
Using Arrays in a Game
Multi-Dimensional Arrays
Two Dimensional Arrays
Inputting Values to a 2D Array
Even More Dimensions
Arrays and Functions
Summary
Solutions
Chapter 11 - Bull and Touch
Introduction
The Rules
The Screen Layout
Game Data
Game Logic
Game Documentation
Solutions
Chapter 12 - Advanced Data Types and Operators
Data Storage
Introduction
Declaring Variables
Boolean Variables
Type Definitions
The TYPE Definition
Declaring Variables of a Defined Type
Accessing the Fields in a Composite Variable
Nested Record Structures
Arrays of Records
Lists
The ARRAY INSERT AT BOTTOM Statement
The ARRAY INSERT AT TOP Statement
The ARRAY INSERT AT ELEMENT Statement
The ARRAY COUNT Statement
The EMPTY ARRAY Statement
The ARRAY DELETE ELEMENT Statement
The NEXT ARRAY INDEX Statement
The PREVIOUS ARRAY INDEX Statement
The ARRAY INDEX TO TOP Statement
The ARRAY INDEX TO BOTTOM Statement
The ARRAY INDEX VALID Statement
Queues
The ADD TO QUEUE Statement
The REMOVE FROM QUEUE Statement
The ARRAY INDEX TO QUEUE Statement
Stacks
The ADD TO STACK Statement
The REMOVE FROM STACK Statement
The ARRAY INDEX TO STACK Statement
Summary
Data Manipulation
Introduction
Other Number Systems
Incrementing and Decrementing
The INC Statement
The DEC Statement
Shift Operators
The Shift Left Operator (<<)
The Shift Right Operator (>>)
Bitwise Boolean Operators
The Bitwise NOT Operator (..)
The Bitwise AND Operator (&&)
The Bitwise OR Operator (||)
The Bitwise Exclusive OR Operator (~~)
A Practical Use For Bitwise Operations
Summary
Solutions
Chapter 13 - Bitmaps
Bitmaps Basics
Introduction
Colour Palette
File Size
File Formats
Bitmaps in DarkBASIC Pro
Introduction
The LOAD BITMAP Statement
The BITMAP WIDTH Statement
The BITMAP HEIGHT Statement
The BITMAP DEPTH Statement
The SET CURRENT BITMAP Statement
The CREATE BITMAP Statement
The COPY BITMAP Statement
The FLIP BITMAP Statement
The MIRROR BITMAP Statement
The BLUR BITMAP Statement
The FADE BITMAP Statement
Copying Only Part of a Bitmap
The COPY BITMAP Statement - Version 2
Zooming
Bitmap Status
The BITMAP EXIST Statement
The BITMAP MIRRORED Statement
The BITMAP FLIPPED Statement
The CURRENT BITMAP Statement
The DELETE BITMAP Statement
Placing More than One Image in the Same Area
Summary
Solutions
Chapter 14 - Video Cards and the Screen
Introduction
Your Screen
The PERFORM CHECKLIST FOR DISPLAY MODES Statement
The CHECKLIST QUANTITY Statement
The CHECKLIST STRING$ Statement
The CHECKLIST VALUE Statement
The EMPTY CHECKLIST Statement
The CHECK DISPLAY MODE Statement
The SCREEN FPS Statement
The SCREEN INVALID Statement
Your Graphics Card
The PERFORM CHECKLIST FOR GRAPHICS CARDS Statement
The SET GRAPHICS CARD Statement
The CURRENT GRAPHICS CARD$ Statement
The SCREEN TYPE Statement
The SET GAMMA Statement
Using a Window
The SET WINDOW ON Statement
The SET WINDOW SIZE Statement
The SET WINDOW POSITION Statement
The SET WINDOW LAYOUT Statement
The SET WINDOW TITLE Statement
The HIDE WINDOW Statement
The SHOW WINDOW Statement
Summary
Solutions
Chapter 15 - File Handling
Introduction
Disk Housekeeping Statements
The DRIVELIST Statement
The GET DIR$ Statement
The CD Statement
The SET DIR Statement
The PATH EXIST Statement
The MAKE DIRECTORY Statement
The DELETE DIRECTORY Statement
The DIR Statement
The DELETE FILE Statement
The COPY FILE Statement
The MOVE FILE Statement
The FILE EXIST Statement
The RENAME FILE Statement
The EXECUTE FILE Statement
The FIND FIRST Statement
The FIND NEXT Statement
The GET FILE NAME$ Statement
The GET FILE DATE$ Statement
The GET FILE CREATION$ Statement
The GET FILE TYPE Statement
The FILE SIZE Statement
The WINDIR$ Statement
The APPNAME$ Statement
Using Data Files
The OPEN TO WRITE Statement
The WRITE Statement
The CLOSE FILE Statement
The WRITE FILE Statement
The OPEN TO READ Statement
The READ Statement
The READ FILE Statement
Random Access and File Updating
The SKIP BYTES Statement
The READ BYTE FROM FILE Statement
The WRITE BYTE TO FILE Statement
Pack Files
The WRITE FILEBLOCK Statement
The WRITE DIRBLOCK Statement
The READ FILEBLOCK Statement
The READ DIRBLOCK Statement
Creating an Empty File
The MAKE FILE Statement
Arrays and Files
The SAVE ARRAY Statement
The LOAD ARRAY Statement
Checklists
The PERFORM CHECKLIST FOR DRIVES Statement
The PERFORM CHECKLIST FOR FILES Statement
Summary
Writing to a Data File
Reading from a Data File
Random Access
Pack Files
Arrays and Files
Checklists
Solutions
Chapter 16 - Handling Music Files
Introduction
Playing a Sound File
The LOAD MUSIC Statement
The PLAY MUSIC Statement
The LOOP MUSIC Statement
The PAUSE MUSIC Statement
The RESUME MUSIC Statement
The STOP MUSIC Statement
The SET MUSIC SPEED Statement
The SET MUSIC VOLUME Statement
The DELETE MUSIC Statement
Retrieving Music File Data
The MUSIC EXIST Statement
The MUSIC PLAYING Statement
The MUSIC LOOPING Statement
The MUSIC PAUSED Statement
The MUSIC VOLUME Statement
The MUSIC SPEED Statement
Playing Multiple Music Files
Summary
Playing CDs
Introduction
CD Control Statements
The LOAD CDMUSIC Statement
The GET NUMBER OF CD TRACKS Statement
Summary
Solutions
Chapter 17 - Displaying Video Files
Introduction
Playing Video Files
The LOAD ANIMATION Statement
The PLAY ANIMATION Statement
The LOOP ANIMATION Statement
The PAUSE ANIMATION Statement
The RESUME ANIMATION Statement
The STOP ANIMATION Statement
The PLACE ANIMATION Statement
The SET ANIMATION SPEED Statement
The SET ANIMATION VOLUME Statement
The DELETE ANIMATION Statement
Retrieving Video Data
The ANIMATION EXIST Statement
The ANIMATION POSITION Statement
The ANIMATION WIDTH Statement
The ANIMATION HEIGHT Statement
The ANIMATION PLAYING Statement
The ANIMATION LOOPING Statement
The ANIMATION PAUSED Statement
The ANIMATION VOLUME Statement
The ANIMATION SPEED Statement
Playing Multiple Videos
Playing Sound
Summary
Playing DVDs
Introduction
DVD Handling Statements
The LOAD DVD ANIMATION Statement
The TOTAL DVD CHAPTERS Statement
The SET DVD CHAPTER Statement
A Sample Program
Summary
Solutions
Chapter 18 - Accessing the Keyboard
Introduction
Reading a Key
The INKEY$ Statement
Checking the Arrow Keys
The UPKEY Statement
The DOWNKEY Statement
The LEFTKEY Statement
The RIGHTKEY Statement
Checking For Other Special Keys
Scan Codes
The SCANCODE Statement
The KEYSTATE Statement
The ENTRY$ Statement
The CLEAR ENTRY BUFFER Statement
The SUSPEND FOR KEY Statement
Summary
Solutions
Chapter 19 - Mathematical Functions
Introduction
Coordinates
Mathematical Functions in DarkBASIC Pro
The COS Statement
The SIN Statement
Dealing with Longer Lines
The SQRT Statement
The ACOS Statement
The ASIN Statement
The TAN Statement
The ATAN Statement
The WRAPVALUE Statement
Other Mathematical Functions
The ABS Statement
The INT Statement
The EXP Statement
The HCOS Statement
The HSIN Statement
The HTAN Statement
Summary
Solutions
Chapter 20 - Images
Introduction
Image Handling Statements
The LOAD IMAGE Statement
The PASTE IMAGE Statement
The SET IMAGE COLORKEY Statement
The SAVE IMAGE Statement
The DELETE IMAGE Statement
The GET IMAGE Statement
The IMAGE EXIST Statement
Summary
Solutions
Chapter 21 - Sprites
Creating and Moving Sprites
Introduction
Loading a Sprite Image
The SPRITE Statement
Translating a Sprite
The PASTE SPRITE Statement
The MOVE SPRITE Statement
The ROTATE SPRITE Statement
How MOVE SPRITE Operates
Moving a Sprite's Origin
The OFFSET SPRITE Statement
Sprite Reflection
The MIRROR SPRITE Statement
The FLIP SPRITE Statement
Reflecting a Tilted Sprite
Sprite Background Transparency
Giving the User Control of a Sprite
Vertical Movement
Horizontal Movement
Rotational Movement
Free Movement
Restricting Sprite Movement
Storing the Position of the Sprite in a Record
Velocity
Sprites and the PRINT Statement
Summary
Solutions
Chapter 22 - Sprites 2
Changing a Sprite's Appearance
Introduction
Resizing Sprites
The SCALE SPRITE Statement
The STRETCH SPRITE Statement
The SIZE SPRITE Statement
Changing Transparency and Colour Brightness
The SET SPRITE ALPHA Statement
The SET SPRITE DIFFUSE Statement
Showing and Hiding Sprites
The HIDE SPRITE Statement
The SHOW SPRITE Statement
The HIDE ALL SPRITES Statement
The SHOW ALL SPRITES Statement
Duplicating a Sprite
The CLONE SPRITE Statement
Summary
Adding a Background
Introduction
Ways to Change the Background
The COLOR BACKDROP Statement
The BACKDROP ON Statement
The BACKDROP OFF Statement
Using a Sprite as a BackGround
Sprite Order
The SET SPRITE PRIORITY Statement
The SET SPRITE TEXTURE COORD Statement
The SET SPRITE Statement
Summary
Retrieving Data About Sprites
Introduction
Sprite Data Retrieval Statements
The SPRITE EXIST Statement
The SPRITE X Statement
The SPRITE Y Statement
The SPRITE ANGLE Statement
The SPRITE OFFSET X Statement
The SPRITE OFFSET Y Statement
The SPRITE SCALE X Statement
The SPRITE SCALE Y Statement
The SPRITE WIDTH Statement
The SPRITE HEIGHT Statement
The SPRITE MIRRORED Statement
The SPRITE FLIPPED Statement
The SPRITE VISIBLE Statement
The SPRITE ALPHA Statement
The SPRITE RED Statement
The SPRITE GREEN Statement
The SPRITE BLUE Statement
Summary
Sprite Collision
Introduction
Dealing With Sprite Collisions
The SPRITE HIT Statement
The SPRITE COLLISION Statement
A Basic Bat and Ball Game
Firing Projectiles
The DELETE SPRITE Statement
The Missile Game
Extending the Game
The SET SPRITE IMAGE Statement
The SPRITE IMAGE Statement
Updating the Screen
The SYNC ON Statement
The SYNC Statement
The SYNC OFF Statement
The SYNC RATE Statement
The FASTSYNC Statement
Summary
Solutions
Chapter 23 - Animated Sprites
Introduction
Setting Up the Sprite
The CREATE ANIMATED SPRITE Statement
The SET SPRITE FRAME Statement
The SPRITE FRAME Statement
A Simple Dice Game
Creating a Sprite that Really is Animated
The PLAY SPRITE Statement
Changing the Transparent Colour
Moving the Sprite
Varying the Velocity
Multiple Asteroids
Controlling the Spaceship
The HandleKeyboard() Function
The HandleShip() Function
The LaunchMissile() Function
The HandleMissiles() Routine
Adding the Asteroids
Summary
Solutions
Chapter 24 - Sound
Mono and Stereo Sound
Introduction
The Basics of Loading and Playing Sounds
The LOAD SOUND Statement
The PLAY SOUND Statement
The LOOP SOUND Statement
The PAUSE SOUND Statement
The RESUME SOUND Statement
The STOP SOUND Statement
The SET SOUND SPEED Statement
The SET SOUND VOLUME Statement
The CLONE SOUND Statement
The DELETE SOUND Statement
Recording Sound
The RECORD SOUND Statement
The STOP RECORDING SOUND Statement
The SAVE SOUND Statement
Retrieving Sound File Data
The SOUND EXIST Statement
The SOUND PLAYING Statement
The SOUND LOOPING Statement
The SOUND PAUSED Statement
The SOUND VOLUME Statement
The SOUND SPEED Statement
Moving a Sound
The SET SOUND PAN Statement
The SOUND PAN Statement
Playing Multiple Sound Files
Summary
3D Sound Effects
Introduction
Loading and Playing 3D Sounds
The LOAD 3DSOUND Statement
The POSITION SOUND Statement
Controlling the Listener
The POSITION LISTENER Statement
The ROTATE LISTENER Statement
The SCALE LISTENER Statement
Retrieving Data on 3D Sounds and the Listener
The SOUND POSITION X Statement
The SOUND POSITION Y Statement
The SOUND POSITION Z Statement
The LISTENER POSITION X Statement
The LISTENER POSITION Y Statement
The LISTENER POSITION Z Statement
The LISTENER ANGLE X Statement
The LISTENER ANGLE Y Statement
The LISTENER ANGLE Z Statement
Summary
Solutions
Chapter 25 - 2D Vectors
Introduction
A Mathematical Description of Vectors
Vectors in DarkBASIC Pro
Creating a 2D Vector
The MAKE VECTOR2 Statement
The SET VECTOR2 Statement
The X VECTOR2 Statement
The Y VECTOR2 Statement
The DELETE VECTOR2 Statement
The COPY VECTOR2 Statement
The MULTIPLY VECTOR2 Statement
The SCALE VECTOR2 Statement
The DIVIDE VECTOR2 Statement
The LENGTH VECTOR2 Statement
The SQUARED LENGTH VECTOR2 Statement
The ADD VECTOR2 Statement
The SUBTRACT VECTOR2 Statement
The DOT PRODUCT VECTOR2 Statement
The IS EQUAL VECTOR2 Statement
The MAXIMIZE VECTOR2 Statement
The MINIMIZE VECTOR2 Statement
Summary
Solutions
Chapter 26 - Space Duel
Creating a Two-Player Game
Introduction
The Rules of the Game
Winning
Basic Play
Controls
The Screen Layout
Game Data
Game Logic
Game Documentation
Coding the Program
Adding InitialiseGame()
Adding HandleKeyboard()
Adding HandleShip()
Adding HandleMissiles()
Adding GameOver()
Space Duel - A Program Listing
Solutions
Chapter 27 - Using the Mouse
Introduction
Waiting for a Mouse Click
The WAIT MOUSE Statement
The SUSPEND FOR MOUSE Statement
The MOUSECLICK Statement
The Mouse Pointer
The HIDE MOUSE Statement
The SHOW MOUSE Statement
The POSITION MOUSE Statement
The CHANGE MOUSE Statement
Reading the Mouse Position
The MOUSEX Statement
The MOUSEY Statement
Mouse Speed
The MOUSEMOVEX Statement
The MOUSEMOVEY Statement
The Mouse Wheel
The MOUSEZ Statement
The MOUSEMOVEZ Statement
Summary
Mouse Handling Techniques
Rollovers
A Second Approach
Clicking On-Screen Buttons
Basic Concept
Reacting to a Button Click
Controlling Program Flow
Summary
Solutions
Chapter 28 - Pelmanism
Rules
The Screen Layout
Game Data
Constants
Structures Defined
Global Variables
Game Logic
The Program Code
Getting Started
Adding InitialiseGame()
Adding HandleMouse()
Adding GameOver()
Pelmanism - Program Listing
Solutions
Chapter 29 - Using a Joystick
Introduction
Checking the System for a Joystick
The PERFORM CHECKLIST FOR CONTROL DEVICES Statement
Reading the Position of the Joystick
The JOYSTICK Direction Statement
The JOYSTICK Position Statement
Joystick Controls
The JOYSTICK FIRE Statement
The JOYSTICK FIRE X Statement
The JOYSTICK SLIDER Statement
The JOYSTICK TWIST Statement
The JOYSTICK HAT ANGLE Statement
Feedback Effects
The FORCE Direction Statement
The FORCE ANGLE Statement
The FORCE NO EFFECT Statement
The FORCE AUTO CENTER Statement
The FORCE WATER EFFECT Statement
The FORCE CHAINSAW Statement
The FORCE SHOOT Statement
The FORCE IMPACT Statement
Summary
A Joystick-Based Game
Introduction
The Rules Of the Game
The Screen Layout
The Data
Media Used
The Program Code
Adding InitialiseGame()
Adding CreateAlien()
Adding HandleJoystick()
Adding CreateMissile()
Adding HandleAlien()
Adding WrapAlien()
Adding HandleMissile()
Solutions
Appendix
The ASCII Character Set
Index