Jump Start CoffeeScript

Jump Start CoffeeScript

Index

A

AABB (Axis-Aligned Bounding Box), Collision
alert code for debugging, alert versus console.log-alert versus console.log
animation, Animation-Falling Animation
arguments
default argument values, Default Argument Values-Default Argument Values
arguments, splatted, Splats-Splats
Array, Objects and Arrays-Objects and Arrays
arrays, Destructured Assignment 1: Arrays- Destructured Assignment 1: Arrays
Artificial Intelligence, Ninja AI-Ninja AI, Adding the AI Rules into the Code-Adding the AI Rules into the Code
ASCII maps, Creating a Level-Creating a Level
Ashkenas, Jeremy, Client-side Compilation on the Fly
audio, Audio and Sound Effects-Audio and Sound Effects
auto properties, Constructor and Auto Properties
Axis-Aligned Bounding Box (AABB), Collision

B

base class, Class Inheritance
base classes, Calling the Super Class
Block class, The Block Class-The Block Class
block collision detection, Block Collision Detection- Destructured Assignment 1: Arrays, Collision-Collision
blocks
adding new, Adding New Blocks-Adding New Blocks
digging and building blocks, Digging Holes-Building Blocks
bound functions (see function binding)
bounding boxes, Collision-Collision
branching, Conditionals and Operators-Conditionals and Operators
browsers
Document Object Model and, Document Object Model-Document Object Model
in-browser compilation, The Basics
build tools, Getting Serious with Cake-Getting Serious with Cake

C

Cake command, Getting Serious with Cake-Getting Serious with Cake
canvas, Canvas-Canvas
clearRect method, Context and Soaking up Nulls-Context and Soaking up Nulls
compilation, Drawing Something: Using Canvas
context, Context and Soaking up Nulls-Context and Soaking up Nulls, Drawing Primitives
drawing images, Draw an Image-Draw an Image
drawing primitives, Drawing Primitives-Drawing Primitives
drawing with, Drawing Something: Using Canvas-Drawing Something: Using Canvas
scrolling, Canvas Scrolling-Canvas Scrolling
soaking up nulls, Context and Soaking up Nulls
styling, Styling Your Canvas-Styling Your Canvas
Canvas API, Canvas-Canvas, The Canvas API- Processing a Sprite Sheet
manipulation of objects, Canvas Scrolling-Canvas Scrolling
chaining function calls, Function Gotchas-Function Gotchas
character images (see sprites)
characters
ability to kill, Collision-Collision
action from, Kicking It All Off
adding to game, Adding the Professor- Adding the Professor
at multiple levels, Kicking It All Off-Kicking It All Off
core entity model, Class Inheritance-Class Inheritance
core entity models, Class Inheritance
creating, Introducing Professor Digman-Rünner-Introducing Professor Digman-Rünner
digging and building by, Power to the Professor-Building Blocks
movement logic, Ninja AI-Ninja AI, Adding the AI Rules into the Code-Adding the AI Rules into the Code
player modules, Building Larger Projects
characters utility
creating, Introducing Professor Digman-Rünner
class inheritance, Class Inheritance-Class Inheritance
class types, testing
testing, Testing Class Types-Testing Class Types
classes, Classes-Classes, Game Classes-Kicking It All Off, The Block Class
(see also Block class)
(see also Level class)
client-side compilation, Client-side Compilation on the Fly-Client-side Compilation on the Fly
client-side manipulation, with jQuery, Using jQuery-Using jQuery
closures, Function Binding
coffee utility, Installing CoffeeScript Properly
change deployment, Setting Up Our Project
installation, Installing Coffee-Installing Coffee
options, Coffee Options-Coffee Options
CoffeeScript, Installing CoffeeScript Properly, Setting Up Our Project
(see also compilation)
(see also installation)
advanced, Functions Revisited-And There Was Light!
basics, The Basics, CoffeeScript Fundamentals-Ready to Rumble
defining snippets of, Client-side Compilation on the Fly-Client-side Compilation on the Fly
features of, Getting Started
JavaScript and, Getting Started-Getting Started
outputting help, Installing Coffee
website, The Basics
collecting particles, Collecting-Testing Class Types
collision detection, Block Collision Detection- Destructured Assignment 1: Arrays, Collision-Collision
colors, HSL, Drawing Something: Using Canvas
comments, Comments-Comments
compilation, Setting Up Our Project
canvas, Drawing Something: Using Canvas
client-side compilation, Client-side Compilation on the Fly-Client-side Compilation on the Fly
in-browser compilation, The Basics
lists of files, Compiling a List of Files-Compiling a List of Files
precompiled JavaScript, Client-side Compilation on the Fly
comprehensions, Loops and Ranges, List Comprehensions-List Comprehensions
conditionals, Conditionals and Operators-Conditionals and Operators
console tool, alert versus console.log-alert versus console.log
console tool function, alert versus console.log
constructors, Constructor and Auto Properties-Constructor and Auto Properties
controllers, Particles-Particles
cruft, Missing Cruft-Missing Cruft
CRUISING code, Adding the AI Rules into the Code-Adding the AI Rules into the Code
CSS effects, Canvas, CSS Effects-Cheap Parallax Effect

