Major Assignment: Pacman Game

Size: px
Start display at page:

Download "Major Assignment: Pacman Game"

Transcription

1 Major Assignment: Pacman Game 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. The essence of the game is to make Clara eat all available leaves, while avoiding collisions with ghosts chasing her. Clara is to be controlled by a player through keyboard. Apart from leaves, there are also mushrooms available in Clara s world, but unlike the practicals, Clara is unable to push them around, but instead she can eat those mushrooms and gain superpowers (for a short period of time she will be able to eat ghosts). Ghosts always start at their home base (also known as Ghost Healer) that is always marked by a think red dot. Somewhere close to a Ghost Healer there is always a ghost wall (represented by a square surrounded by dotted red line). The ghost wall can be penetrated by ghosts, but not by Clara, making the ghost base protected from invasion. When Clara eats a mushroom, ghosts change their colour and would start running away from Clara. This mode when Clara is able to eat ghosts is called scared mode. In the scared mode ghosts run away from Clara rather than chasing her and if a collision between a ghost and Clara occurs while in this mode the ghost would change into an almost invisible creature that moves from the collision location to the base and then resurrects once the base is reached. If a collision happens between Clara and a ghost in any other mode then Clara looses and the game is over. In solving the major assignment you will not be entirely on your own, as the steps involved are broken up in this assignment brief. During practical classes your tutors will explain you the basics in completing these steps. Before we start, there will be an explanation of all commands available in both Clara and the Ghosts vocabularies. Major Assignment: Pacman Game 1

2 Important Requirements For your convenience, all important requirements specified in this brief are re-listed here: - Clara and the Ghosts must be able to move from one side of the game to the other with the wraparoundworld() method - Clara must be capable of being controlled with at least the arrow keys on the keyboard - Clara must not move in the game until after an arrow key pressed - Clara must stop before hitting trees or the ghost wall - Clara must be able to eat leaves, and play the appropriate sound when doing so - When all the leaves are eaten, the game must progress to the next level - When each level starts the intro sound must be played once for each level and Clara and the Ghosts must not be able to move until after the intro sound has completed playing - Ghosts must move slower than Clara when moving normally and when scared - Ghosts must stop before hitting trees - Ghosts must randomly decide on a direction to go in when they find themselves in an intersection - When Clara and a Ghost collide, and the Ghost is neither dead nor scared, she must die, and play the appropriate sound - When Clara is dead the player must not be able to continue controlling her - Clara must be able to eat mushrooms, and this must make the Ghosts scared - When the Ghosts are scared, they must run the appropriate animation - When Clara and a Ghost collide, and the Ghost is scared, the Ghost must die, play the appropriate sound and play the appropriate animation - When Ghosts are dead they must attempt to return to the Ghost Healer - When Ghosts collide with the Ghost Healer they must no longer be dead - You must make, at a minimum, one extra level - All files must compile and the game must run. Important note 1 While in the past you only had to work with MyClara.java, this time you will also have to edit Ghost.java for all the logic related to the Ghosts as well as MyClara.java for all the Clara functionality. Important note 2 Do not let the following list of commands scare you, as they are further explained in the assignment brief and your tutors will help you to select those commands that you need for each task. Major Assignment: Pacman Game 2

3 Important note 3 For this assignment you should no longer have a main loop (for or while) inside act(). Instead you should rely on Greenfoot executing act() repetitively (similar to how you did in Practical 2). The stop(); command MUST NOT be used in this assignment. Clara s vocabulary For this assignment, the following commands are available for Clara right from the start: treefront() Checks if there is a tree in front of Clara. true if there is a tree in front of Clara. false if there is not a tree in front of Clara. ghostwallfront() Checks if there is a ghost wall in front of Clara. true if there is a ghost wall in front of Clara. getdirection() Gets which direction Clara is facing. false if there is not a ghost wall in front of Clara. A string which represents the direction Clara is facing. up if Clara is facing up toward the top of the screen. down if Clara is facing toward the bottom of the screen. right if Clara is facing to the right side of the screen. setdirection(string) Makes Clara face a specific direction. It will not change her direction if there is a tree in the way. A String, which specifies which direction you want Clara to face. up - face toward the top of the screen. left if Clara is facing to the left side of the screen. down - face toward the bottom of the screen. right - face toward the right side of the screen. left - face toward the left side of the screen. Major Assignment: Pacman Game 3

4 Clara s vocabulary - continued move(int) Moves Clara at the specified speed. An integer, which specifies how fast you want Clara to move. makescared() Clara lets the Ghosts know that she is ready to eat, and makes them scared. isscared() animate() For more information, see the isscared() function in the Ghost s vocabulary. Also see the section Part 10 Eating Mushrooms and Making Ghosts Eatable Clara checks whether the Ghosts are still scared of her. Clara continues her animation by one frame. true if the Ghosts are still scared of her. false if the Ghosts are no longer scared of her. animatedead() For more information, see the section Part 2 - Animating Clara s Movement. Clara visually shows that she is dead. onleaf() For more information, see the section Part 9 - Ghosts Colliding With Clara and Losing Checks if Clara is on top of a leaf. true if Clara is on top of a leaf. removeleaf() Clara removes a leaf that she is standing on. false if Clara is not on top of a leaf. Will show an error if she tries to remove a leaf that isn t there. Major Assignment: Pacman Game 4

5 Clara s vocabulary - continued onmushroom() Checks if Clara is on top of a mushroom. true if Clara is on top of a mushroom. removemushroom() allleaveseaten() Clara removes a mushroom that she is standing on. Checks if Clara has eaten all of the leaves in the level. false if Clara is not on top of a mushroom. Will show an error if she tries to remove a mushroom that isn t there. true if there are no more leaves for Clara to eat. isclaradead() playclaradiesound() Checks if Clara should be dead. For more information, see the function makeclaradead() in the Ghost s vocabulary and the section Part 9 Ghosts Colliding with Clara and Losing Plays Clara s death sound. Nothing false if there are still leaves for Clara to eat. true if Clara should be dead. false if Clara should not be dead. Nothing isclaradiesoundstillplaying() For more information see the section Part 9 Ghosts Colliding with Clara and Losing Checks if Clara s death sound is still playing. playleafeatensound() playpacmanintro() For more information see the section Part 9 Ghosts Colliding with Clara and Losing Plays the sound of Clara eating a single leaf. Plays the pacman intro sound. Major Assignment: Pacman Game 5

