ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Killer Game Programming in Java

دانلود کتاب برنامه نویسی بازی Killer در جاوا

Killer Game Programming in Java

مشخصات کتاب

Killer Game Programming in Java

ویرایش:  
نویسندگان:   
سری:  
ISBN (شابک) : 9780596007300 
ناشر: O'Reilly Media 
سال نشر: 2005 
تعداد صفحات: 998 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 11 مگابایت 

قیمت کتاب (تومان) : 39,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 9


در صورت تبدیل فایل کتاب Killer Game Programming in Java به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب برنامه نویسی بازی Killer در جاوا نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب برنامه نویسی بازی Killer در جاوا

اگرچه تعداد بازی های تجاری جاوا در مقایسه با بازی های C یا C++ کم است، اما بازار به سرعت در حال گسترش است. به‌روزرسانی‌های اخیر جاوا، ایجاد برنامه‌های بازی قدرتمند را سریع‌تر و آسان‌تر می‌کند - به‌ویژه Java 3D- به رشد انفجاری در بازی‌های جاوا دامن می‌زند. بازی‌های جاوا مانند Puzzle Pirates، Chrome، Star Wars Galaxies، Runescape، Alien Flux، Kingdom of Wars، Law and Order II، Roboforge، Tom Clancys Politika و تعداد زیادی بازی دیگر جوایز کسب کرده‌اند و به پرفروش‌ترین‌ها تبدیل شده‌اند.


توضیحاتی درمورد کتاب به خارجی

Although the number of commercial Java games is still small compared to those written in C or C++, the market is expanding rapidly. Recent updates to Java make it faster and easier to create powerful gaming applications-particularly Java 3D-is fueling an explosive growth in Java games. Java games like Puzzle Pirates, Chrome, Star Wars Galaxies, Runescape, Alien Flux, Kingdom of Wars, Law and Order II, Roboforge, Tom Clancys Politika, and scores of others have earned awards and become bestsellers.



فهرست مطالب

