Java 1.4 Game Programming (Wordware Game and Graphics Library)
Chapter 2: Basics of Java Programming
- Figure 2-1
- Figure 2-2
- Figure 2-3
- Figure 2-4
- Figure 2-5
- Figure 2-6
- Figure 2-7
- Figure 2-8
- Figure 2-9
- Figure 2-10
- Figure 2-11
- Figure 2-12
- Figure 2-13
Chapter 3: Arrays and Strings
- Figure 3-1
- Figure 3-2
- Figure 3-3
- Figure 3-4
- Figure 3-5
- Figure 3-6
- Figure 3-7
- Figure 3-8
- Figure 3-9
- Figure 3-10
- Figure 3-11
Chapter 4: Multiple Classes
- Figure 4-1
- Figure 4-2
- Figure 4-3
- Figure 4-4
- Figure 4-5
- Figure 4-6
- Figure 4-7
- Figure 4-8
Chapter 5: Packages, Utilities, and Error Handling
- Figure 5-1: Testing our own package
- Figure 5-2: Running an application from a JAR archive
- Figure 5-3: Running an applet from a JAR archive
- Figure 5-4: Using the ArrayList class
- Figure 5-5: Finding and removing from an ArrayList
- Figure 5-6: Using the LinkedList class
- Figure 5-7: Using the Stack class
- Figure 5-8: The exception is not caught
- Figure 5-9: The exception is now caught by the try/catch block
- Figure 5-10: Catching our own exception
- Figure 5-11: Simple assertion
Chapter 6: Stream I/O
- Figure 6-1: Console input example
- Figure 6-2: The tic-tac-toe game
- Figure 6-3: How our output file looks
- Figure 6-4: The data has been loaded back in
- Figure 6-5: Using serialization
Chapter 7: Threads
- Figure 7-1
- Figure 7-2
- Figure 7-3
- Figure 7-4
- Figure 7-5
Chapter 8: Applications and Applets
- Figure 8-1: Our basic application window
- Figure 8-2: Our basic applet
- Figure 8-3: Our applet in AppletViewer
- Figure 8-4: Passing parameters to an applet
- Figure 8-5: Java look and feel
Chapter 9: Graphics
- Figure 9-1
- Figure 9-2
- Figure 9-3
- Figure 9-4
- Figure 9-5
- Figure 9-6
- Figure 9-7
- Figure 9-8
- Figure 9-9
- Figure 9-10
- Figure 9-11
- Figure 9-12
- Figure 9-13
- Figure 9-14
- Figure 9-15
- Figure 9-16
Chapter 10: Using the Mouse and Keyboard
- Figure 10-1
- Figure 10-2
- Figure 10-3
- Figure 10-4
Chapter 11: Using Sound and Music
- Figure 11-1: Simple applet sound example
- Figure 11-2: Playing sampled sound example
- Figure 11-3: Streaming audio example
- Figure 11-4: MIDI example
- Figure 11-5: Sound manager example
Chapter 12: Game Programming Techniques
- Figure 12-1
- Figure 12-2
- Figure 12-3
- Figure 12-4
- Figure 12-5
- Figure 12-6
- Figure 12-7
- Figure 12-8
- Figure 12-9: Radius of a circle
- Figure 12-10: A triangle
- Figure 12-11: The magic of Pythagoras
- Figure 12-12: Before and after intersection
- Figure 12-13: Before and after intersection
- Figure 12-14: The Game framework (showing Sample Screen)
- Figure 12-15: The four screens in the framework demo
- Figure 12-16: The Tile Scroller
- Figure 12-17: The Tile Scroller with 32x64 pixel tiles instead of 32x32 pixel tiles
- Figure 12-18: The Tile Walker
- Figure 12-19: The player's tile sheet
- Figure 12-20
- Figure 12-21
- Figure 12-22: Another approach to the player's tile sheet
- Figure 12-23: Tile collisions
- Figure 12-24
- Figure 12-25
- Figure 12-26: The red man's big brother Bungle
- Figure 12-27: A mini Tile Walker application
- Figure 12-28: A small 10x10 tile map
Chapter 13: Introduction to GUI
- Figure 13-1: The JButton Example application
- Figure 13-2: The JTextField Example application
- Figure 13-3: The label below the JTextField is updated to show the name the user entered into the JTextField.
- Figure 13-4: The Image Button Example application
- Figure 13-5
- Figure 13-6: Custom GUI example
Chapter 14: Introduction to Databases
- Figure 14-1: A visual interpretation of a database
- Figure 14-2: Visualization of an inefficient method for storing user contact information
- Figure 14-3: Visualization of an efficient method for storing user contact information
- Figure 14-4: How the relate_contacts_to_user table looks after the addition of Jenny's contacts
- Figure 14-5: user_table containing some sample data
Chapter 15: Using SQL with MySQL
- Figure 15-1: Select the typical install option.
- Figure 15-2: The MySQL directory structure
- Figure 15-3: The contents of the bin directory
- Figure 15-4: A blank window?!
- Figure 15-5: Viewing the current running tasks
- Figure 15-6: The MySQL console client
- Figure 15-7: The Run dialog
- Figure 15-8: The Registry Editor
- Figure 15-9: The RunServices folder (key)
- Figure 15-10: Pop-up menu
- Figure 15-11: The Edit String dialog box
- Figure 15-12: Viewing existing databases
- Figure 15-13: Creating a database
- Figure 15-14: The mydata database has been added to the list.
- Figure 15-15: Dropping a database
- Figure 15-16: Database listing after the DROP command
- Figure 15-17: The myinfo database is now visible in the console after using the SHOW DATABASES command.
- Figure 15-18: Here the userinfo table can be seen as part of our database.
- Figure 15-19: Describing the userinfo table
- Figure 15-20: Modifying a column name
- Figure 15-21: Description of the updated userinfo table
- Figure 15-22: Now the age column is of type INT rather than TINYINT.
- Figure 15-23: Dropping a field from a table
- Figure 15-24: As you can see, the e-mail field has now been removed.
- Figure 15-25: After dropping the userinfo table, we have an empty database.
- Figure 15-26: Creating the dmlexample database
- Figure 15-27: Creating our sample table
- Figure 15-28: Inserting a single row of data
- Figure 15-29: Viewing the new row in the table
- Figure 15-30: Inserting multiple rows in a single statement
- Figure 15-31: Now we have four rows in the table.
- Figure 15-32: The password field has been updated in all of the rows.
- Figure 15-33: Updating only a single row
- Figure 15-34: Conditional updates
- Figure 15-35: Deleting a single row
- Figure 15-36: Conditional deleting
- Figure 15-37: Deleting all the data from a table
- Figure 15-38: Inserting our new data into the sampletable table
- Figure 15-39: Using the wildcard with a SELECT statement
- Figure 15-40: Retrieving only a single column
- Figure 15-41: Retrieving multiple columns
- Figure 15-42: Selecting a single row
- Figure 15-43: Selecting a single row with specified columns
- Figure 15-44: The two- password problem!
- Figure 15-45: Using LIKE with a SELECT statement
- Figure 15-46: Our three tables in the gamedata database
- Figure 15-47: Our data in the playerdata table
- Figure 15-48: Our data in the relatefriends table
- Figure 15-49: Finding out a player's friend list
- Figure 15-50: Finding out a player's enemy list
- Figure 15-51: Finding more data about an enemy
- Figure 15-52: Using a join statement
- Figure 15-53: The data to import in Windows Notepad
- Figure 15-54: Importing data from a text file
- Figure 15-55: The imported data in our playerdata table
- Figure 15-56: Entering the data in Microsoft Excel
- Figure 15-57: Saving as a tab-delimited text file
- Figure 15-58: The excel.txt file in Notepad
- Figure 15-59: The command-line window (MS-DOS)
- Figure 15-60: Importing a text file into MySQL
Chapter 16: Using the JDBC
- Figure 16-1: Our source directory structure
- Figure 16-2: JDBC Example 1
- Figure 16-3: This shows the data in MySQL, which has been inserted from our Java console application.
- Figure 16-4: This screen shot shows the output from code listing 16-3.
- Figure 16-5: Our skeleton application
- Figure 16-6: Our skeleton application with GUI objects in place
- Figure 16-7: Our scoredata table in our highscore database
- Figure 16-8: The final Highscore application
- Figure 16-9: Output from our metadata example, using the firsttest database
- Figure 16-10: The prepared statement has inserted three rows into our database.
Chapter 17: Introduction to Networking
- Figure 17-1: Finding out your IP address
- Figure 17-2: The TCP echo server
- Figure 17-3: The TCP echo client
- Figure 17-4: The UDP echo server
- Figure 17-5: The UDP echo client
- Figure 17-6: The game server console application
- Figure 17-7: Everyone having fun playing "I'm a circle!" or not
- Figure 17-8: Joel then felt lonely as everyone moved away from him.
Chapter 18: Introduction to NIO Networking
- Figure 18-1: ByteBuffer example
- Figure 18-2: Blocking server (after a client has connected)
- Figure 18-3: Blocking client
- Figure 18-4: Non-blocking server (after client has been executed)
- Figure 18-5: Client
Bonus Chapter: A Tour of the Swing GUI
- Figure 1: The JLabel example application
- Figure 2: The JButton example application
- Figure 3: The Image Button example application
- Figure 4: The JTextField example application
- Figure 5: The label below the JTextField is updated to show the name the user entered.
- Figure 6: Using the JPasswordField
- Figure 7: Using the JTextArea
- Figure 8: As you can see, the text in the JTextArea was output to the console when we clicked the button.
- Figure 9: Using the JScrollPane with the JtextArea
- Figure 10: The JComboBox example application
- Figure 11: Using the JCheckBox
- Figure 12: This shows that we have successfully retrieved the state of the JCheckBox.
- Figure 13: Changing the way the JCheckBox is displayed with custom images
- Figure 14: Using the JRadioButton
- Figure 15: This shows the selection of the radio buttons being changed.
- Figure 16: Replacing the standard JRadioButtons with custom images
- Figure 17: The JProgressBar example
- Figure 18: The JList example
- Figure 19: Implementing a scrollable JList
- Figure 20: Using the JTable
- Figure 21: Using the JTree
- Figure 22: Adding nodes to our JTree in the example
- Figure 23: The JEditorPane example application
- Figure 24: The Option Panes Example application
- Figure 25: The message dialog
- Figure 26: The warning dialog
- Figure 27: The error dialog
- Figure 28: The input dialog
- Figure 29: The confirmation dialog
- Figure 30: The component dialog
- Figure 31: Using a menu
- Figure 32: Using tool tips