6 Clara s vocabulary - continued ispacmanintrostillplaying() Checks if the pacman intro sound is still playing. wraparoundworld() getcurrentlevelnumber() For more information see the section Part 4 Eating Leaves and Winning Enables Clara to automatically move off one side of the game, and end up on the other. Gets the number of the current level. An integer representing the current level number. advancetolevel(char[][]) Changes the current game level to the one specified. If it is sent null, then it will automatically load the first level. A level as per Part 12 Making and Adding Levels, or null. E.g. If the current level is 1, then it will return 1. To see more information on how to use it, see Part 4 Eating Leaves and Winning For more information on making levels to send the method, see Part 12 Making and Adding Levels Major Assignment: Pacman Game 6

7 Ghost s vocabulary For this assignment, you will also be required to code new characters - Ghosts. The Ghosts pose a threat to Clara as she tries to eat all of her leaves and try to prevent her from accomplishing her mission. The behaviour of each Ghost is controlled by the act() method inside Ghost.java. Each of the Ghosts in the game is essentially an instance of the Ghost class (we will learn about classes soon enough in the lectures). In order to assist you in programming Ghosts, just like for Clara, there are Ghost commands already made for you. Some of these commands are exactly the same as Clara s, some are slightly different, and some completely unique to the Ghosts. Be sure to read the following list of commands carefully: treefront() Checks if there is a tree in front of the Ghost. true if there is a tree in front of the Ghost. treeabove() Checks if there is a tree above the Ghost. false if there is not a tree in front of the Ghost. true if there is a tree above the Ghost. treebelow() Note that this method is relative to the screen, not the Ghost. That is, regardless of the direction of the Ghost, a tree that is above it, will always be above it. Checks if there is a tree below the Ghost. false if there is not a tree above the Ghost. true if there is a tree below the Ghost. treetoleft() Note that this method is relative to the screen, not the Ghost. That is, regardless of the direction of the Ghost, a tree that is below it, will always be below it. Checks if there is a tree to the left of the Ghost. false if there is not a tree below the Ghost. true if there is a tree to the left of the Ghost. Note that this method is relative to the screen, not the Ghost. That is, regardless of the direction of the Ghost, a tree that is to the left of it, will always be to the left it. false if there is not a tree to the left of the Ghost. Major Assignment: Pacman Game 7

8 Ghost s vocabulary - continued treetoright() Checks if there is a tree to the right of the Ghost. true if there is a tree to the right of the Ghost. getdirection() Note that this method is relative to the screen, not the Ghost. That is, regardless of the direction of the Ghost, a tree that is to the right of it, will always be to the right it. Gets which direction the Ghost is facing. false if there is not a tree to the right of the Ghost. A string which represents the direction the Ghost is facing. up if the Ghost is facing up toward the top of the screen. down if the Ghost is facing toward the bottom of the screen. right if the Ghost is facing to the right side of the screen. setdirection(string) Makes the Ghost face a specific direction. The Ghost will not change to a direction that has a tree in the way. A string, which specifies which direction you want the Ghost to face. up if you want it to face toward the top of the screen. left if the Ghost is facing to the left side of the screen. down if you want it to face toward the bottom of the screen. right if you want it to face toward the right side of the screen. left if you want it to face toward the left side of the screen. Major Assignment: Pacman Game 8

9 Ghost s vocabulary - continued move(int) isscared() animate() Moves the Ghost at the specified speed. The ghost will move in the direction it is currently facing until it hits an obstacle or until the direction is changed The Ghost checks whether it should be scared of Clara. The Ghost continues its animation by one frame. An integer, which specifies how fast you want the Ghost to move. true if the Ghosts should still be afraid of Clara. false if the Ghosts should no longer be scared of Clara. animatedead() For more information, see the section Part 6 - Animating Ghost s Movement. The Ghosts continues its death animation by one frame. animatescared() For more information, see the section Part 10 Eating Mushrooms and Making Ghosts Eatable The Ghosts continues its scared animation by one frame. getclara() For more information, see the section Part 10 Eating Mushrooms and Making Ghosts Eatable Gets Clara. Clara. Is to be used with the isaboveme, isbelowme, istomyleft and istomyright commands, explained below. Major Assignment: Pacman Game 9

10 Ghost s vocabulary - continued getghosthealer() Gets the Ghost Healer. Ghost Healer. isaboveme(actor) Is to be used with the isaboveme, isbelowme, istomyleft and istomyright commands, explained below. Checks whether the specified Actor is above the Ghost. Clara or Ghost Healer. true if specified Actor is above the Ghost. isbelowme(actor) Checks whether the specified Actor is below the Ghost. Clara or Ghost Healer. false if the specified Actor is not above the Ghost. true if specified Actor is below the Ghost. istomyleft(actor) istomyright(actor) intersects(actor) Checks whether the specified Actor is to the left of the Ghost. Checks whether the specified Actor is to the right of the Ghost. Checks whether the specified Actor is currently intersecting the Ghost. Clara or Ghost Healer. Clara or Ghost Healer. Clara or Ghost Healer. false if the specified Actor is not below the Ghost. true if specified Actor is to the left of the Ghost. false if the specified Actor is not to the left of the Ghost. true if specified Actor is to the right of the Ghost. false if the specified Actor is not to the right of the Ghost. true if the specified Actor is currently intersecting the Ghost. makeclaradead() Makes Clara s isclaradead() method return true. false if the specified Actor is not currently intersecting the Ghost. playghosteatensound() For more information, see the section Part 9 Ghosts Colliding with Clara and Losing Plays the sound of a Ghost being eaten. Major Assignment: Pacman Game 10

11 Ghost s vocabulary - continued ispacmanintrostillplaying() Checks if the pacman intro sound is still playing. wraparoundworld() For more information see the section Part 5 Moving Ghosts Enables the Ghost to automatically move off one side of the game, and end up on the other side. Making the Game Part 1 Moving Clara and Keyboard Input One of your first tasks - is to learn how to process keyboard input of the player by using Greenfoot.isKeyDown(String) method. Try passing the movement constants defined inside MyClara.java as input for Greenfoot.isKeyDown(String) and see what happens when you press the arrow keys. Try starting with using System.out.println() to print which of the keys was pressed to make yourself familiar with keyboard input. Next thing for you to do is to make sure that Clara can be controlled with the arrow keys. You may add extra functionality, such as controls for left handed players, but that is not compulsory. You will need to use Clara s setdirection(string) method, which can be sent one of the following commands; up, down, left or right (a good idea is to use the same movement constants defined inside MyClara rather than using those String literals inside your code). Passing the aforementioned String values to setdirection(string) method will set Clara s direction to the command you specify. Note that the setdirection(string) method will not change Clara to a specified direction if there is a tree in that direction. Once you re able to process keyboard input and make Clara respond to it by turning in the right direction now it s time to make Clara move. In order to make Clara move, you will need to use the move(int) method. Note that it can be passed any integer, and that a bigger integer will make Clara move faster. The integer that it is passed will determine how fast Clara moves. It will be up to you to determine a suitable speed for Clara. Please note that it is not a good programming practice to arbitrarily pass numbers to methods, and that it is always a good idea to instead, make a constant that will hold the value that you wish to pass. Then you will need to somehow stop Clara from automatically moving at the start of the game, and only start continuously moving after a single key is pressed. Note that as per the original Pacman game, it is only necessary to stop Clara from moving before the initial key press, and that after that, it is perfectly acceptable to have Clara continuously move in the direction that was last selected. Once you have determined, and tested, a suitable speed, you might notice Clara disappearing off the edge of the world. It is important that Clara, and the Ghosts, at some point call the method wraparoundworld() to deal with this issue. This will enable them to reappear on the opposite side of the world that they disappear off. Major Assignment: Pacman Game 11