Table of Contents......Page 7
What This Book Is About......Page 17
What This Book Is Not About......Page 18
2D Programming......Page 19
3D Programming......Page 20
Network Programming......Page 22
Conventions Used in This Book......Page 23
Comments and Questions......Page 24
Acknowledgments......Page 25
Why Java for Games Programming?......Page 27
Swing Is Slow......Page 28
Java Has Memory Leaks......Page 29
Java Is Too High-level......Page 30
Java Isn’t Supported on Games Consoles......Page 31
No One Uses Java to Write Real Games......Page 33
Freeware/Shareware Games......Page 34
Sun Microsystems Isn’t Interested in Supporting Java Gaming......Page 36
An Animation Framework......Page 39
Animation as a Threaded Canvas......Page 40
Synchronization Concerns......Page 42
Why Sleep?......Page 43
Double Buffering Drawing......Page 44
Adding User Interaction......Page 46
Converting to Active Rendering......Page 47
FPS and Sleeping for Varying Times......Page 48
Timer Resolution......Page 50
Am I Done Yet? (Nope)......Page 51
Using Non-J2SE Timers......Page 52
Measuring Timer Resolution......Page 53
Sleeping Better......Page 57
Handling Sleep Inaccuracies......Page 59
FPS and UPS......Page 60
Separating Updates from Rendering......Page 61
Pausing and Resuming......Page 63
Other Animation Approaches......Page 65
Swing Timer Animation......Page 66
The Utility Timer......Page 70
Worms in Windows and Applets......Page 72
Testing for Speed......Page 73
The Worm-Chasing Application......Page 74
The Game Panel......Page 76
User Input......Page 77
The Animation Loop......Page 78
Statistics Gathering......Page 80
Drawing the Canvas......Page 83
Growing a Worm......Page 85
Calculating a New Head Point......Page 88
Choosing a Bearing......Page 89
Dealing with Obstacles......Page 90
Moving the Worm......Page 91
Testing the Worm......Page 92
Worm Obstacles......Page 93
Application Timing Results......Page 94
WormChase as an Applet......Page 95
The WormChaseApplet Class......Page 96
The WormPanel Class......Page 98
What Is a Type-Safe Collection?......Page 99
Dealing with Raw Types in J2SE 5.0......Page 100
Full-Screen Worms......Page 102
An Almost Full-Screen (AFS) Worm......Page 103
The AFS WormChase Class......Page 104
Stopping Window Movement......Page 107
An Undecorated Full-Screen (UFS) Worm......Page 108
The Game Panel......Page 110
Button Behavior......Page 111
Drawing the Game Canvas......Page 113
Exiting the Game......Page 114
A Full-Screen Exclusive Mode (FSEM) Worm......Page 115
The FSEM WormChase Class......Page 117
Setting Up Full-Screen Exclusive Mode......Page 118
Double Buffering, Page Flipping, and More......Page 120
Rendering the Game......Page 122
Displaying the Display Mode......Page 124
Changing the Display Mode......Page 125
Timings for FSEM......Page 128
Timings at 80 to 85 FPS......Page 129
Image Formats......Page 131
The AWT Imaging Model......Page 132
The MediaTracker Class......Page 133
ImageIcon......Page 134
AWT Image Processing......Page 135
The Graphics2D Class......Page 137
Java 2D and Active Rendering......Page 138
Buffering an Image......Page 139
From Image to BufferedImage......Page 142
The Internals of BufferedImage......Page 143
BufferedImageOp Operations......Page 145
Managed Images......Page 146
VolatileImage......Page 147
Portability and Java 2D......Page 148
JAI......Page 149
Image Loading, Visual Effects, and Animation......Page 150
Loading Images......Page 152
Getting an Image......Page 155
Using ImagesLoader......Page 156
Implementation Details......Page 157
Image Loading......Page 158
Loading Strip File Images......Page 159
Applying Image Effects......Page 160
Starting ImagesTests......Page 161
Initializing Images......Page 163
Updating the Images......Page 164
Painting the Images......Page 166
Information on Accelerated Memory......Page 168
Displaying Image Sequences......Page 170
Implementation Details......Page 172
Visual Effects for ‘o’ Images......Page 173
drawImage()-Based Processing......Page 175
Alpha Compositing......Page 178
Affine Transforms......Page 179
ConvolveOp Processing......Page 181
LookupOp Processing......Page 186
RescaleOp Processing......Page 190
Brightening the image......Page 191
Negating the image......Page 192
BandCombineOp Processing......Page 193
Pixel Effects......Page 196
Teleporting an image......Page 197
Zapping an image......Page 199
Packaging the Application as a JAR......Page 201
Applet Playing......Page 204
The AudioClip Class......Page 205
The Sound Player......Page 208
Sampled Audio......Page 211
The Mixer......Page 213
Playing a Clip......Page 215
Short Sound Bug in J2SE 5.0......Page 219
Playing a Buffered Sample......Page 220
MIDI......Page 223
A MIDI Sequence......Page 224
Playing a MIDI Sequence......Page 225
Java Sound API Resources......Page 228
Audio Resources......Page 230
Loading and Playing Sounds......Page 231
Loader Design and Implementation Issues......Page 233
Testing the Loaders......Page 235
Termination......Page 236
The Listener Methods......Page 237
The Sounds Panel......Page 239
The Clips Loader......Page 240
Storing Clip Information......Page 242
Pausing and Resuming Clips......Page 244
The Midi Sequences Loader......Page 245
Pausing and Resuming Sequences......Page 247
Closing Sequences......Page 248
Stopping Sequences......Page 249
Pausing and Resuming Sequences......Page 250
LoadersTests as a JAR File......Page 251
Audio Effects on Sampled Audio......Page 252
Making a sound clip echo......Page 253
Playing......Page 256
Utilizing Mixer Controls......Page 257
Adjusting a clip’s volume and pan values......Page 258
What controls are available?......Page 259
Setting the volume in PlaceClip......Page 260
Panning between the speakers in PlaceClip......Page 261
Precalculation......Page 262
Doubling the sequence volume......Page 263
MIDI Channel Controllers......Page 265
Making a sequence fade away......Page 266
Changing the volume......Page 269
The MIDI volume bug......Page 270
Panning the sequence......Page 271
Changing the pan value......Page 273
Sequencer Methods......Page 274
Note Names......Page 275
Playing a Note......Page 277
Synthesizing Notes......Page 278
Creating samples......Page 280
MIDI Synthesis......Page 281
Sending Note-Playing Message to a MIDI Channel......Page 282
Sending MIDI Messages to the Synthesizer’s Receiver Port......Page 284
Creating a Sequence......Page 285
Instruments and soundbanks......Page 287
Making a sequence......Page 288
The add() methods......Page 290
Program and bank change......Page 292
From note name to MIDI number......Page 293
Audio Synthesis Libraries......Page 294
Bats, Balls, and Sprites......Page 296
Class Diagrams for BugRunner......Page 298
The Bug Starts Running......Page 299
The Animation Framework......Page 300
User Interaction......Page 301
The Animation Loop......Page 302
Finishing the Game......Page 304
Defining a Sprite......Page 305
The Sprite Constructor......Page 306
A Sprite’s Image......Page 307
A Sprite’s Bounding Box......Page 308
Updating a Sprite......Page 309
Specifying a Sprite with a Statechart......Page 310
Translating a Statechart to Code......Page 311
Textual Specification......Page 313
Statechart Specification......Page 314
Translating the Statechart......Page 315
Updating the sprite......Page 316
Hitting a wall......Page 317
Leaving the screen......Page 318
Statechart Specification......Page 319
Translating the Statechart......Page 320
User-based reactions......Page 321
Time-based reactions......Page 322
Concurrently shared data......Page 323
A Side-Scroller......Page 324
JumpingJack in Layers......Page 325
Class Diagrams for JumpingJack......Page 326
The Animation Framework......Page 329
Dealing with Input......Page 332
Multiple Key Presses/Actions......Page 334
The Animation Loop......Page 335
Rendering order......Page 336
Handling an Explosion......Page 337
Managing the Ribbons......Page 339
Wraparound Ribbons......Page 340
Drawing the Ribbon’s Image......Page 342
Case 1: Draw the image at JPanel (0,0)......Page 343
Case 3: Image moving right, where xImHead is greater than or equal to pWidth......Page 344
Case 4: Image moving left, where xImHead is greater than or equal to (pWidth-width)......Page 345
Managing the Bricks......Page 346
Loading Bricks Information......Page 347
Initializing the Bricks Data Structures......Page 348
Drawing the Bricks......Page 350
Case 1. Bricks map moving right and bCoord is less than pWidth......Page 351
Case 2. Bricks map moving right and bCoord is greater than pWidth......Page 352
Case 3. Bricks map moving left and bCoord is greater than (pWidth-width+imWidth)......Page 353
The drawBricks() method......Page 354
Finding the floor......Page 355
Testing for brick collision......Page 356
Jumping and hitting your head......Page 357
Falling and sinking into the ground......Page 358
Storing Brick Information......Page 359
Statechart Specification......Page 360
Statechart Specification......Page 362
Initialization......Page 364
Key Event Processing......Page 365
JackPanel Collision Testing......Page 366
Updating the Sprite......Page 367
Vertical Movement......Page 368
Other Side-Scroller Examples......Page 369
Tiling Software......Page 370
An Isometric Tile Game......Page 371
Isometric Tiles......Page 372
Movement......Page 373
Placing a Sprite/Object......Page 375
Class Diagrams for AlienTiles......Page 376
The Animation Framework......Page 378
Dealing with Input......Page 379
The Animation Loop......Page 380
Ending the Game......Page 381
Loading Floor Information......Page 382
Creating obstacles......Page 384
Loading World Entity Information......Page 385
Player Methods......Page 386
Drawing the World......Page 388
Managing WorldItems......Page 389
Adding an Entity......Page 390
Pickup Methods......Page 391
The Tile Occupier......Page 392
Additional Sprite Information......Page 393
A Sprite on a Tile......Page 394
Moving to Another Tile......Page 395
The Player Sprite......Page 396
Moving (and Standing Still)......Page 397
Being Hit by an Alien......Page 398
The Alien Sprite......Page 399
Updating the AlienSprite......Page 400
Planning a Move......Page 402
Moving the AlienQuadSprite......Page 403
Planning a Move......Page 404
The A* Algorithm......Page 405
Moving the AlienAStarSprite......Page 408
Calculating the Cost to the Goal......Page 409
Further Reading......Page 410
A* Information......Page 412
Java 3D......Page 413
The Scene Graph......Page 414
Some Java 3D scene graph nodes......Page 415
The HelloUniverse scene graph......Page 416
Performance......Page 418
Documentation and Examples......Page 419
Java 3D Is Too Slow for Games......Page 420
Java 3D Is Too High-Level......Page 421
Lack of Console Support......Page 422
No Real Java 3D Games......Page 423
Java 3D loaders for games......Page 424
Add-ons for gaming......Page 425
Sun Doesn’t Support Java 3D......Page 426
Roadmaps for the future......Page 427
Lightweight Java Game Library (LWJGL)......Page 428
JOGL......Page 429
Jist3D......Page 430
Ogre4J......Page 431
Odejava......Page 432
A 3D Checkerboard: Checkers3D......Page 433
Class Diagrams for Checkers3D......Page 434
Integrating Java 3D and Swing......Page 435
Scene Graph Creation......Page 436
Lighting the Scene......Page 437
The Scene’s Background......Page 438
Coloring the Spheres......Page 439
Positioning the Spheres......Page 440
The Floor......Page 441
The Colored Tiles......Page 443
The Floor’s Axis Labels......Page 444
Viewer Positioning......Page 445
Viewer Movement......Page 446
Viewing the Scene Graph......Page 447
Loading and Manipulating External Models......Page 450
An Overview of LoaderInfo3D......Page 452
Loaders in Java 3D......Page 454
Using NCSA Portfolio Loaders......Page 455
Displaying a Model......Page 456
Scaling the Model......Page 458
Examining a Model’s Scene Graph......Page 459
Adjusting a Model’s Shape Attributes......Page 461
Drawing a Shape in Outline......Page 463
Making a Shape Almost Transparent......Page 464
Adding a Texture to a Shape......Page 465
Texture coordinates......Page 467
Applying the texture to the shape......Page 469
An Overview of Loader3D......Page 470
Using Loader3D......Page 472
Creating the Scene......Page 475
Managing the Model......Page 476
Building the Model’s Scene Graph......Page 477
Loading the Model......Page 479
Loading and Applying the Coords Data......Page 480
Handling Rotation......Page 481
Applying the rotation......Page 482
Making the Model Available......Page 483
Modifying the Model’s Configuration at Runtime......Page 484
Using a Lathe to Make Shapes......Page 485
Class Diagrams for Lathe3D......Page 487
Creating the Scene......Page 488
Shapes with Curves and Lines......Page 490
Shapes with Colors......Page 492
Different Curve Rotations......Page 493
The Lathe Curve......Page 494
Specifying Curve Segments......Page 495
Implementation......Page 496
Calculating the Tangents......Page 497
Building the Entire Curve......Page 499
Creating the Geometry......Page 500
You Say You Want a Revolution......Page 501
Creating Texture Coordinates......Page 503
A Thin Problem......Page 505
Making an Appearance......Page 507
An Elliptical Shape......Page 508
A Rhodonea Shape......Page 510
3D Sprites......Page 513
Class Diagrams for Tour3D......Page 514
Creating the Scene......Page 515
Adding a Background Image......Page 516
Full-Screen Display......Page 517
Adding Scenery and Obstacles......Page 518
Obstacles......Page 520
The Basic 3D Sprite......Page 521
Movement and Rotation......Page 523
Obstacle and Boundary Detection......Page 524
Updating the Sprite......Page 525
The Alien Sprite......Page 526
Behaviors in Java 3D......Page 528
What’s a Third-Person Camera?......Page 530
Setting Up TouristControls......Page 531
Keys Understood by TouristControls......Page 532
Moving the Camera......Page 533
Rotating the Camera......Page 534
Updating the Alien Sprite......Page 536
Animated 3D Sprites......Page 538
Class Diagrams for AnimTour3D......Page 539
Creating the Scene......Page 540
The Animated 3D Sprite......Page 541
Loading the Poses......Page 543
Setting a Pose......Page 544
Floor Boundary Detection......Page 545
Animating the Sprite......Page 546
Adding an Animation Sequence......Page 547
Processing an Animation Operation......Page 548
Updating the User’s Viewpoint......Page 550
Creating the Full-Screen Scene......Page 551
Changing the Display Mode......Page 554
Pros and Cons of Keyframe Animation......Page 556
The Articulated Figure Application......Page 557
Building the Figure......Page 560
Forward and Inverse Kinematics......Page 561
Class Diagrams for Mover3D......Page 563
Creating the Scene......Page 564
Processing User Input......Page 565
The Commands Panel......Page 566
Processing a Command......Page 567
Building the Figure......Page 569
Orientating Limbs......Page 575
Creating the Scene Graph......Page 577
Processing Limb-Related Operations......Page 578
Modeling a Limb......Page 579
Growing a Limb......Page 581
Moving a Limb......Page 583
Moving an Elliptical Limb......Page 586
Other Articulated Figures......Page 587
Articulation and Skinning......Page 588
Articulation and Morphing......Page 589
Particle Systems......Page 591
Particle Systems in Java 3D......Page 594
Referring to Float Arrays......Page 595
Synchronization Problems......Page 596
Class Diagrams for Particles3D......Page 597
Creating the Scene......Page 598
A Fountain of Points......Page 600
The Particle System’s Geometry and Appearance......Page 601
Updating the Points......Page 602
Updating Particles......Page 603
A Fountain of Lines......Page 604
Initializing the Particles......Page 605
A Fountain of Quads......Page 606
Specifying the Geometry......Page 608
Initializing Particle Texture Coordinates......Page 609
Particle Appearance......Page 611
Performance Results......Page 613
Other Java 3D Approaches......Page 615
Non–Java 3D Approaches......Page 616
Flocking Boids......Page 618
A Flocking Application......Page 620
Scene Creation......Page 622
Adding Obstacles......Page 623
The boid shape......Page 624
Boid Movement......Page 626
Animating the Boid......Page 627
Velocity Rules......Page 629
Obstacle Avoidance......Page 630
The Prey Boid......Page 631
The Predator Boid......Page 632
Grouping the Boids......Page 633
Velocity Rules Again......Page 634
The Prey’s Behavior......Page 636
Velocity Rules and Other Flocks......Page 637
The Predator’s Behavior......Page 638
Lunch Time......Page 639
Shooting a Gun......Page 640
Class Diagrams for Shooter3D......Page 642
The Sound of Shooting......Page 643
Picking Scene Objects......Page 645
What to Pick in Shooter3D?......Page 647
Controlling the Gun......Page 648
Preparing the Laser Beam......Page 650
Shooting the Beam......Page 652
Causing an Explosion......Page 653
Displaying a Series of Images......Page 655
Picking with a Mouse Click......Page 657
Finding Intersections......Page 659
Shooting Behavior......Page 660
Debugging Picking......Page 661
Rotating the Cone......Page 662
Firing the Beam......Page 665
More on Picking......Page 666
A First-Person Shooter......Page 668
Class Diagrams for FPShooter3D......Page 669
Setting Up the Target......Page 670
Positioning and Moving the User’s Viewpoint......Page 671
Viewpoint Behaviors......Page 672
Initializing the User’s Viewpoint......Page 673
Adding an Image to the Viewpoint......Page 674
Managing the Ammunition......Page 676
Managing a Laser Beam......Page 677
Firing a Beam......Page 678
Moving the Viewpoint......Page 680
A 3D Maze......Page 682
Class Diagrams for Maze3D......Page 683
Making a Maze Plan......Page 685
Generating a Maze Using Software......Page 686
The User Interface......Page 688
Managing the Maze......Page 689
Scenery Creation......Page 692
Making a Background......Page 693
Tiling the Floor......Page 694
Viewpoint Creation......Page 696
The FOV......Page 697
Clip Distances......Page 698
Adding a Spotlight......Page 699
Adding an Avatar......Page 701
The Back Facing Camera......Page 702
Moving the Viewpoint......Page 705
The Bird’s-Eye View......Page 707
Moving the Arrow......Page 709
Why Not Use a Bird’s-Eye Camera?......Page 710
Related Approaches to Scene Generation......Page 711
Fractal Land......Page 712
Class Diagrams for the Fractal Land......Page 714
Linear Fog......Page 715
User Controls......Page 716
Creating the Landscape......Page 717
Creating Floors......Page 718
On the Floor......Page 720
Picking a Height......Page 721
Issues with Terrain Representation......Page 722
Constructing the Ground......Page 723
Stripification......Page 725
Texture Minification......Page 726
Generating a Fractal Landscape......Page 727
Fixing the Randomness......Page 730
Responding to Key Presses......Page 731
Terrain Following and Collision Avoidance......Page 732
Placing Objects in the Scene......Page 733
Other Fractal Landscapes......Page 735
Terrain Generation with Terragen......Page 737
Class Diagrams for Terra3D......Page 738
Terragen......Page 739
Using Terragen......Page 741
Extracting a Terragen Texture......Page 744
Scenery Creation......Page 746
Setting Up the User’s Controls......Page 747
Loading the Mesh......Page 748
Placing the Terrain in the World......Page 751
Adding Texture to the Terrain......Page 752
Making 3D Scenery......Page 754
Placing the Models......Page 756
Adding Landscape Walls......Page 757
A Wall as a Textured Plane......Page 759
Creating Ground Cover......Page 760
The Ground Cover......Page 762
The Ground Shape......Page 764
Where Am I?......Page 765
Strolling Around the Terrain......Page 766
Finding the Surface Height......Page 767
Picking in HeightFinder......Page 768
Accelerating Terrain Following......Page 769
Mesh Decomposition......Page 770
DEM and Terrain Generation......Page 771
ROAM......Page 772
Other Java 3D Projects......Page 773
Trees That Grow......Page 775
Class Diagrams for Trees3D......Page 777
Creating the Scene......Page 778
Loading Leaves......Page 779
Getting Ready for Growth......Page 780
Building a Tree Limb......Page 781
Subgraph Creation......Page 782
Scaling......Page 784
Leaves on Trees......Page 786
Executing the Rules......Page 787
Displaying Leaves......Page 790
Comparison with L-Systems......Page 792
So Why Not Use L-Systems?......Page 793
Networking Basics......Page 795
Bandwidth......Page 796
Latency......Page 798
Protocol......Page 799
The Client/Server Model......Page 802
The Peer-to-Peer Model......Page 804
TCP Client and Sequential Server......Page 806
Class diagrams......Page 807
The sequential score server......Page 808
Processing a client......Page 809
Maintaining the scores information......Page 810
The scores client......Page 811
TCP Client and Multithreaded Server......Page 814
Maintaining scores information......Page 816
TCP Client and Multiplexing Server......Page 817
The multiplexing scores server......Page 818
Having the server accept a new client......Page 819
Having the server accept a request from an existing client......Page 820
Storing client information......Page 821
Reading a message......Page 822
Sending a message......Page 824
Waiting to send......Page 825
UDP Client and Server......Page 826
The UDP-based scores server......Page 827
The UDP-based scores client......Page 829
P2P Programming in Java......Page 831
The multicasting time server......Page 832
The multicasting time client......Page 833
Firewalls......Page 834
Retrieving a Web Page......Page 835
Proxy Authorization......Page 837
A Web-Based Client and Server......Page 838
A servlet that serves up time......Page 839
The time client......Page 840
Applets as Clients......Page 841
Other Kinds of Java Networking......Page 842
Network Chat......Page 843
Threaded TCP Clients and Server......Page 844
The Chat Client......Page 845
Waiting for Chat Messages......Page 847
The Threaded Chat Handler......Page 848
The Chatter Class......Page 849
UDP Multicasting Clients and a Name Server......Page 850
The Name Server......Page 852
Multicast Chatting......Page 853
Having the client talk to the multicast group......Page 855
Hearing from the multicast group......Page 856
Clients Using a Servlet as a Server......Page 857
The URL-Based Chat Client......Page 859
Talking to the servlet......Page 862
Polling for Chat Messages......Page 863
The Chat Servlet......Page 864
Dealing with a new client......Page 865
Processing client messages......Page 866
Adding a new client to the group......Page 867
Reading client messages......Page 868
The Chatter Class......Page 869
A Networked Two-Person Game......Page 870
The Standalone Tic-Tac-Toe Game......Page 872
The Origins of the Game......Page 873
Building the Game Scene......Page 874
Building the Game Markers......Page 876
Picking and Dragging......Page 879
Picking a marker......Page 880
The Game Representation......Page 882
Storing the selected position......Page 883
The Networked Tic-Tac-Toe Game......Page 884
Initialization......Page 887
Game play......Page 888
Playing the Game......Page 889
The Player Handlers......Page 891
Game Initialization in the Client......Page 893
The player has won......Page 895
Too few players, and the game is full......Page 896
Game Play in the Client......Page 897
Player 1’s client......Page 898
Server-side processing......Page 899
Player 2’s client......Page 900
Writing on the Canvas......Page 901
Drawing on the overlay canvas......Page 902
A Networked Virtual Environment......Page 904
Background on NVEs......Page 905
Spaces......Page 906
Objects......Page 907
Real-time......Page 908
Dead reckoning......Page 909
An Overview of NetTour3D......Page 910
Class Diagrams for NetTour3D......Page 911
NetTour3D as a Simple NVE......Page 912
Scene Creation on the Client......Page 913
Defining Sprites......Page 914
Local Sprites......Page 916
Creating a Local Sprite......Page 917
The Departure of a Local Sprite......Page 918
Watching the Server......Page 919
Creating a Distributed Sprite......Page 920
The Distributed Sprites Class......Page 921
Moving and Rotating a Distributed Sprite......Page 922
Receiving Other Client’s Sprite Details......Page 923
Broadcasting......Page 925
Client-to-Client Message Passing......Page 927
Other Java NVEs......Page 928
The Sun Game Server......Page 930
install4j Versus JWS......Page 931
Java 3D Components for BugRunner......Page 932
j3dutils.jar on a Diet......Page 934
Preparing the JARs......Page 935
Creating the BugRunner Installer......Page 938
Uninstallation......Page 940
The BugRunner Installer......Page 943
Preparing the JARs......Page 944
The Checkers3D Installer......Page 945
Installation Using Java Web Start......Page 947
JWS Downsides......Page 948
The JNLP Deployment File......Page 950
A JWS Installer for BugRunner......Page 951
Write the Application......Page 952
Modify the Application for Deployment......Page 953
Create a Public/Private Keypair for Signing the Application......Page 955
Sign Everything with the Private Key......Page 956
Create a Deployment File......Page 959
Deployment testing......Page 962
A JWS Installer for Checkers3D......Page 964
Write the Application......Page 965
Modify the Application for Deployment......Page 966
Sign Everything with the Private Key......Page 967
Create a Deployment File......Page 968
Place Everything on a Server......Page 970
Another Way to Install Checkers3D......Page 971
The JWS Portal Page......Page 972
Setting javawsInstalled in JavaScript......Page 973
More Information on Portal Pages......Page 974
Import the Certificate into the Keystore......Page 975
Sign JARs with the Keypair......Page 976
JWS and Other Libraries......Page 977
Index......Page 979




نظرات کاربران