C:\Users\weaver\Justin\Workspace\UAA_2011_A_Spring\CS470\Project\OrbitClash\OrbitClash\SolidEntity.cs
|
|
- Jerome Andrews
- 5 years ago
- Views:
Transcription
1 1 #region Header Comments 2 3 /* $Id: SolidEntity.cs :53:42Z weaver $ 4 * 5 * Author: Justin Weaver 6 * Date: Mar * Description: Extendable abstract class to facilitate collision detection 8 * between particles. This class is extended by several classes in the game 9 * (e.g. Planet, Ship, and Bullet classes). 10 */ #endregion Header Comments using System; 15 using System.Collections.Generic; 16 using System.Drawing; 17 using SdlDotNet.Core; 18 using SdlDotNet.Graphics; 19 using SdlDotNet.Graphics.Sprites; 20 using SdlDotNet.Particles; namespace OrbitClash 23 { 24 // Notice that this class extends SDL.NET's ParticleSprite class. 25 internal abstract class SolidEntity : ParticleSprite 26 { 27 #region Properties /* Get/Set current particle position (top-left corner) in a nice tidy 30 * Point class. This is just a simple matter of float <--> int 31 * conversion. Use Truncate rather than Floor, Ceiling, or Round in 32 * order to avoid the remote possibility of breaching the boundaries of 33 * the sprite's surface image. 34 */ 35 public Point Position 36 { 37 get 38 { 39 int x = Convert.ToInt32(Math.Truncate(this.X)); 40 int y = Convert.ToInt32(Math.Truncate(this.Y)); 41 return new Point(x, y); 42 } 43 set 44 { 45 this.x = value.x; 46 this.y = value.y; 47 } 48 } // Get the current position of the center of the particle image. 51 public Point Center 52 { 53 get 54 { -1-
2 55 /* Locate the center using the position of the current particle 56 * image's top-left corner, and its Size. 57 */ // Start at the top-left corner of the image's rectangle. 60 Point center = this.position; // Get the image size. 63 Size size = this.sprite.size; // Find the approximate center. 66 center.x += size.width / 2; 67 center.y += size.height / 2; return center; 70 } 71 } // True if this particle is alive (exists); false otherwise. 74 public bool IsAlive 75 { 76 get 77 { 78 // Non-zero particle Life means: alive. 79 return (this.life!= 0); 80 } 81 } #endregion Properties #region Constructors public SolidEntity(Sprite sprite) 88 : base(sprite, 0, 0, new Vector(), 0) 89 { 90 } public SolidEntity(Sprite sprite, float x, float y, Vector vector, int life) 93 : base(sprite, x, y, vector, life) 94 { 95 } #endregion Constructors #region Collision Detection /* A Few Important Notes About Collision Detection 102 * 103 * CS-SDL (which is the C# wrapper for SDL) allows the programmer to 104 * set a target frame rate (fps). If the machine can't maintain the 105 * target rate, things just slow down. In other words, CS-SDL doesn t 106 * drop frames, rather it simply calls your Tick event handler as fast 107 * as it can manage. 108 * -2-
3 109 * I could have implemented frame rate independent movement, to 110 * accommodate slower machines, by moving particles according to the 111 * elapsed time since the last Tick() call. However, I did not, 112 * because it would require me to develop a predictive collision 113 * detection system to use in tandem with my after-the-fact collision 114 * detection system. Without the predictive system, entities could 115 * potentially pass through each other without the collision being 116 * detected. I might still do it, but time is a tough commodity to 117 * come by these days! Besides, predictive collision detection was 118 * never part of the plan I put forward in my presentation (or design 119 * document), but the phrase keep it simple appeared several times. 120 * 121 * On the positive side, the requirements for this game are pretty 122 * minimal. I believe it may be quite a challenge to find a Windows 123 * machine (with.net 4.0) that couldn't run this game without missing 124 * a beat (with no other crippling system loads, naturally). Heck, my 125 * buddy even tested this game in on a virtual machine running Windows 126 * 7 on his half-decade-old Mac laptop, and it looked great. 127 * 128 * To tie up the last loose end, I set a universal speed limit, which 129 * is enforced after all the other updates to solid entities during 130 * each Tick(). The speed limit ensures that no particle can ever 131 * travel further than the radius of the smallest entity in the game 132 * in one Tick(). Thus, the speed limit makes missed collisions, even 133 * on a slow machine, very unlikely. 134 */ public bool GetCollisionStatus(SolidEntity otherentity) 137 { 138 if (!this.isalive) 139 // Dead entities don't collide, because they don't exist. 140 return false; return SolidEntity.GetCollisionStatus(this, otherentity); 143 } /* Returns true if the two specified entities are colliding. This 146 * method has pixel-level accuracy. 147 */ 148 private static bool GetCollisionStatus(SolidEntity entity1, SolidEntity entity2) 149 { 150 /* Immediately grab a reference to each particle sprite image 151 * (Surface), so that any sprite animation will not trip us up by 152 * changing surfaces under us. 153 */ 154 Surface surface1 = entity1.sprite.surface; 155 Surface surface2 = entity2.sprite.surface; // Find the position of each particle image. 158 Point surface1position = new Point(Convert.ToInt32(Math.Truncate(entity1.X )), Convert.ToInt32(Math.Truncate(entity1.Y))); 159 Point surface2position = new Point(Convert.ToInt32(Math.Truncate(entity2.X )), Convert.ToInt32(Math.Truncate(entity2.Y)));
4 161 // Find the size of each particle image. 162 Size surface1size = new Size(Convert.ToInt32(Math.Truncate(entity1.Width)), Convert.ToInt32(Math.Truncate(entity1.Height))); 163 Size surface2size = new Size(Convert.ToInt32(Math.Truncate(entity2.Width)), Convert.ToInt32(Math.Truncate(entity2.Height))); // Put 'em together to make rectangles. 166 Rectangle surface1rec = new Rectangle(surface1Position, surface1size); 167 Rectangle surface2rec = new Rectangle(surface2Position, surface2size); if (!surface1rec.intersectswith(surface2rec)) 170 /* The two entity's bounding rectangles don't even intersect. 171 * They obviously aren't colliding. 172 */ 173 // False: entity1 and entity2 are not colliding. 174 return false; /* Their rectangles do intersect, so now we need to check each 177 * pixel in the overlapping area. 178 */ // Find the intersecting rectangle of the two entities. 181 Rectangle intersectingrectangle = new Rectangle(surface1Rec.Location, surface1rec.size); 182 intersectingrectangle.intersect(surface2rec); /* Lock the two entitiy's surfaces into memory to allow direct 185 * pixel manipulation with high performance. 186 */ 187 surface1.lock(); 188 surface2.lock(); // Check each overlapping pixel. 191 for (int x = 0; x < intersectingrectangle.width; x++) 192 for (int y = 0; y < intersectingrectangle.height; y++) 193 { 194 /* Get the position within each surface of the overlapping 195 * pixel. 196 */ 197 Point surface1pixelposition = new Point(intersectingRectangle.X - surface1rec.x + x, intersectingrectangle.y - surface1rec.y + y); 198 Point surface2pixelposition = new Point(intersectingRectangle.X - surface2rec.x + x, intersectingrectangle.y - surface2rec.y + y); /* Get the color from each surface at the overlapping 201 * pixel. Unlike the GetPixel and SetPixel operations of 202 * the.net Image class, the GetPixel and SetPixel 203 * operations of the C# SDL Surface class allow direct 204 * pixel manipulation, and do not create their own locks 205 * (hence the locks happen outside the loop). 206 */ 207 Color surface1pixelcolor = surface1.getpixel(surface1pixelposition); 208 Color surface2pixelcolor = surface2.getpixel(surface2pixelposition);
5 210 /* True if the pixel at the overlapping point in the 211 * associated surface is transparent. 212 */ 213 bool surface1pixelistransparent = surface1.transparent && surface1pixelcolor == surface1.transparentcolor; 214 bool surface2pixelistransparent = surface2.transparent && surface2pixelcolor == surface2.transparentcolor; /* If both pixels are non-transparent, then we have a 217 * collision! 218 */ 219 if (!surface1pixelistransparent &&!surface2pixelistransparent) 220 { 221 // Unlock the two surfaces before returning. 222 surface1.unlock(); 223 surface2.unlock(); // True: entity1 and entity2 are colliding. 226 return true; 227 } 228 } // Unlock the two surfaces before returning. 231 surface1.unlock(); 232 surface2.unlock(); // False: entity1 and entity2 are not colliding. 235 return false; 236 } #endregion Collision Detection #region Static Helper Operations /* Note: SDL.NET provides the Vector class, which is a vector in the 243 * mathematical sense (i.e. point, direction, magnitude), rather than 244 * the Vector array-object many Java folks will likely be familiar 245 * with. 246 * 247 * Vectors are used to specify particle velocity, but they also make 248 * handy shortcuts for a few generally useful tasks (see below). 249 */ /* Return the position that lies the specified distance (in pixels) 252 * from the specified position, at the specified angle (in degrees). 253 */ 254 public static Point GetPosition(Point startingposition, int angledeg, int distancepixels) 255 { 256 // Create a vector at the starting position. 257 Vector basevector = new Vector(startingPosition.X, startingposition.y, 0); // Create a vector with the specified angle and length. 260 Vector offsetvector = Vector.FromDirection(angleDeg, distancepixels); -5-
6 // Add the two vectors. 263 Vector resultvector = basevector + offsetvector; // Return the resulting position. 266 return resultvector.point; 267 } /* Given two SolidEntity objects, returns the distance (in pixels) 270 * between the centers of the two objects. 271 */ 272 public static double GetDistance(SolidEntity entity1, SolidEntity entity2) 273 { 274 // Create a vector between the two entities to find the distance. 275 Vector v = new Vector(entity1.Center, entity2.center); 276 return v.length; 277 } /* Given two SolidEntity objects, returns the degree of the angle 280 * between the centers of the two entities (with entity1's center as 281 * the origin). 282 */ 283 public static int GetDirectionDeg(SolidEntity entity1, SolidEntity entity2) 284 { 285 // Create a vector between the two entities to find the angle. 286 Vector v = new Vector(entity1.Center, entity2.center); 287 return Convert.ToInt32(Math.Truncate(v.DirectionDeg)); 288 } #endregion Static Helper Operations 291 } 292 } -6-
Bridges To Computing
Bridges To Computing General Information: This document was created for use in the "Bridges to Computing" project of Brooklyn College. You are invited and encouraged to use this presentation to promote
More informationPlatform Games Drawing Sprites & Detecting Collisions
Platform Games Drawing Sprites & Detecting Collisions Computer Games Development David Cairns Contents Drawing Sprites Collision Detection Animation Loop Introduction 1 Background Image - Parallax Scrolling
More informationPong in Unity a basic Intro
This tutorial recreates the classic game Pong, for those unfamiliar with the game, shame on you what have you been doing, living under a rock?! Go google it. Go on. For those that now know the game, this
More informationThis is a set of tiles I made for a mobile game (a long time ago). You can download it here:
Programming in C++ / FASTTRACK TUTORIALS Introduction PART 11: Tiles It is time to introduce you to a great concept for 2D graphics in C++, that you will find very useful and easy to use: tilemaps. Have
More informationCollisions/Reflection
Collisions/Reflection General Collisions The calculating whether or not two 2D objects collide is equivalent to calculating if the two shapes share a common area (intersect). For general polygons this
More informations Fluid Dynamics v2.0
s Fluid Dynamics v2.0 For Adobe After Effects 7.0/CS3 User Guide CONTENTS WHAT S NEW... 3 REQUIREMENTS... 3 INSTALLATION... 3 QUICK START... 4 SUPPORT FOR FLUID DYNAMICS... 4 INTRODUCTION... 4 FLUID...
More informationLECTURE 4. Announcements
LECTURE 4 Announcements Retries Email your grader email your grader email your grader email your grader email your grader email your grader email your grader email your grader email your grader email your
More informationNo more engine requirements! From now on everything you work on is designed by you. Congrats!
No more engine requirements! From now on everything you work on is designed by you Congrats! Design check required Ben: Thursday 2-4 David: Thursday 8-10 Jeff: Friday 2-4 Tyler: Friday 4-6 Final III Don
More informationPixelSurface a dynamic world of pixels for Unity
PixelSurface a dynamic world of pixels for Unity Oct 19, 2015 Joe Strout joe@luminaryapps.com Overview PixelSurface is a small class library for Unity that lets you manipulate 2D graphics on the level
More informationAsteroid Destroyer How it Works
Asteroid Destroyer How it Works This is a summary of some of the more advance coding associated with the Asteroid Destroyer Game. Many of the events with in the game are common sense other than the following
More informationIntroduction to Game Programming Lesson 4 Lecture Notes
Introduction to Game Programming Lesson 4 Lecture Notes Learning Objectives: Following this lecture, the student should be able to: Define frame rate List the factors that affect the amount of time a game
More informationMinecraft Due: Mar. 1, 2015
CS1972 Topics in 3D Game Engine Development Barbara Meier Minecraft Due: Mar. 1, 2015 Introduction In this assignment you will build your own version of one of the most popular indie games ever: Minecraft.
More informationStart Visual Studio, start a new Windows Form project under the C# language, name the project BalloonPop MooICT and click OK.
Start Visual Studio, start a new Windows Form project under the C# language, name the project BalloonPop MooICT and click OK. Before you start - download the game assets from above or on MOOICT.COM to
More informationCollision detection. Piotr Fulma«ski. 19 pa¹dziernika Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska
Collision detection Piotr Fulma«ski Wydziaª Matematyki i Informatyki, Uniwersytet Šódzki, Polska 19 pa¹dziernika 2015 Table of contents Collision in games Algorithms to detect collision in games depend
More informationForm Properties Window
C# Tutorial Create a Save The Eggs Item Drop Game in Visual Studio Start Visual Studio, Start a new project. Under the C# language, choose Windows Form Application. Name the project savetheeggs and click
More informationBRASIL Language Specification
BRASIL Language Specification March 9, 2010 Contents 1 Introduction 3 2 Getting Started: Simulations in BRASIL 4 2.1 The State-Effect Design Pattern.................................. 5 2.2 Supporting the
More informationChapter 12: Functions Returning Booleans and Collision Detection
Processing Notes Chapter 12: Functions Returning Booleans and Collision Detection So far we have not done much with booleans explicitly. Again, a boolean is a variable or expression that takes on exactly
More informationDigiPen Institute of Technology
DigiPen Institute of Technology Presents Session Four: Game Design Elements DigiPen Institute of Technology 5001 150th Ave NE, Redmond, WA 98052 Phone: (425) 558-0299 www.digipen.edu 2005 DigiPen (USA)
More informationHow to Program a Primitive Twin-Stick Shooter in Monogame 3.4
How to Program a Primitive Twin-Stick Shooter in Monogame 3.4 This is a tutorial for making a basic twin-stick style shooter in C# using Monogame 3.4 and Microsoft Visual Studio. This guide will demonstrate
More informationClick on the empty form and apply the following options to the properties Windows.
Start New Project In Visual Studio Choose C# Windows Form Application Name it SpaceInvaders and Click OK. Click on the empty form and apply the following options to the properties Windows. This is the
More informationChapter 1 Getting Started
Chapter 1 Getting Started The C# class Just like all object oriented programming languages, C# supports the concept of a class. A class is a little like a data structure in that it aggregates different
More information8 Physics Simulations
8 Physics Simulations 8.1 Billiard-Game Physics 8.2 Game Physics Engines Literature: K. Besley et al.: Flash MX 2004 Games Most Wanted, Apress/Friends of ED 2004 (chapter 3 by Keith Peters) 1 Billiard-Game
More informationStart Visual Studio, create a new project called Helicopter Game and press OK
C# Tutorial Create a helicopter flying and shooting game in visual studio In this tutorial we will create a fun little helicopter game in visual studio. You will be flying the helicopter which can shoot
More informationTUTORIAL. Ve r s i on 1. 0
TUTORIAL Ve r s i on 1. 0 C O N T E N T S CHAPTER 1 1 Introduction 3 ABOUT THIS GUIDE... 4 THIS TUTORIAL...5 PROJECT OUTLINE...5 WHAT'S COVERED...5 SOURCE FILES...6 CHAPTER 2 2 The Tutorial 7 THE ENVIRONMENT...
More informationPlease go to the Riemer s 2D XNA Tutorial for C# by clicking on You are allowed to progress ahead of me by
2D Shooter game- Part 2 Please go to the Riemer s 2D XNA Tutorial for C# by clicking on http://bit.ly/riemers2d You are allowed to progress ahead of me by reading and doing to tutorial yourself. I ll
More informationDomain-Driven Design Activity
Domain-Driven Design Activity SWEN-261 Introduction to Software Engineering Department of Software Engineering Rochester Institute of Technology Entities and Value Objects are special types of objects
More informationSimTenero Particle Physics
SimTenero Particle Physics Getting Started The heart of the particle system is the Emitter. This represents the point in space where particles will be created and contains all of the parameters that define
More informationUsing Flash Animation Basics
Using Flash Contents Using Flash... 1 Animation Basics... 1 Exercise 1. Creating a Symbol... 2 Exercise 2. Working with Layers... 4 Exercise 3. Using the Timeline... 6 Exercise 4. Previewing an animation...
More informationCollision detection. Piotr Fulma«ski. 1 grudnia
Collision detection Piotr Fulma«ski piotr@fulmanski.pl 1 grudnia 2016 Table of contents Collision in games Algorithms to detect collision in games depend on the type of shapes that can collide (e.g. rectangle
More informationComputer Games Development Spring Practical 3 GameCore, Transforms & Collision Detection
In this practical we are going to look at the GameCore class in some detail and then move on to examine the use of transforms, collision detection and tile maps. Combined with the material concerning sounds
More informationPrinciples of Computer Game Design and Implementation. Lecture 11
Principles of Computer Game Design and Implementation Lecture 11 We already learned Vector operations Sum Subtraction Dot product Cross product A few others about jmonkey, eg. User input, camera, etc 2
More information(C) 2010 Pearson Education, Inc. All rights reserved. Omer Boyaci
Omer Boyaci A sprite must monitor the game environment, for example, reacting to collisions with different sprites or stopping when it encounters an obstacle. Collision processing can be split into two
More informationPolygon Filling. Can write frame buffer one word at time rather than one bit. 2/3/2000 CS 4/57101 Lecture 6 1
Polygon Filling 2 parts to task which pixels to fill what to fill them with First consider filling unclipped primitives with solid color Which pixels to fill consider scan lines that intersect primitive
More informationMultimedia-Programmierung Übung 5
Multimedia-Programmierung Übung 5 Ludwig-Maximilians-Universität München Sommersemester 2009 Ludwig-Maximilians-Universität München Multimedia-Programmierung 5-1 Today Sprite animations in Advanced collision
More informationVideo Games. Writing Games with Pygame
Video Games Writing Games with Pygame Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0
More informationMath Dr. Miller - Constructing in Sketchpad (tm) - Due via by Friday, Mar. 18, 2016
Math 304 - Dr. Miller - Constructing in Sketchpad (tm) - Due via email by Friday, Mar. 18, 2016 As with our second GSP activity for this course, you will email the assignment at the end of this tutorial
More informationAnimation in Java 3D
Computer Game Technologies Animation in Java 3D Computer Game Technologies, 2017 1 Animation in Java 3D Animation is a change without any direct user action Time-based animation Interpolators Alpha objects
More informationAdding Depth to Games
Game Maker Tutorial Adding Depth to Games Written by Mark Overmars Copyright 2007-2009 YoYo Games Ltd Last changed: December 23, 2009 Uses: Game Maker 8.0, Pro Edition, Advanced Mode Level: Intermediate
More informationSmoother Graphics Taking Control of Painting the Screen
It is very likely that by now you ve tried something that made your game run rather slow. Perhaps you tried to use an image with a transparent background, or had a gazillion objects moving on the window
More informationW: The LiveWires module
: Gareth McCaughan and Paul Wright Revision 1.16, October 27, 2001 Credits c Gareth McCaughan and Paul Wright. All rights reserved. This document is part of the LiveWires Python Course. You may modify
More informationGstarCAD Complete Features Guide
GstarCAD 2017 Complete Features Guide Table of Contents Core Performance Improvement... 3 Block Data Sharing Process... 3 Hatch Boundary Search Improvement... 4 New and Enhanced Functionalities... 5 Table...
More informationA Summoner's Tale MonoGame Tutorial Series. Chapter 9. Conversations Continued
A Summoner's Tale MonoGame Tutorial Series Chapter 9 Conversations Continued This tutorial series is about creating a Pokemon style game with the MonoGame Framework called A Summoner's Tale. The tutorials
More informationUnderstanding Geospatial Data Models
Understanding Geospatial Data Models 1 A geospatial data model is a formal means of representing spatially referenced information. It is a simplified view of physical entities and a conceptualization of
More informationOMINO PYTHON for After Effects
OMINO PYTHON for After Effects from omino.com, 2010 1 Contents Introduction... 3 Installation & Licensing... 4 Quick Start! Instant Gratification... 5 The Workflow... 6 A Script... 7 A Script That Draws...
More informationNetworking, Traffic Jams, and Schrödinger's Cat. Shawn Hargreaves Software Development Engineer XNA Community Game Platform Microsoft
Networking, Traffic Jams, and Schrödinger's Cat Shawn Hargreaves Software Development Engineer XNA Community Game Platform Microsoft XNA Framework Networking I spoke about networking at Gamefest 2007 What
More informationCS 201 Advanced Object-Oriented Programming Lab 4 - Asteroids, Part 2 Due: February 24/25, 11:30 PM
CS 201 Advanced Object-Oriented Programming Lab 4 - Asteroids, Part 2 Due: February 24/25, 11:30 PM Introduction to the Assignment In this lab, you will complete the Asteroids program that you started
More informationGame Programming with. presented by Nathan Baur
Game Programming with presented by Nathan Baur What is libgdx? Free, open source cross-platform game library Supports Desktop, Android, HTML5, and experimental ios support available with MonoTouch license
More informationCS193D Handout 10 Winter 2005/2006 January 23, 2006 Pimp Your Classes
CS193D Handout 10 Winter 2005/2006 January 23, 2006 Pimp Your Classes See also: The middle part of Chapter 9 (194-208), Chapter 12 Pretty much any Object-Oriented Language lets you create data members
More informationAdobe Photoshop How to Use the Marquee Selection Tools
Adobe Photoshop How to Use the Marquee Selection Tools In Photoshop there are various ways to make a selection and also various reasons why you'd want to make a selection. You may want to remove something
More informationMacromedia Director Tutorial 4
Macromedia Director Tutorial 4 Further Lingo Contents Introduction...1 Play and Play done...2 Controlling QuickTime Movies...3 Controlling Playback...3 Introducing the if, then, else script...6 PuppetSprites
More informationLecture 13 Geometry and Computational Geometry
Lecture 13 Geometry and Computational Geometry Euiseong Seo (euiseong@skku.edu) 1 Geometry a Branch of mathematics concerned with questions of shape, size, relative position of figures, and the properties
More informationDanmaku Mono Documentation
Danmaku Mono Documentation Release 0.01b UltimaOmega February 21, 2017 Miscellaneous Functions 1 Miscellaneous Functions 3 1.1 GetKeyState(keytocheck)........................................ 3 1.2 SetKeyState(key,
More informationCS 106 Winter Lab 05: User Interfaces
CS 106 Winter 2018 Lab 05: User Interfaces Due: Wednesday, February 6th, 11:59pm This lab will allow you to practice User Interfaces using Direct Manipulation and ControlP5. Each question is on a separate
More informationSolution Notes. COMP 151: Terms Test
Family Name:.............................. Other Names:............................. ID Number:............................... Signature.................................. Solution Notes COMP 151: Terms
More informationTEAM 12: TERMANATOR PROJECT PROPOSAL. TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu
TEAM 12: TERMANATOR PROJECT PROPOSAL TEAM MEMBERS: Donald Eng Rodrigo Ipince Kevin Luu 1. INTRODUCTION: This project involves the design and implementation of a unique, first-person shooting game. The
More informationPhotoshop Tutorial: Basic Selections
Photoshop Tutorial: Basic Selections Written by Steve Patterson, Edited by Mr. Nickel In this Photoshop tutorial, we're going to look at how to get the most out of Photoshop's basic selection tools, such
More informationGame Board: Enabling Simple Games in TouchDevelop
Game Board: Enabling Simple Games in TouchDevelop Manuel Fähndrich Microsoft Research One Microsoft Way, Redmond WA 98052, USA maf@microsoft.com February 23, 2012 Abstract TouchDevelop is a novel application
More information1 GSW Bridging and Switching
1 Sandwiched between the physical and media access layers of local area networking (such as Ethernet) and the routeing of the Internet layer of the IP protocol, lies the thorny subject of bridges. Bridges
More informationHTML and CSS a further introduction
HTML and CSS a further introduction By now you should be familiar with HTML and CSS and what they are, HTML dictates the structure of a page, CSS dictates how it looks. This tutorial will teach you a few
More informationIP subnetting made easy
Version 1.0 June 28, 2006 By George Ou Introduction IP subnetting is a fundamental subject that's critical for any IP network engineer to understand, yet students have traditionally had a difficult time
More informationSPRITES Moving Two At the Same Using Game State
If you recall our collision detection lesson, you ll likely remember that you couldn t move both sprites at the same time unless you hit a movement key for each at exactly the same time. Why was that?
More informationPHP Syntax. PHP is a great example of a commonly-used modern programming language.
PHP is a great example of a commonly-used modern programming language. C was first released in 1972, PHP in 1995. PHP is an excellent language choice for software that requires an easy way to do things
More informationThe Stack, Free Store, and Global Namespace
Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information
More informationXNA Development: Tutorial 6
XNA Development: Tutorial 6 By Matthew Christian (Matt@InsideGamer.org) Code and Other Tutorials Found at http://www.insidegamer.org/xnatutorials.aspx One of the most important portions of a video game
More informationRubik's Cube Algorithm
Rubik's Cube Algorithm The assignment was to create an algorithm that would solve a randomly organized Rubik's Cube. While very simple on the surface, this problem turned out to be incredibly complex,
More informationFrame Editor 2 Manual
Chaos Culture Frame Editor 2 Manual Setup... 2 Editing clips... 2 Editing basics... 4 Managing colors... 6 Using effects... 7 Descriptions of the effects... 9 Fixed velocity... 9 Random velocity... 9 Rotate...
More informationv0.4.1 ( ) An AviSynth plug-in that remaps the frame indices in a clip as specified by an input text file or by an input string.
RemapFrames v0.4.1 (2014-01-16) An AviSynth plug-in that remaps the frame indices in a clip as specified by an input text file or by an input string. by James D. Lin (stickboy) Overview RemapFrames, RemapFramesSimple,
More informationOMINO PYTHON for After Effects
OMINO PYTHON for After Effects from omino.com, 2010-2012 1 Contents Introduction... 3 Installation & Licensing... 4 Quick Start! Instant Gratification... 5 The Workflow... 6 A Script... 7 A Script That
More informationModeling a Gear Standard Tools, Surface Tools Solid Tool View, Trackball, Show-Hide Snaps Window 1-1
Modeling a Gear This tutorial describes how to create a toothed gear. It combines using wireframe, solid, and surface modeling together to create a part. The model was created in standard units. To begin,
More informationMultimedia-Programmierung Übung 7
Multimedia-Programmierung Übung 7 Ludwig-Maximilians-Universität München Sommersemester 2013 Ludwig-Maximilians-Universität München Multimedia-Programmierung 7-1 Today Sprite animations in Advanced collision
More informationGAME:IT Advanced. C# XNA Bouncing Ball First Game Part 1
GAME:IT Advanced C# XNA Bouncing Ball First Game Part 1 Objectives By the end of this lesson, you will have learned about and will be able to apply the following XNA Game Studio 4.0 concepts. Intro XNA
More informationChapter 6 Dialogs. Creating a Dialog Style Form
Chapter 6 Dialogs We all know the importance of dialogs in Windows applications. Dialogs using the.net FCL are very easy to implement if you already know how to use basic controls on forms. A dialog is
More informationLecture 13 Notes Sets
Lecture 13 Notes Sets 15-122: Principles of Imperative Computation (Spring 2016) Frank Pfenning, Rob Simmons 1 Introduction In this lecture, we will discuss the data structure of hash tables further and
More informationArt 486: Introduction to Interactive Media.
Art 486: Introduction to Interactive Media mcdo@umbc.edu Schedule Chapter 3! Comments and stuff 3: Puzzles Attributes of Good Puzzle Design Intuitive controls Readily-Identifiable patterns Allows skill
More informationEEN118 LAB FOUR. h = v t ½ g t 2
EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical
More informationCS 201 Advanced Object-Oriented Programming Lab 3, Asteroids Part 1 Due: February 17/18, 11:30 PM
CS 201 Advanced Object-Oriented Programming Lab 3, Asteroids Part 1 Due: February 17/18, 11:30 PM Objectives to gain experience using inheritance Introduction to the Assignment This is the first of a 2-part
More informationBullet Things. May 26, 2008
Bullet Things May 26, 2008 Contents 1 Stepping the World 1 1.1 What do the parameters to btdynamicsworld::stepsimulation mean?............... 1 1.2 How do I use this?.........................................
More informationEEN118 LAB FOUR. h = v t ½ g t 2
EEN118 LAB FOUR In this lab you will be performing a simulation of a physical system, shooting a projectile from a cannon and working out where it will land. Although this is not a very complicated physical
More informationCS 543: Computer Graphics. Rasterization
CS 543: Computer Graphics Rasterization Robert W. Lindeman Associate Professor Interactive Media & Game Development Department of Computer Science Worcester Polytechnic Institute gogo@wpi.edu (with lots
More informationCS140 Final Project. Nathan Crandall, Dane Pitkin, Introduction:
Nathan Crandall, 3970001 Dane Pitkin, 4085726 CS140 Final Project Introduction: Our goal was to parallelize the Breadth-first search algorithm using Cilk++. This algorithm works by starting at an initial
More informationGame Starter Kit Cheat Sheet
Game Starter Kit Cheat Sheet In this cheat sheet, I am going to show you how you can create your own custom Flappy Bird Game in a matter of minutes, using FREE Software. The same style of game that was
More informationObject-Oriented Programming Concepts
Object-Oriented Programming Concepts Real world objects include things like your car, TV etc. These objects share two characteristics: they all have state and they all have behavior. Software objects are
More informationImplementing Object Equivalence in Java Using the Template Method Design Pattern
Implementing Object Equivalence in Java Using the Template Method Design Pattern Daniel E. Stevenson and Andrew T. Phillips Computer Science Department University of Wisconsin-Eau Claire Eau Claire, WI
More informationCMPSCI 119 LAB #2 Anime Eyes Professor William T. Verts
CMPSCI 119 LAB #2 Anime Eyes Professor William T. Verts The goal of this Python programming assignment is to write your own code inside a provided program framework, with some new graphical and mathematical
More informationMathematical Approaches for Collision Detection in Fundamental Game Objects
Mathematical Approaches for Collision Detection in Fundamental Game Objects Weihu Hong 1, Junfeng Qu 2, Mingshen Wu 3 1 Department of Mathematics, Clayton State University, Morrow, GA, 30260 2 Department
More informationChapter 13 - Modifiers
Chapter 13 - Modifiers The modifier list continues to grow with each new release of Blender. We have already discussed the Subdivision Surface (SubSurf) and Ocean modifiers in previous chapters and will
More informationC# Language. CSE 409 Advanced Internet Technology
C# Language Today You will learn Building a basic class Value Types and Reference Types Understanding Namespaces and Assemblies Advanced Class Programming CSE 409 Advanced Internet Technology Building
More informationI'm Andy Glover and this is the Java Technical Series of. the developerworks podcasts. My guest is Brian Jakovich. He is the
I'm Andy Glover and this is the Java Technical Series of the developerworks podcasts. My guest is Brian Jakovich. He is the director of Elastic Operations for Stelligent. He and I are going to talk about
More information2D Graphics in XNA Game Studio Express (Modeling a Class in UML)
2D Graphics in XNA Game Studio Express (Modeling a Class in UML) Game Design Experience Professor Jim Whitehead February 5, 2008 Creative Commons Attribution 3.0 creativecommons.org/licenses/by/3.0 Announcements
More informationFloating Point. CSC207 Fall 2017
Floating Point CSC207 Fall 2017 Ariane 5 Rocket Launch Ariane 5 rocket explosion In 1996, the European Space Agency s Ariane 5 rocket exploded 40 seconds after launch. During conversion of a 64-bit to
More informationWeb-interface for Monte-Carlo event generators
Web-interface for Monte-Carlo event generators Jonathan Blender Applied and Engineering Physics, Cornell University, Under Professor K. Matchev and Doctoral Candidate R.C. Group Sponsored by the University
More informationMore About Objects and Methods
More About Objects and Methods Chapter 5 Chapter 5 1 Programming with Methods - Methods Calling Methods A method body may contain an invocation of another method. Methods invoked from method main typically
More informationITP 342 Mobile App Dev. Fundamentals
ITP 342 Mobile App Dev Fundamentals Object-oriented Programming A programming paradigm based on the concept of objects. Properties Variables holding data Can be varying types Methods Behaviors An action
More informationCS 376b Computer Vision
CS 376b Computer Vision 09 / 25 / 2014 Instructor: Michael Eckmann Today s Topics Questions? / Comments? Enhancing images / masks Cross correlation Convolution C++ Cross-correlation Cross-correlation involves
More informationJava Collections Framework
Java Collections Framework Introduction In this article from my free Java 8 course, you will be given a high-level introduction of the Java Collections Framework (JCF). The term Collection has several
More informationSDL2 Release latest May 19, 2017
SDL2 g fxutils documentationdocumentation Release latest May 19, 2017 Contents 1 SDL2_gfxutils presentation 3 1.1 SDL2_gfxutils brief history....................................... 3 1.2 SDL2_gfxutils
More informationAPARAT DE MASURA. Descrierea programului
APARAT DE MASURA Descrierea programului Acest program reprezinta un aparat de masura universal. Acest apparat poate fi modificat in functie de necesitatile utilizatorului. Modificarile pe care aparatul
More informationOriented Programming Terminology. Using classes and instances to design a system. Example Instance Diagram
Object- Oriented Programming Terminology Class Diagram Instance Diagram Class: specifies the common behavior of entities in scheme, a "maker" procedure Instance: A particular object or entity of a given
More informationHow to create shapes. Drawing basic shapes. Adobe Photoshop Elements 8 guide
How to create shapes With the shape tools in Adobe Photoshop Elements, you can draw perfect geometric shapes, regardless of your artistic ability or illustration experience. The first step to drawing shapes
More informationSDL.NET Programming Tutorial by Example
SDL.NET Programming Tutorial by Example (c) 2008 Egon A. Rath Please note that this Tutorial is not for the absolute beginner. I assume that you already can code fluent in C# and that you are able to understand
More information