12 Part 2 Animating Clara s Movement In order to animate Clara, you will need to call the animate() method. You may notice, that if you just call the animate() method, that it cycles through Clara s animation very quickly. This is because every time the method is called, it advances Clara s animation to the next frame. You will need to figure out a way of not calling it every time the act method is run, but every so many times that the act method is run. HINT: If you are having trouble, try only calling animate() every second time the act method is called. Then try editing that attempt to work only every third time the act method is called. It will ultimately be up to you to determine what looks best. Part 3 Clara Collisions with Trees and Ghost Walls Obviously, Clara really shouldn t be floating through the world; she should stop before hitting trees. She will also need to stop before hitting the Ghost Wall, as only the Ghosts are allowed to pass through it. It will be up to you to figure out how to stop Clara from passing through either. HINT: You will need to use the ghostwallfront() method. Part 4 Eating Leaves and Winning Clara will need to eat all of the leaves in order to win. First, she will need to be capable of eating leaves. If you are unsure of how to do this, please revise practicals 1 and 2. Once you ve got Clara eating leaves, you ll need to play the right sound. To do so, you ll need to call the method playleafeatensound() at an appropriate point in your code. When you have Clara happily eating leaves, you ll need to check that all leaves have been eaten and progress to the next level. You will need to use the allleaveseaten(), advancetolevel(char[][]) and getcurrentlevelnumber() methods. You will need to somehow check what the current level is, and either advance to the next available level, or, if there are no more available levels, advance back to the first level again. Note that if you wish to return back to the first level, all you need to do is send LEVEL_1 or null to the advancetolevel(char[][]) method. Please note that actually adding levels to the advancetonextlevel() method is covered in Part 12 Making and Adding Levels. Once you can advance to new levels, or return to the first level after player completes it, it s time to play the famous Pacman intro music at the start of each level. Note that it is a requirement to not allow Clara or the Ghosts to move until after the intro music has finished playing and the intro music must only play once for each level. You will need to use the methods playpacmanintro() and ispacmanintrostillplaying(). For now, just focus on stopping Clara from moving while it is playing. Note that after doing the above, you may wish to comment out the code that plays the intro music and prevents movement while testing the game, but remember to uncomment it and add it back in when you re ready to submit. Major Assignment: Pacman Game 12

13 Part 5 Moving Ghosts Making the Ghosts move is very similar to making Clara move, but all your corresponding code must now be placed inside Ghost.java. You will need to call the move(int) method and determine a suitable speed for Ghosts. Note that they should move slower than Clara at this point. It is also a good idea to add the code to stop them from moving when the intro is playing. You will need to use the method ispacmanintrostillplaying(). Don t forget to call the wraparoundworld() method, so that Ghosts correctly move after reaching the edge of the world. Before starting to code collisions and AI, there is something important you need to note: unlike Clara the Ghosts do not face the direction that they are pointing. They will always look like they are facing up, and this will not change. This is important to know for logic error checking. Part 6 - Animating Ghosts Movement Making the Ghosts animated works in the similar way as animating Clara. The method you call is exactly the same. Just like Clara, you will need to figure out a way of calling the animate() method every so often that the act method is called, and that it is up to you to determine how often they should animate. Part 7 Ghosts and Tree Collisions Making the Ghosts detect that a tree is in the way, and stop, is achieved in a similar way as making Clara do so, you will even need the same methods. Although, unlike Clara, there is no human player to tell the Ghosts where to go after they hit a tree. It is up to you to decide what they should generally do when they hit one. Note that telling the Ghosts where to face will involve using the setdirection(string) method, just like with Clara. It may assist your general Ghost logic if you use the getdirection() method, which returns a string just like you would send the setdirection(string) method, and that the string will be either up, down, left or right. It is not necessary to use the getdirection() method, but you may find it helpful while testing and debugging your code. Note that, just like Clara, the setdirection(string) method will not change the Ghost to a specified direction if there is a tree in that direction. Part 8 AI and Intersections An important part of making your Ghosts intelligent is detecting an intersection and deciding which way to go. You should start with simply selecting a random direction at an intersection by using random numbers covered in the lectures. You will need to use the methods treeabove(), treebelow(), treetoleft() and treetoright() to detect an intersection. It should be noted that, unlike most sensor commands that you ve used before, like treefront() and treeleft(), these commands are not relative to the direction that the Ghost is facing, they are relative to the screen itself. This means that a tree that is above the Ghost, will always be above the ghost, regardless of which direction it is facing. This basic logic is true for all four aforementioned commands. Major Assignment: Pacman Game 13