D

debugging, alert versus console.log-alert versus console.log
default argument values, Default Argument Values-Default Argument Values
destructured assignment (pattern matching), Destructured Assignment 1: Arrays- Destructured Assignment 1: Arrays, Splats, Destructured Assignment 2: Objects-Destructured Assignment 2: Objects
dialogs, Overlaying Dialogs-Overlaying Dialogs
dispatching
with switch statements, Dispatching with Switch-Dispatching with Switch
distance function, Functions Revisited
Document Object Model (DOM), Document Object Model-Document Object Model
player input and, Handling Player Input- Handling Player Input
document, missing, Context and Soaking up Nulls
DOM elements (see Document Object Model (DOM))
drawing (see canvas)
drawSprite function, Default Argument Values-Default Argument Values

E

entity models, Class Inheritance-Class Inheritance
equality-testing, Operator Aliases-Operator Aliases
event listeners, Handling Player Input- Handling Player Input

F

falling animation, Falling Animation-Falling Animation
files
compiling a list of, Compiling a List of Files-Compiling a List of Files
for loops, Loops and Ranges, List Comprehensions-List Comprehensions
function binding, Function Binding-Function Binding
functions, Functions-Functions
bound functions, Function Binding-Function Binding
chaining function calls, Function Gotchas-Function Gotchas
lining up code blocks, Function Gotchas-Function Gotchas
optional parentheses, Function Gotchas-Function Gotchas
string reversal example, The Basics-The Basics
ways of defining, Functions Revisited-Team Meeting

G

game classes, Game Classes-Kicking It All Off
game development, Features to Boost Your Game, Handling Player Input, Adding the Professor, Gravity
(see also characters)
(see also movement)
(see also player input)
ability to kill, Collision-Collision
collecting goal, Collecting-Testing Class Types
game development utility
nested loops, Loops and Ranges
Game Jam-a-Thon (see HTML5 Game Jam Challenge)
game loops, Adding the Professor, The Game Loop-Looping with RequestAnimationFrame
with RequestAnimationFrame, Looping with RequestAnimationFrame-Looping with RequestAnimationFrame
game screens, Adding Screens-Adding Screens, The Game Screen-The Game Screen
getBlocks function, Destructured Assignment 1: Arrays
GitHub repository, Client-side Compilation on the Fly
graphical processing abilities, DOM and canvas, Document Object Model-Canvas
gravity, Gravity-Gravity

H

help, outputting, Installing Coffee
HSL (hue, saturation, lightness) colors, Drawing Something: Using Canvas
HTML5 Canvas API (see Canvas API)
HTML5 Game Jam Challenge, HTML5 Game Jam Challenge, Introducing Professor Digman-Rünner
(see also characters)
HTML5 tools, CoffeeScript and HTML5 FX-Particles
HUNTING code, Adding the AI Rules into the Code-Adding the AI Rules into the Code

I

images, drawing, Draw an Image-Draw an Image
indentation, Whitespace
inheritance, Class Inheritance-Class Inheritance
input (see player input)
installation, Installing CoffeeScript Properly-Installing Node.js
coffee utility, Installing Coffee-Installing Coffee
global versus local, Installing Coffee
Node.js, Installing Node.js-Installing Node.js
overview, Installing: an Overview-Installing: an Overview

J

JavaScript
CoffeeScript and, Getting Started-Getting Started
CoffeeScript code compared with, The Basics-The Basics
embedded in CoffeeScript, Returning to JavaScript-Returning to JavaScript
functions in, List Comprehensions
jQuery, Using jQuery-Using jQuery

K

key codes, Dispatching with Switch-Dispatching with Switch
keyboard input, Handling Player Input- Handling Player Input
keys, Objects and Arrays

L

ladders, Ladders-Ladders
Level class, The Level Class-The Level Class
levels, Creating a Level
characters at multiple, Kicking It All Off-Kicking It All Off
creating, Creating a Level-Creating a Level
ladders for movement up, Ladders-Ladders
loading levels, Loading Levels-Loading Levels
use in game, Driving a Level-Driving a Level
list comprehensions, List Comprehensions-List Comprehensions
loops, Loops and Ranges-Loops and Ranges, List Comprehensions-List Comprehensions

