100% found this document useful (1 vote)
49 views

Introduction to Java Through Game Development: Learn Java Programming Skills by Working with Video Games 1st Edition Victor G. Brusca pdf download

The document is a promotional overview of the book 'Introduction to Java Through Game Development' by Victor G. Brusca, which aims to teach Java programming skills through video game projects. It includes links to download the book and other related titles, along with a detailed table of contents outlining various chapters and topics covered in the book. The book is designed for readers interested in learning Java programming in an engaging way by working with game development.

Uploaded by

oudijnmedeus
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
49 views

Introduction to Java Through Game Development: Learn Java Programming Skills by Working with Video Games 1st Edition Victor G. Brusca pdf download

The document is a promotional overview of the book 'Introduction to Java Through Game Development' by Victor G. Brusca, which aims to teach Java programming skills through video game projects. It includes links to download the book and other related titles, along with a detailed table of contents outlining various chapters and topics covered in the book. The book is designed for readers interested in learning Java programming in an engaging way by working with game development.

Uploaded by

oudijnmedeus
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

Introduction to Java Through Game Development:

Learn Java Programming Skills by Working with


Video Games 1st Edition Victor G. Brusca pdf
download
https://ebookmeta.com/product/introduction-to-java-through-game-
development-learn-java-programming-skills-by-working-with-video-
games-1st-edition-victor-g-brusca/

Download more ebook from https://ebookmeta.com


We believe these products will be a great fit for you. Click
the link to download now, or visit ebookmeta.com
to discover even more!

Introduction to Video Game Engine Development: Learn to


Design, Implement, and Use a Cross-Platform 2D Game
Engine 1st Edition Victor G Brusca

https://ebookmeta.com/product/introduction-to-video-game-engine-
development-learn-to-design-implement-and-use-a-cross-
platform-2d-game-engine-1st-edition-victor-g-brusca/

Advanced Unity Game Development: Build Professional


Games with Unity, C#, and Visual Studio Victor G Brusca

https://ebookmeta.com/product/advanced-unity-game-development-
build-professional-games-with-unity-c-and-visual-studio-victor-g-
brusca/

Advanced Unity Game Development: Build Professional


Games with Unity, C#, and Visual Studio 1st Edition
Victor G Brusca

https://ebookmeta.com/product/advanced-unity-game-development-
build-professional-games-with-unity-c-and-visual-studio-1st-
edition-victor-g-brusca-2/

Cisco Software Defined Access Networking Technology 1st


Edition Srilatha Vemula Jason Gooley Roddie Hasan

https://ebookmeta.com/product/cisco-software-defined-access-
networking-technology-1st-edition-srilatha-vemula-jason-gooley-
roddie-hasan/
My Name Is Iris A Novel 1st Edition Brando Skyhorse

https://ebookmeta.com/product/my-name-is-iris-a-novel-1st-
edition-brando-skyhorse/

CUET-UG : Section-II (Domain Specific Subject :


Economics/Business Economics) Entrance Test Guide
2023rd Edition Rph Editorial Board

https://ebookmeta.com/product/cuet-ug-section-ii-domain-specific-
subject-economics-business-economics-entrance-test-guide-2023rd-
edition-rph-editorial-board/

The Collectin Protein Family and Its Multiple


Biological Activities 1st Edition Uday Kishore

https://ebookmeta.com/product/the-collectin-protein-family-and-
its-multiple-biological-activities-1st-edition-uday-kishore/

My Lonely Shifter Match Love Bites Dating Agency 1 1st


Edition Skye Alder

https://ebookmeta.com/product/my-lonely-shifter-match-love-bites-
dating-agency-1-1st-edition-skye-alder/

Agile Methodologies In Depth 1st Edition Sudipta


Malakar

https://ebookmeta.com/product/agile-methodologies-in-depth-1st-
edition-sudipta-malakar/
Quantum Mechanics for Electrical Engineers 1st Edition
Isaak D Mayergoyz

https://ebookmeta.com/product/quantum-mechanics-for-electrical-
engineers-1st-edition-isaak-d-mayergoyz/
Introduction to Java
Through Game
Development
Learn Java Programming Skills by
Working with Video Games