14 Test them out in order to understand them. Drag one of the Ghosts around and see what is the result of calling those methods. It should be noted that, for the most part, an intersection can be defined as a location where there are three or more directions to go to. HINT: You might want to check to make sure the Ghost has passed the intersection it is currently at before running the code to choose a direction at an intersection. (Otherwise, it might just hang around the same intersection and not go anywhere). For more advanced students, use the isaboveme(), isbelowme(), istomyleft(), istomyright() and getclara() methods to give them a 50% chance of moving in the Clara s direction at every intersection. Note that the isaboveme(), isbelowme(), istomyleft(), istomyright() methods are further explained in the Part 11 Ghosts and Regeneration. Part 9 Ghosts Colliding with Clara and Losing The Ghosts must pose a threat to Clara, and as such, they must kill her if they catch her. In order to do so, you will need to check if they have collided with Clara. To do so, you will need to use the methods intersects(actor), getclara() and makeclaradead() inside the Ghost class. Clara will need to use the method isclaradead() to signal that the game is over. It is important for the Ghosts to be continually checking whether they have caught Clara, and it is important for Clara to check whether she is dead to prevent further movement and animation. Once you have Clara capable of checking whether she is dead, you will need to show the appropriate death image, with Clara s method animatedead() and play the appropriate sound with the method playclaradiesound(). It is important that the method playclaradiesound() is only called once. It is also important that you stop processing keyboard input from the player at the point of Clara s death. Note that Clara s animatedead() method only contains one frame, and so it is acceptable to run it every time the act method is called after Clara is dead. Part 10 Eating Mushrooms and Making Ghosts Eatable Clara will need to able to eat mushrooms and get her super power. onmushroom() and removemushroom(). In order to do so, you will need to use methods Then you will need to appropriately place the method makescared() when Clara has eaten a mushroom. The Ghosts will need to check whether or not they should be scared, and switch to the appropriate animation when they are. You will need to use the methods isscared() and animatescared(). Note that the animatescared() method will need to be run every so many times that the act method is called, just like the animate() method. It is acceptable, but not compulsory to increase the Ghosts speed when they are scared, but they should be slower than Clara. You will then need to ensure that the Ghosts don t kill Clara when they collide with her if they are scared, and instead, die themselves. It will be up to you to create your own variable that checks if the Ghosts are dead. You will need the animatedead() and playghosteatensound() methods. It is important to note that the Ghosts do not stop moving when they are dead, and that the Ghost s animatedead() method will need to be run every so many times that the act method is called, just like the animate() method. It is also important that the Ghosts should not harm Clara when they are scared or when they are dead. Also note that the game will automatically decide how long the Ghosts should be scared for. Major Assignment: Pacman Game 14

15 Part 11 Ghosts and Regeneration When a Ghost is dead, it will need to return to the Ghost Healer, which is the red object near where the Ghosts start. It will be up to you to decide how they should logically make their way back to the Ghost Healer object. You will need to use the isaboveme(actor), isbelowme(actor), istomyleft(actor), istomyright(actor) and getghosthealer() methods to make this happen. Note that the isaboveme(actor), isbelowme(actor), istomyleft(actor), istomyright(actor) methods need to be sent an Actor, and that only two are available to you, through the getghosthealer() and getclara() methods. You will need to send those get methods to the is methods in order to get an appropriate answer. An example of how to use the above functions is below: isaboveme( getghosthealer() ); If the above example returns true, then the Ghost Healer is above the Ghost. When the Ghost returns to the Ghost Healer object, it will need to make itself no longer dead. You will need the intersects(actor) and getghosthealer() methods to make this work. Hint: To avoid ghosts being stuck between 2 intersections - you may want to remember the direction the ghost came form (use getdirection() for this) before setting a new direction and don't send the ghost to this direction again. Part 12 Making and Adding Levels It s time to understand how Clara s world is designed in this game, and how to design and add your own levels. When you first opened up MyClara, you may have noticed the first level at the top of the code. This is the format you will need to use in order to create your own levels. See the image below for what you should roughly see when first opening up MyClara. Figure 12.1 The first level is done for you Major Assignment: Pacman Game 15

16 You will need to rename the level from LEVEL_1 to LEVEL_2. You ll notice that a level is simply an array of characters that visually represent the level that they make. The characters used are as follows: # represents a tree, which is an obstacle to both Clara and the Ghosts.. represents a leaf, which Clara needs to eat in order to progress to the next level. represents nothing, which is essentially an empty tile. % represents a Ghost. At least one must be present in every level you make.? represents a Ghost Healer, which the Ghosts return to when eaten in order to come back to life. At least one must be present in every level you make. represents a Ghost Wall, which is an obstacle that only Ghosts may pass through, and not Clara. It is connected to the group of trees that make up the initial room that the Ghosts start in. At least one must be present in every level you make. $ represents a mushroom, which can be eaten by Clara in order to make the Ghosts scared and capable of being killed by represents Clara, it is where she will start at the beginning of the level. Only one must be present in every level you make. The characters that make up the array of a level in Clara s world are each surrounded by single quotes ( ) and the characters in a single row are separated by commas (,). A single row in a level is surrounded by curly braces({}), and the end of a row of a level, that is not the end of the whole level, is indicated by a comma after the closing curly brace (},). This is all indicated in the image below. Figure 12.2 How a level of Clara s world is constructed in an array Now you should have a rough understanding of how Clara s world is constructed. Major Assignment: Pacman Game 16

17 In order to build your own level, all you have to do is delete all of the streets of the level and write your own level in there, following the above rules in order to present it and write it properly. Just in case you re still unsure of what to delete before you write your own level, only delete the section as highlighted in the following image. Figure 12.3 The part to delete to write your own level Then write your own level, in between the curly braces that are left after you delete what was highlighted. After you re done, you ll need to go to where you call the advancetolevel(char[][]) method and figure out a way of sending it LEVEL_2 when the player has finished LEVEL_1. Now add a new level, and test it. To add another level, simply copy and paste LEVEL_2 inside MyClara and change it to LEVEL_3, and modify it just like you did for level 2. Add as many levels as you want, although technically you are only required to add one more level. Part 13 Life is Good Now tidy up your code, add more levels if you want, but be sure to properly comment what you ve coded. You re ready to hand in your assignment. Life is good! Demonstrate the game to your tutor in the last tutorial class (Week 14) Submit all files to your tutor by 11.59PM Friday 31 October. Late penalties apply for submissions after the due date above (see learning guide). Major Assignment: Pacman Game 17

The University of Melbourne Department of Computer Science and Software Engineering Graphics and Computation

The University of Melbourne Department of Computer Science and Software Engineering Graphics and Computation The University of Melbourne Department of Computer Science and Software Engineering 433-380 Graphics and Computation Project 2, 2009 Set: 8 Apr Demonstration: Week commencing 18 May Electronic Submission:

More information

Fruit Snake SECTION 1

Fruit Snake SECTION 1 Fruit Snake SECTION 1 For the first full Construct 2 game you're going to create a snake game. In this game, you'll have a snake that will "eat" fruit, and grow longer with each object or piece of fruit

More information

CPSC 217 Assignment 3

CPSC 217 Assignment 3 CPSC 217 Assignment 3 Due: Monday November 23, 2015 at 12:00 noon Weight: 7% Sample Solution Length: 135 lines, including some comments (not including the provided code) Individual Work: All assignments

More information

Lab 9: Pointers and arrays

Lab 9: Pointers and arrays CMSC160 Intro to Algorithmic Design Blaheta Lab 9: Pointers and arrays 3 Nov 2011 As promised, we ll spend today working on using pointers and arrays, leading up to a game you ll write that heavily involves

More information

Improving the Crab more sophisticated programming