M

maps, Creating a Level-Creating a Level, Loading Levels
move function, Block Collision Detection
movement, Gravity
(see also collision detection)
Artificial Intelligence, Ninja AI-Ninja AI, Adding the AI Rules into the Code-Adding the AI Rules into the Code
gravity simulation, Gravity-Gravity
ladders for, Ladders-Ladders
scrolling, Cheap Parallax Effect-Canvas Scrolling
setInterval function, Drawing Something: Using Canvas
walk cycles, Walk Animation-Walk Animation

N

nested blocks, Whitespace
Node.js
installation, Installing: an Overview-Installing: an Overview, Installing Node.js-Installing Node.js
running from your terminal, Installing Node.js
noise, Game Over
(see also sound effects)
noise function, Drawing Something: Using Canvas
now function, Block Collision Detection
npm (Node’s package manager), Installing Coffee

O

object-oriented models, Class Inheritance
Objects, Objects and Arrays-Objects and Arrays
objects
destructured assignment, Destructured Assignment 2: Objects-Destructured Assignment 2: Objects
prototypal inheritance, Classes
openGL, Further Options
operator aliases, Operator Aliases-Operator Aliases
operators, Conditionals and Operators-Conditionals and Operators

P

parallax scrolling, Cheap Parallax Effect-Cheap Parallax Effect
parentheses, Loading Levels
particle effect, Canvas
particles, Adding New Blocks-Adding New Blocks, Collecting-Testing Class Types, Particles-Particles
pattern matching (destructured assignment), Destructured Assignment 1: Arrays- Destructured Assignment 1: Arrays, Splats, Destructured Assignment 2: Objects-Destructured Assignment 2: Objects
Play! framework, Installing CoffeeScript Properly
Player function, Classes, Set for Life
(see also characters)
player input, Building Larger Projects, Handling Player Input- Handling Player Input
project planning, Setting Up Our Project-Setting Up Our Project
larger projects, Building Larger Projects-Getting Serious with Cake
prototypal inheritance, Classes

R

random map, Random Map-Random Map
range loops, Loops and Ranges-Loops and Ranges
inclusive versus exclusive ranges, Loops and Ranges-Loops and Ranges
rendering, Further Options, Adding the Professor- Adding the Professor
HTML5 games, Choosing Our Tech-Drawing Something: Using Canvas
RequestAnimationFrame, Looping with RequestAnimationFrame-Looping with RequestAnimationFrame
reserved words as keys, Objects and Arrays
reset method, Improving Our Loop
Ruby on Rails, Installing CoffeeScript Properly

S

safety wrappers, Removing the Safety Wrapper-Removing the Safety Wrapper
Scalable Vector Graphics, Further Options
scope, Types, Variables, and Scope
screens, Screens and Dialogs-The Game Screen
script tags, Client-side Compilation on the Fly-Client-side Compilation on the Fly
scrolling, Cheap Parallax Effect-Canvas Scrolling
self = this variable, Improving Our Loop
setInterval function, Drawing Something: Using Canvas
setTimeout function, Improving Our Loop
short function syntax, Functions
significant whitespace, Whitespace-Whitespace
sine wave path, Adding New Blocks-Adding New Blocks
snap function, Block Collision Detection
sound effects, Audio and Sound Effects-Audio and Sound Effects, Game Over
(see also noise)
spaces (significant whitespace), Whitespace-Whitespace
splats, Splats-Splats
sprites, Processing a Sprite Sheet- Processing a Sprite Sheet, Default Argument Values-Default Argument Values
grid development, Random Map
square function, Functions Revisited
state machine, Ninja AI
strings, Strings-Strings
super class, Calling the Super Class-Calling the Super Class
SVG (Scalable Vector Graphics), Further Options
switch statements, Dispatching with Switch-Dispatching with Switch

T

tabs (significant whitespace), Whitespace-Whitespace
test function, Functions Revisited
title screen, Inserting a Title Screen-Inserting a Title Screen
basic title screen, Drawing Primitives
transpilation into JavaScript, Getting Started-Getting Started
types, Types, Variables, and Scope

U

updating, Adding the Professor- Adding the Professor

V

variables, Types, Variables, and Scope-Types, Variables, and Scope
vignettes, Styling Your Canvas

W

walk cycles, Walk Animation-Walk Animation
Web Audio specification, Audio and Sound Effects
WebGL, Further Options
whitespace, Whitespace-Whitespace
$44 $29
$19

Pre-LaunchLaunch: November 2012