23
CSCI 101 Introduction to Software Development and Design

CSCI 101 Introduction to Software Development and Design

Embed Size (px)

Citation preview

CSCI 101

Introduction to Software Development and Design

Learn the step-by-step thinking that characterizes writing computer programs

Learn terminology and ideas behind software development and design

Algorithm:◦ set of steps that describe what the program must

do◦ written in English

Programming:◦ turning an algorithm into an English-like language

the computer can understand◦ there are lots of programming languages

◦ also know as "coding"

Debugging:◦ Testing the software to find and remove errors

Input:◦ an unknown amount of positive numbers◦ -1 to stop the list

Output:◦ the average

Processing:◦ read numbers until the user enters "-1"◦ total up all the numbers◦ print the average (total divided by count)◦ stop

Get First number

Print total / count

Get Next number

Is it -1

add number to total

add one to count

Yes

No

Information to Track:1.number that was input2.count of numbers3.total of all numbers

Test/Debug

Algorithm

Sour

ce C

ode

Idea!!!

Analyze the Problemand Design a Solution Programming

DONE!!!

Software Design with GameMaker

Write Storyline Schedule tasks

•Brainstorm•Define purpose/goals

DesignDesign

• Build/find sprites•Build Objects

• Write Conditionals• Build Rooms

•TEST often/Evaluate

DevelopDevelop PublishPublish

•Write player instructions

•Sell•Make $$$$

ConceptConcept

GOAL - Games need to have a Goal for the player to work toward.

CHALLENGE: needed to keep the game interesting and engaging for the player. ◦ Ex: increase difficulty as player progresses.

ROOMS – Determine your rooms. This environment may be a maze, castle, forest, racetrack, or underwater cave.

ENHANCEMENT – Use Sounds and

Backgrounds to enhance the environment and gameplay experience.

Objects allow the player to attain the Goal.

◦ GRAPHIC: The appearance is called a Sprite.

◦ BEHAVIOR: Determined by events and actions (Conditional Statements )

Events trigger specific Actions (Ex: If Player collides with enemy, then lose 1 life).

Mapping these concepts to Computer Science Theory

Each object has properties and behaviors encapsulated inside of it.

This entire collection of properties and behaviorscan be referenced through the object name

Creation Behavior – Start moving

Collision Behavior – Bounce

Left Mouse Behavior – Increase Score Bounce

Image – Sprite propertiesbehaviors

Building behaviors is an example of Event Programming

Wait for some specific Event to happen

Perform some action(s) in response to it.

Creation

Collide with Wall Object

Left Mouse

EVENTS ACTION(S)

Start moving

Bounce

BounceIncrease

Score

The computer knows & does only what you tell it

The game is created by defining a set of instructions or conditional statements for the computer to follow.

Computer instructions must be completely defined and appropriately sequenced, or an undesired outcome may result.

Game Description Fruits move randomly around

the room; bouncing off the wall

When the left mouse clicks on the fruit, the score is increased by 5 and the fruit jumps to a new location

ObjectsAppleBananaCherryBombWall

Development Team (1 pt) List team members (first and last official name) and expectations of how you will work together...

Title: (1 pt) Determine the name of your game...Description

(7 pts) Describe the game. State the purpose of the game, give a high level walkthrough in words of the characters, locations, tasks etc. that the player will encounter as they progress through the game. List any constraints you currently know

Determine the Game Play (10 pts) Within the game, what goals should be accomplished? How does the player advance to the next level or acquire new skills in the game?  What challenges will the player face when trying to accomplish these goals? Describe the mechanics of how the player actually plays the game; associate user controls with user actions (keyboard/gamepad controls).

Room Map(5 pts) How many rooms are in the game? You should have at least two. How are rooms structured or ordered? Provide a map of the 'physical layout' of the game showing how different physical locations or rooms are ordered and/or connect to each other.

Sounds (3 pts) What are the audio requirements of the game? Background music, alert sounds for particular events or actions, general background noise? If you don’t know what sounds you’ll use, tell how you will work on getting them.

Backgrounds (3 pts) What backgrounds will you need? If you don’t know what backgrounds you’ll use, tell how you will work on getting them.

Objects Needed (10 pts) What objects need to be defined? It may be useful to break the objects down into subcategories - player character, 'non-player characters' (e.g. 'monsters'), room objects (walls, doors), scoring/health objects (treasure, fuel pellets, first aid kits etc.), controller objects etc.

Events/actions (10 pts) For each object, list the associated events. For each event list the associated actions. What rules does the game implement?

Game Design Assignment

Event to move is the arrow keys◦ Add event -> keyboard … select which keys

◦ To stop it… -> keyboard -> No key

Projectile starts moving when it is created

The ‘shooter’ creates the projectile

◦ keyboard -> space

Questions ◦ Actions that ask questions

Code blocks

If , else

Variables