Improving the Crab more sophisticated programming CHAPTER 3 Improving the Crab more sophisticated programming topics: concepts: random behavior, keyboard control, sound dot notation, random numbers, defining methods, comments In the previous chapter,

More information

Improving the crab: more sophisticated programming

Improving the crab: more sophisticated programming Chapter 3 Improving the crab: more sophisticated programming topics: concepts: random behavior, keyboard control, sound dot notation, random numbers, defining methods, comments In the previous chapter,

More information

CMSC 201 Spring 2018 Project 3 Minesweeper

CMSC 201 Spring 2018 Project 3 Minesweeper CMSC 201 Spring 2018 Project 3 Minesweeper Assignment: Project 3 Minesweeper Due Date: Design Document: Friday, May 4th, 2018 by 8:59:59 PM Project: Friday, May 11th, 2018 by 8:59:59 PM Value: 80 points

More information

Creating Breakout - Part 2

Creating 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 information

Introduction to Unreal Engine Blueprints for Beginners. By Chaven R Yenketswamy

Introduction 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 information

More About WHILE Loops

More About WHILE Loops More About WHILE Loops http://people.sc.fsu.edu/ jburkardt/isc/week04 lecture 07.pdf... ISC3313: Introduction to Scientific Computing with C++ Summer Semester 2011... John Burkardt Department of Scientific

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

The first program: Little Crab

The first program: Little Crab Chapter 2 The first program: Little Crab topics: concepts: writing code: movement, turning, reacting to the screen edges source code, method call, parameter, sequence, if-statement In the previous chapter,

More information

Assignment 3: Optimizing solutions

Assignment 3: Optimizing solutions Assignment 3: Optimizing solutions Algorithmic Thinking and Structured Programming (in Greenfoot) c 2015 Renske Smetsers-Weeda & Sjaak Smetsers Licensed under the Creative Commons Attribution 4.0 license,

More information

Agents That Move. NetLogo Guide 2. Turtles - Breeds. John Hayward Church Growth Modelling

Agents That Move. NetLogo Guide 2. Turtles - Breeds. John Hayward Church Growth Modelling Agents That Move NetLogo Guide 2 Turtles - Breeds John Hayward Church Growth Modelling www.churchmodel.org.uk 2 Turtles An agent is an individual entity, or being, that can follow instructions and modify

More information

AN INTRODUCTION TO SCRATCH (2) PROGRAMMING

AN 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 information

The WideRuled Story Generator Tutorial Alex Mitchell Communications and New Media Programme National University of Singapore

The WideRuled Story Generator Tutorial Alex Mitchell Communications and New Media Programme National University of Singapore The WideRuled Story Generator Tutorial Alex Mitchell Communications and New Media Programme National University of Singapore Table of Contents 1. Introduction... 1 2. Getting Started... 2 3. Creating Characters...

More information

Appendix 9 Insteon. What is Insteon?

Appendix 9 Insteon. What is Insteon? Appendix 9 Insteon This appendix describes the features in HCA in support of the Insteon technology and Insteon products available from SmartHome. These topics are covered: What is Insteon? Insteon devices

More information

Shorthand for values: variables

Shorthand for values: variables Chapter 2 Shorthand for values: variables 2.1 Defining a variable You ve typed a lot of expressions into the computer involving pictures, but every time you need a different picture, you ve needed to find

More information

Get comfortable using computers

Get comfortable using computers Mouse A computer mouse lets us click buttons, pick options, highlight sections, access files and folders, move around your computer, and more. Think of it as your digital hand for operating a computer.

More information

Math Dr. Miller - Constructing in Sketchpad (tm) - Due via by Friday, Mar. 18, 2016

Math 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 information

SPRITES Moving Two At the Same Using Game State

SPRITES 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 information

Dalarna University Telephone:

Dalarna University Telephone: Publish Material In the course room, there is a menu at the left. This will look familiar if you have experience working with Fronter. 1 You can publish material in Course information and in Course materials.

More information

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze.

Pacman. you want to see how the maze was created, open the file named unity_pacman_create_maze. Pacman Note: I have started this exercise for you so you do not have to make all of the box colliders. If you want to see how the maze was created, open the file named unity_pacman_create_maze. Adding

More information

Getting to know Greenfoot

Getting to know Greenfoot CHAPTER 1 Getting to know Greenfoot topics: concepts: the Greenfoot interface, interacting with objects, invoking methods, running a scenario object, class, method call, parameter, return value This book

More information

Web API Lab. The next two deliverables you shall write yourself.

Web API Lab. The next two deliverables you shall write yourself. Web API Lab In this lab, you shall produce four deliverables in folder 07_webAPIs. The first two deliverables should be pretty much done for you in the sample code. 1. A server side Web API (named listusersapi.jsp)

More information

These are notes for the third lecture; if statements and loops.

These are notes for the third lecture; if statements and loops. These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern

More information

Imagery International website manual

Imagery International website manual Imagery International website manual Prepared for: Imagery International Prepared by: Jenn de la Fuente Rosebud Designs http://www.jrosebud.com/designs designs@jrosebud.com 916.538.2133 A brief introduction

More information

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps!

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps! Lesson 2 Introducing Apps In this lesson, you ll unlock the true power of your computer by learning to use apps! So What Is an App?...258 Did Someone Say Free?... 259 The Microsoft Solitaire Collection

More information

Understanding and Exploring Memory Hierarchies

Understanding and Exploring Memory Hierarchies Understanding and Exploring Memory Hierarchies Issued : Thursday 27th January 2011 Due : Friday 11th March 2011 at 4.00pm (at the ITO) This assignment represents the total practical component of the Computer

More information

CMSC 201 Spring 2018 Project 2 Battleship

CMSC 201 Spring 2018 Project 2 Battleship CMSC 201 Spring 2018 Project 2 Battleship Assignment: Project 2 Battleship Due Date: Design Document: Friday, April 13th, 2018 by 8:59:59 PM Project: Friday, April 20th, 2018 by 8:59:59 PM Value: 80 points

More information

CSC D84 Assignment 2 Game Trees and Mini-Max

CSC D84 Assignment 2 Game Trees and Mini-Max 0 The Cats Strike Back Due date: Wednesday, Feb. 21, 9am (electronic submission on Mathlab) This assignment can be completed individually, or by a team of 2 students This assignment is worth 10 units toward

More information

NAME EET 2259 Lab 3 The Boolean Data Type

NAME EET 2259 Lab 3 The Boolean Data Type NAME EET 2259 Lab 3 The Boolean Data Type OBJECTIVES - Understand the differences between numeric data and Boolean data. -Write programs using LabVIEW s Boolean controls and indicators, Boolean constants,