Victor G. Brusca
Introduction to Java Through Game Development: Learn Java Programming Skills
by Working with Video Games
Victor G. Brusca
Edison, NJ, USA

ISBN-13 (pbk): 978-1-4842-8950-1 ISBN-13 (electronic): 978-1-4842-8951-8


https://doi.org/10.1007/978-1-4842-8951-8

Copyright © 2023 by Victor G. Brusca


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now
known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with
every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the
trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not
identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to
proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication,
neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or
omissions that may be made. The publisher makes no warranty, express or implied, with respect to the
material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Spandana Chatterjee
Development Editor: James Markham
Coordinating Editor: Mark Powers
Cover designed by eStudioCalamar
Cover image by Kate Laine on Unsplash (www.unsplash.com)
Distributed to the book trade worldwide by Apress Media, LLC, 1 New York Plaza, New York, NY 10004,
U.S.A. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@springer-sbm.com, or visit www.
springeronline.com. Apress Media, LLC is a California LLC and the sole member (owner) is Springer Science +
Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail booktranslations@springernature.com; for reprint,
paperback, or audio rights, please e-mail bookpermissions@springernature.com.
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and
licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales
web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is available to readers
on GitHub (https://github.com/Apress). For more detailed information, please visit http://www.apress.com/
source-­code.
Printed on acid-free paper
I’d like to dedicate this book to my Mom and
Dad and to my Uncle Jimmy and Tianti. I love you all very much.
Table of Contents
About the Author����������������������������������������������������������������������������������������������������� xi

Introduction����������������������������������������������������������������������������������������������������������� xiii

Chapter 1: Introduction�������������������������������������������������������������������������������������������� 1
About This Text������������������������������������������������������������������������������������������������������������������������������ 1
Notes on Formatting��������������������������������������������������������������������������������������������������������������������� 2
Notes on Conventions������������������������������������������������������������������������������������������������������������������� 4
Objectives������������������������������������������������������������������������������������������������������������������������������������� 6
Java Fundamental Topics�������������������������������������������������������������������������������������������������������� 6
Java Advanced Topics�������������������������������������������������������������������������������������������������������������� 7
Game Development Topics������������������������������������������������������������������������������������������������������ 8
Setting Up Your Environment�������������������������������������������������������������������������������������������������������� 9
Getting the Game Projects Setup������������������������������������������������������������������������������������������ 13
Checking Out the Games������������������������������������������������������������������������������������������������������������� 20
Conclusion���������������������������������������������������������������������������������������������������������������������������������� 26
What We Covered������������������������������������������������������������������������������������������������������������������ 27

Chapter 2: What Is Java Programming������������������������������������������������������������������� 29


Computers and Programming����������������������������������������������������������������������������������������������������� 29
Programming Computers������������������������������������������������������������������������������������������������������ 30
Programming Languages������������������������������������������������������������������������������������������������������ 30
Types of Programs/Programming������������������������������������������������������������������������������������������ 32
The Java Programming Language���������������������������������������������������������������������������������������������� 33
The JRE��������������������������������������������������������������������������������������������������������������������������������� 34
The JDK��������������������������������������������������������������������������������������������������������������������������������� 35

v
Table of Contents

Syntax and Semantics���������������������������������������������������������������������������������������������������������������� 35


Basic Syntax Rules���������������������������������������������������������������������������������������������������������������� 36
Keywords/Reserved Words���������������������������������������������������������������������������������������������������� 37
Game Programming�������������������������������������������������������������������������������������������������������������������� 38
The Main Game Loop������������������������������������������������������������������������������������������������������������� 39
Program Structure����������������������������������������������������������������������������������������������������������������� 40
Overview of Included Games������������������������������������������������������������������������������������������������� 40
Conclusion���������������������������������������������������������������������������������������������������������������������������������� 41
What We Covered������������������������������������������������������������������������������������������������������������������ 42

Chapter 3: Variables����������������������������������������������������������������������������������������������� 43
Data Types����������������������������������������������������������������������������������������������������������������������������������� 43
Basic Data Types������������������������������������������������������������������������������������������������������������������� 44
Using Basic Data Types��������������������������������������������������������������������������������������������������������� 46
Challenge: Basic Data Types�������������������������������������������������������������������������������������������������� 49
Challenge Solution����������������������������������������������������������������������������������������������������������������� 51
Advanced Data Types������������������������������������������������������������������������������������������������������������������ 52
The var Keyword and Dynamic Typing����������������������������������������������������������������������������������� 52
Arrays������������������������������������������������������������������������������������������������������������������������������������ 54
Using Arrays�������������������������������������������������������������������������������������������������������������������������� 56
Challenge: Arrays������������������������������������������������������������������������������������������������������������������� 63
Challenge Solution����������������������������������������������������������������������������������������������������������������� 65
Lists��������������������������������������������������������������������������������������������������������������������������������������� 66
Using Lists����������������������������������������������������������������������������������������������������������������������������� 69
Challenge: ArrayLists������������������������������������������������������������������������������������������������������������� 72
Challenge Solution����������������������������������������������������������������������������������������������������������������� 73
Conclusion���������������������������������������������������������������������������������������������������������������������������������� 73
What We Covered������������������������������������������������������������������������������������������������������������������ 74

vi
Table of Contents

Chapter 4: Expressions and Operators, Flow Control, and More on Variables�������� 75


Expressions and Operators��������������������������������������������������������������������������������������������������������� 76
Numeric Expressions������������������������������������������������������������������������������������������������������������������ 80
Boolean Expressions������������������������������������������������������������������������������������������������������������������� 82
Assignment Expressions������������������������������������������������������������������������������������������������������������� 83
Increment/Decrement Expressions��������������������������������������������������������������������������������������������� 84
Bitwise Expressions�������������������������������������������������������������������������������������������������������������������� 85
Bit-Shift Expressions������������������������������������������������������������������������������������������������������������������� 86
Operators and Operator Precedence������������������������������������������������������������������������������������������� 87
Flow Control�������������������������������������������������������������������������������������������������������������������������������� 88
If-Else Statements����������������������������������������������������������������������������������������������������������������� 89
Switch Statements���������������������������������������������������������������������������������������������������������������� 91
Try-Catch Statements������������������������������������������������������������������������������������������������������������ 93
Challenge: Flow Control��������������������������������������������������������������������������������������������������������� 95
Challenge Solution����������������������������������������������������������������������������������������������������������������� 96
More on Variables����������������������������������������������������������������������������������������������������������������������� 98
Enumerations������������������������������������������������������������������������������������������������������������������������ 98
Very Basic Java Classes������������������������������������������������������������������������������������������������������ 100
Casting and Conversion������������������������������������������������������������������������������������������������������� 101
Challenge: Enumerations����������������������������������������������������������������������������������������������������� 106
Challenge: Solution�������������������������������������������������������������������������������������������������������������� 107
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 109
What We Covered���������������������������������������������������������������������������������������������������������������� 109

Chapter 5: More Data Structures�������������������������������������������������������������������������� 111


Multidimensional Arrays����������������������������������������������������������������������������������������������������������� 112
Declaring Multidimensional Arrays�������������������������������������������������������������������������������������� 112
Using Multidimensional Arrays�������������������������������������������������������������������������������������������� 113
Hashes�������������������������������������������������������������������������������������������������������������������������������������� 116
Declaring Hashtables���������������������������������������������������������������������������������������������������������� 117
Using Hashtables����������������������������������������������������������������������������������������������������������������� 119

vii
Table of Contents

Stacks��������������������������������������������������������������������������������������������������������������������������������������� 122
Declaring Stacks����������������������������������������������������������������������������������������������������������������� 123
Using Stacks������������������������������������������������������������������������������������������������������������������������ 124
Queues�������������������������������������������������������������������������������������������������������������������������������������� 128
Parameterized Types and Data Structures�������������������������������������������������������������������������������� 130
Challenge: Stacks��������������������������������������������������������������������������������������������������������������������� 131
Challenge Solution�������������������������������������������������������������������������������������������������������������������� 132
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 134
What We Covered���������������������������������������������������������������������������������������������������������������� 134

Chapter 6: Looping and Iteration�������������������������������������������������������������������������� 135


For Loops���������������������������������������������������������������������������������������������������������������������������������� 136
Basic For Loop��������������������������������������������������������������������������������������������������������������������� 136
For-Each Loop���������������������������������������������������������������������������������������������������������������������� 140
While Loops������������������������������������������������������������������������������������������������������������������������������� 142
Basic While Loop����������������������������������������������������������������������������������������������������������������� 142
Main Game Loop������������������������������������������������������������������������������������������������������������������ 144
Do-While Loops������������������������������������������������������������������������������������������������������������������������� 151
Basic Do-While Loop����������������������������������������������������������������������������������������������������������� 151
Break and Continue������������������������������������������������������������������������������������������������������������������� 152
Challenge: For-Each Loops�������������������������������������������������������������������������������������������������������� 153
Challenge Solution�������������������������������������������������������������������������������������������������������������������� 153
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 154
What We Covered���������������������������������������������������������������������������������������������������������������� 155

Chapter 7: Objects, Classes, and OOP������������������������������������������������������������������� 157


Classes�������������������������������������������������������������������������������������������������������������������������������������� 158
Fields����������������������������������������������������������������������������������������������������������������������������������� 160
Methods������������������������������������������������������������������������������������������������������������������������������� 163
Static Members������������������������������������������������������������������������������������������������������������������� 169
Constructors������������������������������������������������������������������������������������������������������������������������ 172
Challenge: The MmgBmp Class������������������������������������������������������������������������������������������������� 174

viii
Table of Contents

Challenge Solution�������������������������������������������������������������������������������������������������������������������� 176


Challenge: The ScreenGame Class�������������������������������������������������������������������������������������������� 177
Challenge Solution�������������������������������������������������������������������������������������������������������������������� 178
Advanced Class Topics�������������������������������������������������������������������������������������������������������������� 178
Access��������������������������������������������������������������������������������������������������������������������������������� 178
Class Design������������������������������������������������������������������������������������������������������������������������ 179
Static Main Entry Point�������������������������������������������������������������������������������������������������������� 179
Challenge: Dungeon Trap’s Static Main������������������������������������������������������������������������������������� 181
Challenge Solution�������������������������������������������������������������������������������������������������������������������� 183
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 185
What We Covered���������������������������������������������������������������������������������������������������������������� 186

Chapter 8: Encapsulation, Inheritance, and Polymorphism���������������������������������� 189


Encapsulation��������������������������������������������������������������������������������������������������������������������������� 190
Inheritance�������������������������������������������������������������������������������������������������������������������������������� 191
Challenge: Inheritance��������������������������������������������������������������������������������������������������������� 193
Challenge Solution��������������������������������������������������������������������������������������������������������������� 194
Polymorphism��������������������������������������������������������������������������������������������������������������������������� 195
Challenge: Polymorphism���������������������������������������������������������������������������������������������������� 202
Challenge Solution��������������������������������������������������������������������������������������������������������������� 204
Importing Class Libraries���������������������������������������������������������������������������������������������������������� 205
Video Game Project Structure��������������������������������������������������������������������������������������������������� 207
Challenge: Create a New Game Project������������������������������������������������������������������������������� 209
Challenge Solution��������������������������������������������������������������������������������������������������������������� 210
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 221
What We Covered���������������������������������������������������������������������������������������������������������������� 222

ix
Table of Contents

Chapter 9: Debugging Techniques������������������������������������������������������������������������ 223


Output Trace������������������������������������������������������������������������������������������������������������������������������ 223
IDE Debugging Features������������������������������������������������������������������������������������������������������������ 224
Exceptions��������������������������������������������������������������������������������������������������������������������������������� 228
Handling Exceptions������������������������������������������������������������������������������������������������������������ 228
Defining Exceptions������������������������������������������������������������������������������������������������������������� 231
The Stack Trace������������������������������������������������������������������������������������������������������������������� 233
Conclusion�������������������������������������������������������������������������������������������������������������������������������� 234
What We Covered���������������������������������������������������������������������������������������������������������������� 234

Chapter 10: Conclusion����������������������������������������������������������������������������������������� 237


Accomplishments��������������������������������������������������������������������������������������������������������������������� 237
Acknowledgments�������������������������������������������������������������������������������������������������������������������� 240
Where You Go from Here����������������������������������������������������������������������������������������������������������� 242
Saying Goodbye������������������������������������������������������������������������������������������������������������������������ 242

Index��������������������������������������������������������������������������������������������������������������������� 243

x
About the Author
Victor Brusca is an experienced software developer specializing in building cross-­
platform applications and APIs. He regards himself as a self-starter with a keen eye for
detail, an obsessive protection of systems/data, and a desire to write well-documented,
well-encapsulated code. With over 14 years' software development experience, he has
been involved in game and game engine projects on J2ME, T-Mobile SideKick, WebOS,
Windows Phone, Xbox 360, Android, iOS, and web platforms.

xi
Introduction
In this book, “Learning Java Through Game Development,” you will learn the
fundamentals of the Java programming language through a detailed review of the
language’s features, including data structures and OOP, reenforced by coding challenges
throughout the text. Get started today by downloading the book’s projects and source
code here: http://github.com/apress/introduction-to-java-through-gamedev/
Using the associated game projects along with topic specific coding challenges you
will gain experience and knowledge working with the Java programming language, the
NetBeans IDE, a 2D game engine, and three different 2D games! This introductory text
will give you a solid foundation of experience in Java and video game programming for
you to build on.

xiii
CHAPTER 1

Introduction
In this book, Introduction to Java Through Game Development, you will learn the
fundamentals of the Java programming language through hands-on game development
tasks. Through the completion of topic-specific coding challenges, focused on a
particular aspect of one of the three games included with the text, you will gain
experience and knowledge working with the Java programming language, the NetBeans
IDE, a 2D game engine, and three different 2D games. And without further ado, allow me
to provide some details about this book starting with information on the structure and
conventions used in this text.

About This Text


This text will guide you through the basics, and some advanced topics, of the Java
programming language. As we proceed through the different topics involved, you will
be challenged to alter, fix, write, and/or debug a copy of one of the three games included
with the text:

• Pong Clone
• Memory Match

• Dungeon Trap

Each game is written in a proprietary 2D game engine included with the text. The
engine is open source and can be accessed here if you want to take a look at the code
involved:
github.com/apress/intro-java-through-game-dev
The source code associated with this game project can be found in the same repo.

1
© Victor G. Brusca 2023
V. G. Brusca, Introduction to Java Through Game Development, https://doi.org/10.1007/978-1-4842-8951-8_1
Chapter 1 Introduction

Each project includes a fully functioning version of the game with full source code as
well as coding challenges. As you progress through this text, you will be given challenges that
apply certain Java programming language knowledge to the game project at hand. There will
be specific copies of the game project preconfigured for the current chapter’s challenge.
Generally speaking, this text will not require you to be connected to the Internet for
prolonged periods of time outside of downloading a copy of this text and its associated
code and programs. You will need only a small amount of computing resources to run
the associated software and games. You should have a computer with resources at least
equal to the following minimum requirements:

• Dual core CPU

• 4GB of system RAM

• 2GB of storage space

Any relatively modern computer should be able to handle the workload without
a sweat. When working with any modern programming language, a decision must be
made as to how to code in that language. Oftentimes, you can just use Notepad and a few
command-line tools to write and build programs. In our case, however, we would like to
use more advanced tools, so we’ll require the use of an IDE.
An IDE is an Integrated Development Environment and is a fairly complex program
whose job it is to make some of the tasks of the software developer easier so they can
take on larger projects and focus on the coding at hand. Games are complex programs
that often have a lot of moving parts, literally. As such, we stand to benefit greatly by
using an IDE, so we chose the NetBeans IDE for our purposes.
Each example game in this text is written for a simple Java 2D game engine. The
experience gained from working through the coding challenges in this text will go a long
way to giving the reader a solid foundation to create some of their own 2D games in Java
using the included game engine.

Notes on Formatting
Throughout the text there are some consistent formatting patterns I would like to
discuss. First off, each chapter follows a similar, general structure, listed as follows:

• Chapter Introduction

• Topic #1

2
Chapter 1 Introduction

• Topic #2

• Challenge Description

• Challenge Solution

• Chapter Conclusion

The “Topic” and “Challenge” sections are repeated as necessary to touch upon all
the chapter’s topics and will sometimes vary slightly in their construction. In general,
though, each chapter will have a structure close to that outlined previously. In addition
to the text, each chapter will have a namespace entry in the associated game project for
each challenge in that chapter.
There will be more on this to come. For now, the main takeaway is that each
challenge will have a little sandbox copy of the game for you to work with and a
completed example to look at. The structure of the code challenges themselves is present
in the chapter outline, but in any case, let’s discuss them a little bit before we move on.

• Challenge Description

• Challenge Solution

The general structure of the coding challenges presented in the text is listed
previously. The challenge will be presented with a detailed description and a clue,
if any is provided. Of course, there will be variations in the sections and section
titles. The challenges themselves are designed to apply the knowledge learned in the
current programming language topic. Challenges can vary but will always be a small
development task using the Java programming language topic at hand.
Following every challenge section will be an explanation of the correct way to solve
the challenge including screenshots or other resources to demonstrate the proper
functionality. We’ll also indicate clearly where to look for the completed challenge’s
code, so you don’t have to worry about not understanding how a problem was solved.
That sums up the general structure of the chapters and challenge sections of the
text. The overall cadence of the text starts with the fundamental aspects of the Java
programming language and works toward more advanced topics and language features.

3
Another Random Scribd Document
with Unrelated Content
The Project Gutenberg eBook of Warwick,
Leamington & Kenilworth: A Sketch-Book
This ebook is for the use of anyone anywhere in the United States
and most other parts of the world at no cost and with almost no
restrictions whatsoever. You may copy it, give it away or re-use it
under the terms of the Project Gutenberg License included with this
ebook or online at www.gutenberg.org. If you are not located in the
United States, you will have to check the laws of the country where
you are located before using this eBook.

Title: Warwick, Leamington & Kenilworth: A Sketch-Book

Author: Robert Austin

Release date: May 29, 2017 [eBook #54809]


Most recently updated: October 23, 2024

Language: English

Credits: Produced by Chuck Greif and the Online Distributed


Proofreading Team at http://www.pgdp.net (This file was
produced from images available at The Internet Archive)

*** START OF THE PROJECT GUTENBERG EBOOK WARWICK,


LEAMINGTON & KENILWORTH: A SKETCH-BOOK ***
(In certain versions of this etext
[in certain browsers] clicking on
the image will bring up a larger
version.)
(etext transcriber's note)
LIST OF SKETCHES BY
R·S·AUSTIN
1 CAESAR’S·TOWER·WARWICK
2 SMITH·STREET·WARWICK
3 EASTGATE·WARWICK
4 ST. MARY’S·CHURCH·WARWICK
5 ST. MARY’S·CHURCH·WARWICK
6 THE·MARKET·PLACE·WARWICK
7 THE·PORCH·LEYCESTER·HOSPITAL
8 ELIZABETHAN·HOUSES·WARWICK
9 WESTGATE·WARWICK
10 WARWICK·FROM·THE·COMMON
11 OKEN’S·HOUSE·WARWICK
12 NEAR·OKEN’S·PASSAGE·WARWICK
13 MILL·STREET·WARWICK
14 CASTLE·from the·TENNIS·COURTS
15 From·ST. MARY’S·CHURCH·TOWER
16 HOLLY·WALK LEAMINGTON
17 QUEEN·VICTORIA·STATUE·LEAMINGTON
18 ROYAL·PUMP·ROOM·LEAMINGTON
19 ROYAL·PUMP·ROOM·GARDENS
20 ALL·SAINTS·LEAMINGTON
21 CLOCK·TOWER·LEAMINGTON
22 ROSEMARY·HILL·LEAMINGTON
23 KENILWORTH·CASTLE·LEAMINGTON
24 RUINS·KENILWORTH·CASTLE
SMITH·STREET·WARWICK
EASTGATE·WARWICK
ST. MARY’S·CHURCH·WARWICK
ST. MARY’S·CHURCH·WARWICK
THE·MARKET·PLACE·WARWICK
THE·PORCH·LEYCESTER·HOSPITAL
ELIZABETHAN·HOUSES·WARWICK
WESTGATE·WARWICK
WARWICK·FROM·THE·COMMON
OKEN’S·HOUSE·WARWICK
NEAR·OKEN’S·PASSAGE·WARWICK
MILL·STREET·WARWICK
CASTLE·from the·TENNIS·COURTS
From·ST. MARY’S·CHURCH·TOWER
HOLLY·WALK LEAMINGTON

You might also like