Introduction to Bumpers
|
|
- Meryl Stevenson
- 5 years ago
- Views:
Transcription
1 Software Engineering II: Project Organization & Management SS 2009 Introduction to Bumpers Prof. Bernd Bruegge, Ph.D. Applied Software Engineering Technische Universitaet Muenchen 1
2 Development of an Interactive Game Several cars are driving in a rectangular game board. Some cars are fast, others are slower The number of cars is arbitrary, but fixed at delivery time The player controls a certain car ( DrivenCar ) with the mouse The initial direction of each car is chosen by random The cars can collide with each other and with the border of the game board Each collision between cars leads to a winner and a looser The looser stops at the point of collision ( crashes ) If a car encounters the game border, it is bounced back depending on its speed and direction ( physical laws are followed ) 2
3 Development of an Interactive Game (2) The Goal: The player wins, if all opposing cars ( RobotCars ) are eliminated by colliding with them in the right way 3
4 Analysis and Design Questions How do we represent the game field? How do we model the cars? How do we animate all the cars simultaneously? What do we do, when a car hits the edge? How do we compute the new route? How do we compute a collision? Do we compute a new route for the winner? How do we control the driven car with the mouse? 4
5 Analysis: Use Cases Generating the game board Starting the Music Generating one or more cars Moving a car Starting the game Quitting the game Car hits another car Car hits border of game board Determining a collision 5
6 Analysis: Identification of Classes Generating the Gameboard Starting the Music Generating one or more cars Moving a car Starting the game Quitting the game Car hits another car Car hits border of game board Determining a collision Car Gameboard Referee Music 6
7 Object Model for GameBoard, Referee and Car 7
8 Analysis: Classification of Cars ( Taxonomy in the Application Domain ) Car UserCar FastCar SlowCar 8
9 A Game with one Opposing Car In Gameboard.java (bumpers:cars:gameboard.java) you determine the number of opponent cars (robot cars) 9
10 Object Design of Collisions How do we check for collisions? Where do we place the collision code? We have two possibilities: With the game field or with the cars If we want to make the game extensible, the type of collision is probably a function of the car type (most certainly of its size) If we let the cars determine the collisions, then every type car depends on every other type of car Example: When we introduce a new type of car, say a slow car, we have to modify every existing type of car, to implement collisions with slow cars. The maintainability of the game is much higher, if the game field handles the collisions. 10
11 Detailed Design of Collision Each car is represented by its bounding box This is the smallest rectangle, that contains all pixels of the picture of the car We get bounding box of a picture by calling getsize() followed by calling getposition(). (0,0) A collision occurs, if two given bounding boxes have at least one pixel in common (intersects()). Small problem: The picture of a car rarely resembles a rectangle, the bounding box often contains pixels that don t belong to the picture of the car. (x,y) h w To compensate for the empty space, we reduce the bounding box to 3/4 of its original size (with growth()), and place its center slightly to the lower left (with translate()). Remaining Problem: Who is the winner of the collision? 11
12 Detecting Collisions public void movecars() { // First each car makes a move // Then we check for collisions for (int i = 0; i < cars.length; i++{ if (cars[i].iscrunched( )) {continue;} Car crashedcar = collisionstrategy.detectcollision( drivencar, cars[i]); if(crashedcar!= null){ BANG.play(); crashedcar.setcrunched(); if(drivencar.iscrunched()){ stopgame(); }else{ // check if player won }}} Referee +startgame() + stopgame() + movecars() public Car detectcollision(car car1, Car car2){ Point p1 = car1.getposition( ); Dimension d1 = car1.getsize( ); Rectangle r1 = new Rectangle(p1, d1); r1.translate(p1.x / 8, p1.y / 8); r1.grow(-1 * d1.width / 4, -1 * d1.height / 4); Point p2 = car2.getposition( ); Dimension d2 = car2.getsize( ); Rectangle r2 = new Rectangle(p2, d2); r2.translate(p2.x / 8, p2.y / 8); r2.grow(-1 * d2.width / 4, -1 * d2.height / 4); if (r1.intersects(r2)) { if (p1.y > p2.y){return car2; }else{ return car1;} } return null; } Car +boolean * iscrunched() + Point getposition() + Dimension getsize() + setcrunched() 12
13 Relationship between Referee und Collisions Referee + movecars() + setcollisionstrategy(collisionstrategy) CollisionStrategy + detectcollision(car, Car) + getname() DefaultCollision LowerCarWinColision Is this a Bridge or a Strategy Pattern? 13
14 Strategy Pattern in Bumpers Client Strategy Game Toolbar + ItemStateChanged(ItemEvent) Referee + movecars() + setcollisionstrategy(collisionstrategy) CollisionStrategy + detectcollision(car, Car) + getname() DefaultCollision LowerCarWinColision Policy: e.g. User interface events 14
15 InstrumentFactory + createspeedometer(usercar) + createrotationspersecond(usercar) + createspeedcontroller(usercar) + creategps(usercar) + createbodyview(usercar) Abstract Factory Pattern in Bumpers EUFactory USFactory Instrument # thecar: UserCar + updateinstrument() Speedometer SpeedController GPS Body RotationsPerSecond US... EU... US... EU... US... EU... US... EU... US... EU... 15
16 Adapter Pattern in Bumpers InstrumentPanel Instruments # thecar + updateinstrument() AnalogSpeedometer - angle + getmaxangle() + setangle(int) AnalogSpeedometerAdapter - speedometer + updateinstrument() 16
Platform 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 informationCS1 Studio Project: Connect Four
CS1 Studio Project: Connect Four Due date: November 8, 2006 In this project, we will implementing a GUI version of the two-player game Connect Four. The goal of this project is to give you experience in
More informationObject Design II: Design Patterns
Object-Oriented Software Engineering Using UML, Patterns, and Java Object Design II: Design Patterns Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen A Game: Get-15 The game
More informationPainting your window
The Paint event "Painting your window" means to make its appearance correct: it should reflect the current data associated with that window, and any text or images or controls it contains should appear
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 informationD - Tic Tac Toe. Let's use our 9 sparkles to build a tic tac toe game! 2017 courses.techcamp.org.uk/ Page 1 of 9
D - Tic Tac Toe Let's use our 9 sparkles to build a tic tac toe game! 2017 courses.techcamp.org.uk/ Page 1 of 9 INTRODUCTION Let's use our 9 sparkles to build a tic tac toe game! Step 1 Assemble the Robot
More informationErasmus+ Project: Yestermorrow Year 1 Maths: Pythagorean Theorem
Erasmus+ Project: Yestermorrow Year 1 Maths: Pythagorean Theorem Workshop (Coding Android Mobile Apps): Collision Detection and the Pythagorean Theorem (Based on the code.org worksheet) WORKSHOP OVERVIEW
More informationn Specifying what each method does q Specify it in a comment before method's header n Precondition q Caller obligation n Postcondition
Programming as a contract Assertions, pre/postconditions and invariants Assertions: Section 4.2 in Savitch (p. 239) Loop invariants: Section 4.5 in Rosen Specifying what each method does q Specify it in
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 information[ the academy_of_code] Senior Beginners
[ the academy_of_code] Senior Beginners 1 Drawing Circles First step open Processing Open Processing by clicking on the Processing icon (that s the white P on the blue background your teacher will tell
More informationIntroduction to Unreal Engine Blueprints for Beginners. By Chaven R Yenketswamy
Introduction to Unreal Engine Blueprints for Beginners By Chaven R Yenketswamy Introduction My first two tutorials covered creating and painting 3D objects for inclusion in your Unreal Project. In this
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 informationFlowmap Generator Reference
Flowmap Generator Reference Table of Contents Flowmap Overview... 3 What is a flowmap?... 3 Using a flowmap in a shader... 4 Performance... 4 Creating flowmaps by hand... 4 Creating flowmaps using Flowmap
More informationCS 3410 Ch 7 Recursion
CS 3410 Ch 7 Recursion Sections Pages 7.1-7.4, 7.7 93-319, 333-336 7.1 Introduction 1. A recursive method is a method that either directly or indirectly makes a call to itself. [Weiss]. It does this by
More informationQUESTIONS ACTIONS IN GAMEMAKER
QUESTIONS ACTIONS IN GAMEMAKER Questions Actions are useful actions that come in handy when you need to check things, such as whether something exists, if there is a collision, if two values are the same
More information(Refer Slide Time: 00:01:27 min)
Computer Aided Design Prof. Dr. Anoop Chawla Department of Mechanical engineering Indian Institute of Technology, Delhi Lecture No. # 01 An Introduction to CAD Today we are basically going to introduce
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 information3.2 A Three-Bar Linkage 51
3.2 A Three-Bar Linkage 51 It may happen that the drawing in Euclidean view is too big or too small. You can use the zooming tools to change this. There is a Zoom-In and a Zoom-Out tool below the Euclidean
More informationProgramming Project 1
Programming Project 1 Handout 6 CSCI 134: Fall, 2016 Guidelines A programming project is a laboratory that you complete on your own, without the help of others. It is a form of take-home exam. You may
More informationCSE 142 Su01 Final Exam Sample Solution page 1 of 7
CSE 142 Su01 Final Exam Sample Solution page 1 of 7 Answer all of the following questions. READ EACH QUESTION CAREFULLY. Answer each question in the space provided on these pages. Budget your time so you
More informationObject Design: Reuse, Part 2
Object Design: Reuse, Part 2 Software Engineering I Lecture 12 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline of Today Abstract Methods and Abstract Classes Overwriting
More informationBridges 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 informationIntroduction. Computer Vision & Digital Image Processing. Preview. Basic Concepts from Set Theory
Introduction Computer Vision & Digital Image Processing Morphological Image Processing I Morphology a branch of biology concerned with the form and structure of plants and animals Mathematical morphology
More informationQuestions. 6. Suppose we were to define a hash code on strings s by:
Questions 1. Suppose you are given a list of n elements. A brute force method to find duplicates could use two (nested) loops. The outer loop iterates over position i the list, and the inner loop iterates
More informationProgrammierpraktikum
Programmierpraktikum Claudius Gros, SS2012 Institut für theoretische Physik Goethe-University Frankfurt a.m. 1 of 18 17/01/13 11:46 Java Applets 2 of 18 17/01/13 11:46 Java applets embedding Java applications
More informationMaking use of other Applications
AppGameKit 2 Collision Using Arrays Making use of other Applications Although we need game software to help makes games for modern devices, we should not exclude the use of other applications to aid the
More informationCreate a memory DC for double buffering
Animation Animation is implemented as follows: Create a memory DC for double buffering Every so many milliseconds, update the image in the memory DC to reflect the motion since the last update, and then
More informationPractice Problems. Review, with SOME solutions
Practice Problems Review, with SOME solutions Multiple Choice 1. Select the best functional requirement from the list of requirements below. a) A warning dialog should pop up if the student s assignment
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 informationAssignment #3 Breakout!
Eric Roberts Handout #18 CS 106A January 26, 2005 Assignment #3 Breakout! Due: Friday, February 4, 5:00P.M. Your job in this assignment is to write the classic arcade game of Breakout. It is a large assignment,
More informationUsing Bounding Volume Hierarchies Efficient Collision Detection for Several Hundreds of Objects
Part 7: Collision Detection Virtuelle Realität Wintersemester 2007/08 Prof. Bernhard Jung Overview Bounding Volumes Separating Axis Theorem Using Bounding Volume Hierarchies Efficient Collision Detection
More informationMicrosoft Robotics Studio Walk-through
Microsoft Robotics Studio Walk-through Installation requisites This guide has been developed with Microsoft Robotics Studio (MSRS) 1.5 Refresh. Everything is license-free and can be downloaded from the
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 informationDigiPen Institute of Technology
DigiPen Institute of Technology Presents Session Eight: Behavior DigiPen Institute of Technology 5001 150th Ave NE, Redmond, WA 98052 Phone: (425) 558-0299 www.digipen.edu 2005 DigiPen (USA) Corporation.
More informationIn this lesson you will learn: How to capture the input from the user. How to write programs using variables and lists. Athletics Swimming Gymnastics
Lesson 4 A m In this lesson you will learn: How to capture the input from the user. How to write programs using variables and lists. Advanced Scratch Sports Day Jyoti and Tejas are planning to create a
More informationMorphological Image Processing
Morphological Image Processing Morphology Identification, analysis, and description of the structure of the smallest unit of words Theory and technique for the analysis and processing of geometric structures
More informationCS106A Handout 18 Winter February 3, 2014 Practice Midterm Exam
CS106A Handout 18 Winter 2013-2014 February 3, 2014 Practice Midterm Exam This handout is intended to give you practice solving problems that are comparable in format and difficulty to those which will
More informationPong. Prof Alexiei Dingli
Pong Prof Alexiei Dingli Background Drag and Drop a background image Size 1024 x 576 X = 0, Y = 0 Rename it to BG Sorting objects Go to Sorting Layer Add a new Sorting Layer called Background Drag the
More informationC:\Users\weaver\Justin\Workspace\UAA_2011_A_Spring\CS470\Project\OrbitClash\OrbitClash\SolidEntity.cs
1 #region Header Comments 2 3 /* $Id: SolidEntity.cs 1355 2011-03-25 22:53:42Z weaver $ 4 * 5 * Author: Justin Weaver 6 * Date: Mar 2011 7 * Description: Extendable abstract class to facilitate collision
More informationRobotics and Electronics Unit 5
Robotics and Electronics Unit 5 Objectives. Students will work with mechanical push buttons understand the shortcomings of the delay function and how to use the millis function. In this unit we will use
More informationGraphics Overview ECE2893. Lecture 19. ECE2893 Graphics Overview Spring / 15
Graphics Overview ECE2893 Lecture 19 ECE2893 Graphics Overview Spring 2011 1 / 15 Graphical Displays 1 Virtually all modern computers use a full color Graphical Display device. 2 It displays images, text,
More informationWhat You're Building 2. Getting Started 3 Introduction 4 Iteration or how we will get to Finished App. 4
Table of Contents What You're Building 2 Getting Started 3 Introduction 4 Iteration or how we will get to Finished App. 4 Iteration 1 Create still image of our Game 5 Getting Ready 5 Set up the Components
More informationIntro to Web Mapping with CartoDB
Intro to Web Mapping with CartoDB 1. Open Google Chrome and navigate to https://iu.box.com/cartodb download the demo_point_layer file. 2. Open a new tab and navigate to https://cartodb.com/ and Sign Up
More informationChapter 11: Sprites - Introduction
This section deals with sprites Chapter 11: Sprites - Introduction They are discussed in terms of a game called BugRunner The game combines aspects of Pong and Space Invaders The basics of game play are
More informationCompSci 94 Making Decisions February 8, Prof. Susan Rodger
CompSci 94 Making Decisions February 8, 2018 Prof. Susan Rodger CompSci 94 Spring 2018 1 Class Today Asking questions and making decisions Using functions If statements CompSci 94 Spring 2018 2 Review
More informationWe will start our journey into Processing with creating static images using commands available in Processing:
Processing Notes Chapter 1: Starting Out We will start our journey into Processing with creating static images using commands available in Processing: rect( ) line ( ) ellipse() triangle() NOTE: to find
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 informationProgramming Exercise
Programming Exercise Nibbles Objective: To gain experience working with 2 dimensional arrays. The Problem Nibbles is a snake. Nibbles moves around a field, looking for food. Unfortunately, Nibbles is not
More informationProgramming assignment A
Programming assignment A ASCII Minesweeper Official release on Feb 14 th at 1pm (Document may change before then without notice) Due 5pm Feb 25 th Minesweeper is computer game that was first written in
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 informationProblem A. The Lawyer
Problem A. The Lawyer 1 second n segments on a straight line are given. The goal is to find two segments that do not cross (or determine such a pair does not exist) Find the segment with minimum right
More informationHeap Arrays and Linked Lists. Steven R. Bagley
Heap Arrays and Linked Lists Steven R. Bagley Recap Data is stored in variables Can be accessed by the variable name Or in an array, accessed by name and index Variables and arrays have a type Create our
More informationAn ideal virtual camera system, regardless of genre, is notable by the lack of attention given to it by the viewer
dvanced amera ontrol IMGD 4000 Original source: Phil Wilkins (Sony Playstation Entertainment). Designing and Implementing a Dynamic amera System, Game Developer's onference, San Francisco,, US, 2008. n
More informationAdvanced Camera Control. Overview. Camera Objectives. Zoning : Design. Zoning : Objectives 3/31/2016
Note: if you don t notice camera, then it is working well! dvanced amera ontrol IMGD 4000 n ideal virtual camera system, regardless of genre, is notable by the lackof attention given to it by the viewer
More informationMajor Assignment: Pacman Game
Major Assignment: Pacman Game 300580 Programming Fundamentals Week 10 Assignment The major assignment involves producing a Pacman style game with Clara using the Greenfoot files that are given to you.
More informationCollections, Maps and Generics
Collections API Collections, Maps and Generics You've already used ArrayList for exercises from the previous semester, but ArrayList is just one part of much larger Collections API that Java provides.
More informationCS61B Lecture #21: Tree Searching. Last modified: Wed Oct 12 19:23: CS61B: Lecture #21 1
CS61B Lecture #21: Tree Searching Last modified: Wed Oct 12 19:23:14 2016 CS61B: Lecture #21 1 Divide and Conquer Much (most?) computation is devoted to finding things in response to various forms of query.
More informationADDING CONDITIONAL STATEMENTS PART 2
Begin programming: Build your first mobile game ADDING CONDITIONAL STATEMENTS PART 2 This document complements the Steps provided in Week 3 for adding conditional statements. The game wouldn t be a game
More information1 Getting started with Processing
cis3.5, spring 2009, lab II.1 / prof sklar. 1 Getting started with Processing Processing is a sketch programming tool designed for use by non-technical people (e.g., artists, designers, musicians). For
More informationAN INTRODUCTION TO SCRATCH (2) PROGRAMMING
AN INTRODUCTION TO SCRATCH (2) PROGRAMMING Document Version 2 (04/10/2014) INTRODUCTION SCRATCH is a visual programming environment and language. It was launched by the MIT Media Lab in 2007 in an effort
More informationJava Outline (Upto Exam 2)
Java Outline (Upto Exam 2) Part 4 IF s (Branches) and Loops Chapter 12/13 (The if Statement) Hand in Program Assignment#1 (12 marks): Create a program called Ifs that will do the following: 1. Ask the
More informationExpress Yourself. Writing Your Own Classes
Java Programming 1 Lecture 5 Defining Classes Creating your Own Classes Express Yourself Use OpenOffice Writer to create a new document Save the file as LastFirst_ic05 Replace LastFirst with your actual
More informationLecture 17. Improving open-addressing hashing. Brent s method. Ordered hashing CSE 100, UCSD: LEC 17. Page 1 of 19
Lecture 7 Improving open-addressing hashing Brent s method Ordered hashing Page of 9 Improving open addressing hashing Recall the average case unsuccessful and successful find time costs for common openaddressing
More informationMarking Period 1. Marking Period 2
DEPARTMENT: Mathematics COURSE: Programming Through Games & Simulation Week Marking Period 1 1 Intro to Greenfoot 2 Little Crabs 3 Little Crabs 4 Fishing the Crab Game 5 Fishing the Crab Game 6 Fat Cat
More informationModule Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 217-18 GRAPHICS 1 CMP-51B Time allowed: 2 hours Answer THREE from FOUR questions (4 marks each) Notes are not permitted
More informationCISC 1600, Lab 2.2: Interactivity in Processing
CISC 1600, Lab 2.2: Interactivity in Processing Prof Michael Mandel 1 Getting set up For this lab, we will again be using Sketchpad, a site for building processing sketches online using processing.js.
More informationCPSC 436D Video Game Programming
CPSC 436D Video Game Programming Strategy & Adversarial Strategy Strategy Given current state, determine BEST next move Short term: best among immediate options Long term: what brings something closest
More informationToday in CS161. Lecture #12 Arrays. Learning about arrays. Examples. Graphical. Being able to store more than one item using a variable
Today in CS161 Lecture #12 Arrays Learning about arrays Being able to store more than one item using a variable Examples Tic Tac Toe board as an array Graphical User interaction for the tic tac toe program
More informationReview Chapter 6 in Bravaco. Short Answers 1. This type of method does not return a value. a. null b. void c. empty d. anonymous
Assignment 3 Methods Review CSC 123 Fall 2018 Notes: All homework must be submitted via e-mail. All parts of assignment must be submitted in a single e-mail with multiple attachments when required. Notes:
More informationFault, Error, and Failure
Fault, Error, and Failure Testing, Quality Assurance, and Maintenance Winter 2018 Prof. Arie Gurfinkel based on slides by Prof. Lin Tan and others Terminology, IEEE 610.12-1990 Fault -- often referred
More informationFrom Vertices To Fragments-1
From Vertices To Fragments-1 1 Objectives Clipping Line-segment clipping polygon clipping 2 Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives
More informationCS 170 Java Programming 1. Week 12: Creating Your Own Types
CS 170 Java Programming 1 Week 12: Creating Your Own Types What s the Plan? Topic 1: A Little Review Work with loops to process arrays Write functions to process 2D Arrays in various ways Topic 2: Creating
More informationSession 8.2. Finding Winners Using Arrays
1 Session 8.2 Finding Winners Using Arrays Chapter 8.2: Finding Winners Using Arrays 2 Session Overview Find out how the C# language makes it easy to create an array that contains multiple values of a
More informationAnnouncements. CS18000: Problem Solving And Object-Oriented Programming
Announcements Exam 1 Monday, February 28 Wetherill 200, 4:30pm-5:20pm Coverage: Through Week 6 Project 2 is a good study mechanism Final Exam Tuesday, May 3, 3:20pm-5:20pm, PHYS 112 If you have three or
More informationNotes 3: Actionscript to control symbol locations
Notes 3: Actionscript to control symbol locations Okay, you now know enough actionscript to shoot yourself in the foot, especially if you don t use types. REMEMBER to always declare vars and specify data
More informationPART A (5 pts): Assume an ArrayList named values contains the following eight numbers:
Compsci 6 Test 2 Spring 2008 PROBLEM 1 : (Repeat Repeat Repeat: (10 pts)) PART A (5 pts): Assume an ArrayList named values contains the following eight numbers: 4 5 22 7 15 31 40 24 int c = 0; for (int
More informationThree Types of Probability
CHAPTER Three Types of Probability This article is not so much about particular problems or problem solving tactics as it is about labels. If you think about it, labels are a big key to the way we organize
More informationMorphological Image Processing
Morphological Image Processing Binary image processing In binary images, we conventionally take background as black (0) and foreground objects as white (1 or 255) Morphology Figure 4.1 objects on a conveyor
More informationAcknowledgments. Who Should Read This Book?...xxiv How to Read This Book...xxiv What s in This Book?...xxv Have Fun!...xxvi
Contents IN DeTAIl Acknowledgments xxi Introduction xxiii Who Should Read This Book?....xxiv How to Read This Book....xxiv What s in This Book?...xxv Have Fun!...xxvi Part I: Fundamentals 1 What Is JavaScript?
More informationCustomizing DAZ Studio
Customizing DAZ Studio This tutorial covers from the beginning customization options such as setting tabs to the more advanced options such as setting hot keys and altering the menu layout. Introduction:
More informationCSE373 Fall 2013, Second Midterm Examination November 15, 2013
CSE373 Fall 2013, Second Midterm Examination November 15, 2013 Please do not turn the page until the bell rings. Rules: The exam is closed-book, closed-note, closed calculator, closed electronics. Please
More informationClasses as Blueprints: How to Define New Types of Objects
Unit 5, Part 1 Classes as Blueprints: How to Define New Types of Objects Computer Science S-111 Harvard University David G. Sullivan, Ph.D. Types of Decomposition When writing a program, it's important
More informationLecture Notes 4 More C++ and recursion CSS 501 Data Structures and Object-Oriented Programming Professor Clark F. Olson
Lecture Notes 4 More C++ and recursion CSS 501 Data Structures and Object-Oriented Programming Professor Clark F. Olson Reading for this lecture: Carrano, Chapter 2 Copy constructor, destructor, operator=
More informationCreating Breakout - Part 2
Creating Breakout - Part 2 Adapted from Basic Projects: Game Maker by David Waller So the game works, it is a functioning game. It s not very challenging though, and it could use some more work to make
More informationRandom Testing in 321
Random Testing in 321 1 Test Cases So Far Each test relates a particular input to a particular output. (test (bound-ids (with 'x (id 'y) (id 'x))) '(x)) (test (binding-ids (with 'x (id 'y) (id 'x))) '(x))
More informationSpatial Data Structures and Speed-Up Techniques. Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology
Spatial Data Structures and Speed-Up Techniques Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology Spatial data structures What is it? Data structure that organizes
More informationPractice Final Examination #2
Nick Troccoli Practice Final 2 CS 106A August 16, 2017 Practice Final Examination #2 Final Exam Time: Friday, August 18th, 12:15P.M. 3:15P.M. Final Exam Location: Various (see website) Based on handouts
More informationBreakout YEAH hours. Brahm Capoor & Jared Wolens
Breakout YEAH hours Brahm Capoor & Jared Wolens Road Map YEAH hour schedule Deadline: Due Wednesday, February 8th Lecture Review Using the debugger Assignment Overview Q&A! YEAH hours this quarter Assignment
More informationMobile Application Programming: ios
Mobile Application Programming: ios CS4962 Fall 2014 Project 4 - Network MVC Battleship Due: 11:59PM Monday, Nov 17 Abstract Build a Model-View-Controller implementation of the game Battleship on Android.
More informationFunctions. Functions. nofill(); point(20, 30); float angle = map(i, 0, 10, -2, 2); parameters return values
Functions parameters return values 06 Functions 1 Functions Code that is packaged so it can be run by name Often has parameters to change how the function works (but not always) Often performs some computation
More informationCS32 Discussion Week 3
CS32 Discussion Week 3 Muhao Chen muhaochen@ucla.edu http://yellowstone.cs.ucla.edu/~muhao/ 1 Outline Doubly Linked List Sorted Linked List Reverse a Linked List 2 Doubly Linked List A linked list where
More informationMD2 format/ Interesting Worlds. CS116A Chris Pollett Nov. 10, 2004.
MD2 format/ Interesting Worlds CS116A Chris Pollett Nov. 10, 2004. Outline MD2 file format Pop and Quake Ballworld Game MD2 and MD3 file formats Used in projects based on the id software s Quake engine.
More informationCISC 1600, Lab 3.2: Interactivity in Processing
CISC 1600, Lab 3.2: Interactivity in Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using OpenProcessing, a site for building processing sketches online using processing.js. 1.1.
More informationComputational Geometry TOPICS Preliminaries Point in a Polygon Polygon Construction Convex Hulls
Computational Geometry TOPICS Preliminaries Point in a Polygon Polygon Construction Convex Hulls CSE5311 Kumar 1 Geometric Algorithms Geometric Algorithms find applications in such areas as Computer Graphics
More informationCoderDojo Activity Cards: The Cards (Animation2.html): How to use: Student comes to mentor, and together they choose a card to do next.
CoderDojo Activity Cards: How to use: Student comes to mentor, and together they choose a card to do next. The idea is always to choose a card that is interesting, and at the right level for the moment,
More informationAnnouncements. Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday
Announcements Written Assignment2 is out, due March 8 Graded Programming Assignment2 next Tuesday 1 Spatial Data Structures Hierarchical Bounding Volumes Grids Octrees BSP Trees 11/7/02 Speeding Up Computations
More informationChapter 6: The Assembler The Assembler Hack Assembly-to-Binary Translation Specification
Chapter 6: The Assembler 1 1. Introduction Work in progress. 6. The Assembler 1 2. Hack Assembly-to-Binary Translation Specification This section gives a complete specification of the translation between
More informationl Without collision detection (CD), it is practically impossible to construct e.g., games, movie production tools (e.g., Avatar)
Collision Detection Originally created by Tomas Akenine-Möller Updated by Ulf Assarsson Department of Computer Engineering Chalmers University of Technology Introduction l Without collision detection (CD),
More informationIntroduction. Create a New Project. Create the Main Form. Assignment 1 Lights Out! in C# GUI Programming 10 points
Assignment 1 Lights Out! in C# GUI Programming 10 points Introduction In this lab you will create a simple C# application with a menu, some buttons, and an About dialog box. You will learn how to create
More informationAll Blocks of Scratch
All Blocks of Scratch Scratch has over 100 coding blocks, and each one has a unique use. They are all colour-coded into 9 different categories as seen below: You can also create your own block under More
More information