More information

Making use of other Applications

Making 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 information

CS211 Spring 2007 Assignment 5 Pacman Due Thursday, 3 May 2007, 11:59:59pm. 1 General Instructions. 2 Overview. 2.1 Background. 2.

CS211 Spring 2007 Assignment 5 Pacman Due Thursday, 3 May 2007, 11:59:59pm. 1 General Instructions. 2 Overview. 2.1 Background. 2. CS211 Spring 2007 Assignment 5 Pacman 1 General Instructions In this assignment, you will develop a Java implementation of the famous interactive game Pacman. This assignment will involve GUI programming,

More information

In this lesson you will learn: How to capture the input from the user. How to write programs using variables and lists. Athletics Swimming Gymnastics

In 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 information

Boardmaker 5.0 (Macintosh) Creating a Story Response Board. Introduction. Case Study. Learning Objectives

Boardmaker 5.0 (Macintosh) Creating a Story Response Board. Introduction. Case Study. Learning Objectives Boardmaker 5.0 (Macintosh) Creating a Story Response Board Introduction Boardmaker is an excellent program to use for creating resources to support students as they develop literacy skills. Its large electronic

More information

Tangents. In this tutorial we are going to take a look at how tangents can affect an animation.

Tangents. In this tutorial we are going to take a look at how tangents can affect an animation. Tangents In this tutorial we are going to take a look at how tangents can affect an animation. One of the 12 Principles of Animation is called Slow In and Slow Out. This refers to the spacing of the in

More information

CSC 258 lab notes, Fall 2003

CSC 258 lab notes, Fall 2003 CSC 258 lab notes, Fall 2003 Instructor: E. R. C. Hehner Lab demonstrators: Nicolas Kokkalis, Andrés Lagar Cavilla Successful completion of the three graded labs in this course involves a significant amount

More information

Use lists. Use loops. Use conditionals. Define and use functions. Create and use code modules

Use lists. Use loops. Use conditionals. Define and use functions. Create and use code modules Hunt the Wumpus Objectives Use lists Use loops Use conditionals Define and use functions Create and use code modules Assignment Hunt the Wumpus is a game that has been around in computing for over 40 years.

More information

Part 1: Understanding Windows XP Basics

Part 1: Understanding Windows XP Basics 542362 Ch01.qxd 9/18/03 9:54 PM Page 1 Part 1: Understanding Windows XP Basics 1: Starting Up and Logging In 2: Logging Off and Shutting Down 3: Activating Windows 4: Enabling Fast Switching between Users

More information

Introduction. What is Max?

Introduction. What is Max? Introduction What is Max? Max is a graphical music programming environment for people who have hit the limits of the usual sequencer and voicing programs for MIDI equipment. Miller Puckette, Max reference

More information

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs.

VARIABLES. Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. Lesson 2 VARIABLES Aim Understanding how computer programs store values, and how they are accessed and used in computer programs. WHAT ARE VARIABLES? When you input data (i.e. information) into a computer

More information

Dice in Google SketchUp

Dice in Google SketchUp A die (the singular of dice) looks so simple. But if you want the holes placed exactly and consistently, you need to create some extra geometry to use as guides. Plus, using components for the holes is

More information

Pong in Unity a basic Intro

Pong 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 information

CMSC 201 Fall 2016 Lab 09 Advanced Debugging

CMSC 201 Fall 2016 Lab 09 Advanced Debugging CMSC 201 Fall 2016 Lab 09 Advanced Debugging Assignment: Lab 09 Advanced Debugging Due Date: During discussion Value: 10 points Part 1: Introduction to Errors Throughout this semester, we have been working

More information

Procedures: Algorithms and Abstraction

Procedures: Algorithms and Abstraction Procedures: Algorithms and Abstraction 5 5.1 Objectives After completing this module, a student should be able to: Read and understand simple NetLogo models. Make changes to NetLogo procedures and predict

More information

Hello App Inventor! Android programming for kids and the rest of us. Chapter 2. by Paula Beer and Carl Simmons. Copyright 2015 Manning Publications

Hello App Inventor! Android programming for kids and the rest of us. Chapter 2. by Paula Beer and Carl Simmons. Copyright 2015 Manning Publications SAMPLE CHAPTER Hello App Inventor! Android programming for kids and the rest of us by Paula Beer and Carl Simmons Chapter 2 Copyright 2015 Manning Publications Brief contents 1 Getting to know App Inventor

More information

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001 257 Midterm Exam, October 24th, 2000 258 257 Midterm Exam, October 24th, 2000 Tuesday, October 24th, 2000 Course Web page: http://www.cs.uni sb.de/users/jameson/hci Human-Computer Interaction IT 113, 2

More information

printf( Please enter another number: ); scanf( %d, &num2);

printf( Please enter another number: ); scanf( %d, &num2); CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful

More information

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch

CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch CSCI 1100L: Topics in Computing Lab Lab 11: Programming with Scratch Purpose: We will take a look at programming this week using a language called Scratch. Scratch is a programming language that was developed

More information

Add in a new balloon sprite, and a suitable stage backdrop.

Add in a new balloon sprite, and a suitable stage backdrop. Balloons Introduction You are going to make a balloon-popping game! Step 1: Animating a balloon Activity Checklist Start a new Scratch project, and delete the cat sprite so that your project is empty.

More information

Text Input and Conditionals

Text Input and Conditionals Text Input and Conditionals Text Input Many programs allow the user to enter information, like a username and password. Python makes taking input from the user seamless with a single line of code: input()

More information

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab

Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab CSC 111 Fall 2005 Lab 6: Methods and Debugging Due Date: Two Program Demonstrations (Testing and Debugging): End of Lab Documented GameMethods file and Corrected HighLow game: Uploaded by midnight of lab

More information

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs

Linux Tutorial #1. Introduction. Login to a remote Linux machine. Using vim to create and edit C++ programs Linux Tutorial #1 Introduction The Linux operating system is now over 20 years old, and is widely used in industry and universities because it is fast, flexible and free. Because Linux is open source,

More information

Project 5 - The Meta-Circular Evaluator

Project 5 - The Meta-Circular Evaluator MASSACHVSETTS INSTITVTE OF TECHNOLOGY Department of Electrical Engineering and Computer Science 6.001 Structure and Interpretation of Computer Programs Fall Semester, 2005 Project 5 - The Meta-Circular

More information

Lab 12: Lijnenspel revisited

Lab 12: Lijnenspel revisited CMSC160 Intro to Algorithmic Design Blaheta Lab 12: Lijnenspel revisited 16 April 2015 Today s lab will revisit and rework the Lijnenspel game code from Lab 7, possibly using my version as a starting point.

More information

Lecture Transcript While and Do While Statements in C++

Lecture Transcript While and Do While Statements in C++ Lecture Transcript While and Do While Statements in C++ Hello and welcome back. In this lecture we are going to look at the while and do...while iteration statements in C++. Here is a quick recap of some

More information

The State Universtiy of New York, Korea Computer Science

The State Universtiy of New York, Korea Computer Science The State Universtiy of New York, Korea Computer Science CSE 101 Handout 4: PS 3 October 11, 2017 This problem set is due Saturday, October 21 at 11:59pm, KST. Note that that the due date that you see

More information

Introducing Activstudio

Introducing Activstudio Introducing Activstudio Version 3 COPYRIGHT INFORMATION Introducing Activstudio Version 3 Copyright 2007 Promethean Limited. All rights reserved. If this guide is distributed with Activstudio software,

More information

textures not patterns

textures not patterns This tutorial will walk you through how to create a seamless texture in Photoshop. I created the tutorial using Photoshop CS2, but it should work almost exactly the same for most versions of Photoshop

More information

FILE ORGANIZATION. GETTING STARTED PAGE 02 Prerequisites What You Will Learn

FILE ORGANIZATION. GETTING STARTED PAGE 02 Prerequisites What You Will Learn FILE ORGANIZATION GETTING STARTED PAGE 02 Prerequisites What You Will Learn PRINCIPLES OF FILE ORGANIZATION PAGE 03 Organization Trees Creating Categories FILES AND FOLDERS PAGE 05 Creating Folders Saving

More information

: Principles of Imperative Computation. Fall Assignment 5: Interfaces, Backtracking Search, Hash Tables

: Principles of Imperative Computation. Fall Assignment 5: Interfaces, Backtracking Search, Hash Tables 15-122 Assignment 3 Page 1 of 12 15-122 : Principles of Imperative Computation Fall 2012 Assignment 5: Interfaces, Backtracking Search, Hash Tables (Programming Part) Due: Monday, October 29, 2012 by 23:59

More information

Using Tab Stops in Microsoft Word

Using Tab Stops in Microsoft Word Using Tab Stops in Microsoft Word U 720 / 1 How to Set Up and Use Tab Stops to Align and Position Text on a Page If you ve tried to use tab stops to align text in Microsoft Word, there s every chance you

More information

Com S 227 Spring 2018 Assignment points Due Date: Thursday, September 27, 11:59 pm (midnight) "Late" deadline: Friday, September 28, 11:59 pm

Com S 227 Spring 2018 Assignment points Due Date: Thursday, September 27, 11:59 pm (midnight) Late deadline: Friday, September 28, 11:59 pm Com S 227 Spring 2018 Assignment 2 200 points Due Date: Thursday, September 27, 11:59 pm (midnight) "Late" deadline: Friday, September 28, 11:59 pm (Remember that Exam 1 is MONDAY, October 1.) General

More information

Quick Start Guide to using Light Converse along with Pangolin LD2000 and BEYOND

Quick Start Guide to using Light Converse along with Pangolin LD2000 and BEYOND Quick Start Guide to using Light Converse along with Pangolin LD2000 and BEYOND First Steps Regardless of when or from whom you purchased Light Converse, we recommend you do the following steps before

More information

1. Introduction EE108A. Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game

1. Introduction EE108A. Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game EE108A Lab 1: Combinational Logic: Extension of the Tic Tac Toe Game 1. Introduction Objective This lab is designed to familiarize you with the process of designing, verifying, and implementing a combinational

More information

Practical 2: Ray Tracing

Practical 2: Ray Tracing 2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be

More information

Game Design Unity Workshop

Game Design Unity Workshop Game Design Unity Workshop Activity 2 Goals: - Creation of small world - Creation of character - Scripting of player movement and camera following Load up unity Build Object: Mini World and basic Chase

More information

ENCM 339 Fall 2017: Editing and Running Programs in the Lab

ENCM 339 Fall 2017: Editing and Running Programs in the Lab page 1 of 8 ENCM 339 Fall 2017: Editing and Running Programs in the Lab Steve Norman Department of Electrical & Computer Engineering University of Calgary September 2017 Introduction This document is a

More information

Student Success Guide

Student Success Guide Student Success Guide Contents Like a web page, links in this document can be clicked and they will take you to where you want to go. Using a Mouse 6 The Left Button 6 The Right Button 7 The Scroll Wheel

More information

Assignment3 CS206 Intro to Data Structures Fall Part 1 (50 pts) due: October 13, :59pm Part 2 (150 pts) due: October 20, :59pm

Assignment3 CS206 Intro to Data Structures Fall Part 1 (50 pts) due: October 13, :59pm Part 2 (150 pts) due: October 20, :59pm Part 1 (50 pts) due: October 13, 2013 11:59pm Part 2 (150 pts) due: October 20, 2013 11:59pm Important Notes This assignment is to be done on your own. If you need help, see the instructor or TA. Please

More information

Damaging, Attacking and Interaction

Damaging, Attacking and Interaction Damaging, Attacking and Interaction In this tutorial we ll go through some ways to add damage, health and interaction to our scene, as always this isn t the only way, but it s the way I will show you.

More information

Your First Windows Form

Your First Windows Form Your First Windows Form From now on, we re going to be creating Windows Forms Applications, rather than Console Applications. Windows Forms Applications make use of something called a Form. The Form is

More information

IAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil

IAT 445 Lab 10. Special Topics in Unity. Lanz Singbeil IAT 445 Lab 10 Special Topics in Unity Special Topics in Unity We ll be briefly going over the following concepts. They are covered in more detail in your Watkins textbook: Setting up Fog Effects and a

More information

Assignment 4: Due Friday Mar 11 at 6pm

Assignment 4: Due Friday Mar 11 at 6pm CS1110 Spring 2016 Assignment 4: Due Friday Mar 11 at 6pm You must work either on your own or with one partner. If you work with a partner, you and your partner must first register as a group in CMS (this

More information

Laboratory 1: Eclipse and Karel the Robot

Laboratory 1: Eclipse and Karel the Robot Math 121: Introduction to Computing Handout #2 Laboratory 1: Eclipse and Karel the Robot Your first laboratory task is to use the Eclipse IDE framework ( integrated development environment, and the d also

More information

Lab 7: Creating a Virtual Pet

Lab 7: Creating a Virtual Pet ECGR 4101/5101 Lab 7: Creating a Virtual Pet Objective: In this lab, we will create a virtual pet using the LCD and various other peripherals on the board. For those of you who remember the virtual pet

More information

Assignment #6 Adventure

Assignment #6 Adventure Eric Roberts and Jerry Cain Handout #44 CS 106J May 24, 2017 Assignment #6 Adventure The vitality of thought is in adventure. Alfred North Whitehead, Dialogues, 1953 Due: Wednesday, June 7, 5:00 P.M. Last

More information

Creating an Xtra-Normal Movie. 1. Go online and type in the URL 2. Click on Create a Movie. 3. Click on Create An Account

Creating an Xtra-Normal Movie. 1. Go online and type in the URL  2. Click on Create a Movie. 3. Click on Create An Account Creating an Xtra-Normal Movie 1. Go online and type in the URL http://edu.xtranormal.com 2. Click on Create a Movie 3. Click on Create An Account 4. Fill out the registration form and type the verification

More information

Java/RealJ Troubleshooting Guide

Java/RealJ Troubleshooting Guide Java/RealJ Troubleshooting Guide by Bob Clark / Sharon Curtis / Simon Jones, September 2000 Some of these tips you will come across during your practical sessions, however we felt it would be helpful to

More information

CPSC 217 Assignment 4

CPSC 217 Assignment 4 CPSC 217 Assignment 4 Due: Friday December 8, 2017 at 11:55pm Weight: 7% Sample Solution Length: Approximately 130 lines (No comments and no code for the A+ part) Individual Work: All assignments in this

More information

Have the students look at the editor on their computers. Refer to overhead projector as necessary.

Have the students look at the editor on their computers. Refer to overhead projector as necessary. Intro to Programming (Time 15 minutes) Open the programming tool of your choice: If you ve installed, DrRacket, double-click the application to launch it. If you are using the online-tool, click here to

More information

1 Getting started with Processing

1 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 information

Chapter 3. Using the System CHANGING CHANNELS USING THE MENUS OPENING THE MENUS CLOSING THE MENUS MENU OPTIONS

Chapter 3. Using the System CHANGING CHANNELS USING THE MENUS OPENING THE MENUS CLOSING THE MENUS MENU OPTIONS CHANGING CHANNELS There are three basic ways to change channels while watching a program: Press the remote control UP or DOWN ARROW button to get to the desired channel. Use the remote control number pad

More information

DOING MORE WITH EXCEL: MICROSOFT OFFICE 2010

DOING MORE WITH EXCEL: MICROSOFT OFFICE 2010 DOING MORE WITH EXCEL: MICROSOFT OFFICE 2010 GETTING STARTED PAGE 02 Prerequisites What You Will Learn MORE TASKS IN MICROSOFT EXCEL PAGE 03 Cutting, Copying, and Pasting Data Filling Data Across Columns

More information

CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 4

CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 4 CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 4 20 points Out: February 18/19, 2015 Due: February 25/26, 2015 Reminder: This is a programming assignment, and work on this assignment

More information

CMSC162 Intro to Algorithmic Design II Blaheta. Lab March 2019

CMSC162 Intro to Algorithmic Design II Blaheta. Lab March 2019 CMSC162 Intro to Algorithmic Design II Blaheta Lab 10 28 March 2019 This week we ll take a brief break from the Set library and revisit a class we saw way back in Lab 4: Card, representing playing cards.

More information

Tips from the experts: How to waste a lot of time on this assignment

Tips from the experts: How to waste a lot of time on this assignment Com S 227 Spring 2018 Assignment 1 100 points Due Date: Friday, September 14, 11:59 pm (midnight) Late deadline (25% penalty): Monday, September 17, 11:59 pm General information This assignment is to be

More information

Using Flash Animation Basics

Using 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 information

6.001 Notes: Section 8.1

6.001 Notes: Section 8.1 6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything

More information

Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time)

Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time) CSE 11 Winter 2017 Program Assignment #2 (100 points) START EARLY! Due: 9 February 2017 at 1159pm (2359, Pacific Standard Time) PROGRAM #2: DoubleArray11 READ THE ENTIRE ASSIGNMENT BEFORE STARTING In lecture,

More information

Test-Driven Development (TDD)

Test-Driven Development (TDD) Test-Driven Development (TDD) CS 4501 / 6501 Software Testing [Lasse Koskela, Test Driven, Chapters 2-3] 1 Agile Airplane Testing Test harness: Appearance matches Color coding in place Fly 6ft (or 2m)

More information

CS50 Supersection (for those less comfortable)

CS50 Supersection (for those less comfortable) CS50 Supersection (for those less comfortable) Friday, September 8, 2017 3 4pm, Science Center C Maria Zlatkova, Doug Lloyd Today s Topics Setting up CS50 IDE Variables and Data Types Conditions Boolean

More information

CS 134 Programming Exercise 9:

CS 134 Programming Exercise 9: CS 134 Programming Exercise 9: 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

More information

ENCM 501 Winter 2016 Assignment 1 for the Week of January 25

ENCM 501 Winter 2016 Assignment 1 for the Week of January 25 page 1 of 5 ENCM 501 Winter 2016 Assignment 1 for the Week of January 25 Steve Norman Department of Electrical & Computer Engineering University of Calgary January 2016 Assignment instructions and other

More information

CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist

CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist In Handout 28, the Guide to Inductive Proofs, we outlined a number of specifc issues and concepts to be mindful about when

More information

CS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style

CS125 : Introduction to Computer Science. Lecture Notes #4 Type Checking, Input/Output, and Programming Style CS125 : Introduction to Computer Science Lecture Notes #4 Type Checking, Input/Output, and Programming Style c 2005, 2004, 2002, 2001, 2000 Jason Zych 1 Lecture 4 : Type Checking, Input/Output, and Programming

More information

The Fundamentals. Document Basics

The Fundamentals. Document Basics 3 The Fundamentals Opening a Program... 3 Similarities in All Programs... 3 It's On Now What?...4 Making things easier to see.. 4 Adjusting Text Size.....4 My Computer. 4 Control Panel... 5 Accessibility

More information

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1

ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 ACORN.COM CS 1110 SPRING 2012: ASSIGNMENT A1 Due to CMS by Tuesday, February 14. Social networking has caused a return of the dot-com madness. You want in on the easy money, so you have decided to make

More information

CSE 142, Autumn 2018 Programming Assignment #9: Critters (20 points) Due Tuesday, December 4th, 9:00 PM

CSE 142, Autumn 2018 Programming Assignment #9: Critters (20 points) Due Tuesday, December 4th, 9:00 PM CSE 142, Autumn 2018 Programming Assignment #9: Critters (20 points) Due Tuesday, December 4th, 9:00 PM This assignment focuses on classes and objects. Turn in Ant.java, Bird.java, Hippo.java, Vulture.java,

More information