G51PGP: Software Paradigms. Object Oriented Coursework 4

Size: px
Start display at page:

Download "G51PGP: Software Paradigms. Object Oriented Coursework 4"

Transcription

1 G51PGP: Software Paradigms Object Oriented Coursework 4 You must complete this coursework on your own, rather than working with anybody else. To complete the coursework you must create a working two-player version of a Reversi game ( along with class and object diagrams to explain your chosen design. This coursework is harder than the others that you have had so far, and I will not spell out the steps to achieve what you need to do in the same detail. You have a lot longer to do it, and will use a lot of the knowledge that you have gained from the other courseworks. You must complete this coursework on your own rather than working with anybody else. This coursework is worth 7.5% of the module mark. The first three OO courseworks were together worth 5% of the module mark, making 12.5% total. The FP courseworks also added up to 12.5%. You should try to complete this coursework in your own time and use the labs as an opportunity to get questions answered. The lab helpers can help you to understand concepts but will not help you to actually complete the coursework itself. Be aware that this coursework deliberately gives you less of a walk-through than the previous courseworks, and involves applying what you have done so far in a new situation.

2 Coursework requirements: Consider the program requirements in this document: Produce a Java program for a Reversi game which meets the program requirements specified in this document. Identify and use appropriate classes in your program. Use interfaces and sub-classing appropriately in your program. Use anonymous inner classes if/where appropriate to do so. Use standard Swing classes, any other standard class library classes, any classes that I have given you already, and your own classes (which may be subclasses of Swing classes), where appropriate. Draw a class diagram to represent your solution, including your own classes, any immediate superclasses for your classes. Include aggregation and inheritance relationships where they exist. Include all attributes and operations. You can draw this by hand or using any software package that you wish to use. It must be clear and unambiguous. Draw an object diagram, showing all of the objects that you create and the relationships between them. You do not need to show attributes and operations. You can draw this by hand or using any software package that you wish to use. It must be clear and unambiguous. In summary: your finished program should look like the display below, should allow players to place pieces when it is their turn, should automatically change the colour of pieces which are taken, and should detect when a player wins: Please also see the start of lecture OO-11 for a demo of a running version of this program.

3 Program requirements: 1. You must have two frames which display the board, with a label at the top and a button at the bottom, as shown above. You need to display the board on each, where one shows the board upside down from the other (actually a 180 degree rotation, see example below). Think of each as representing a player and the players sitting at opposite ends of the table, so that they see the board upside down compared with the other player. 2. Create a class to draw and handle a square on the board. Consider what I did previously in ColorLabel and ColorButton and do something appropriate for the board square. 3. You need to maintain a board state, which should represent an 8x8 grid of squares, as shown above. Each square can contain a white piece, a black piece or be empty. You should put four initial pieces in the centre as show above. 4. When a piece is played, any pieces between it and another piece of colour in a straight line up to the first piece of your colour in that direction are captured. One way to do this for every time a piece is played, search vertically, horizontally and diagonally (8 directions in total): If you find an empty square or the edge of the board then stop no pieces can be captured in that direction. If you find a piece of the opposing colour then continue in that direction. If you find a piece of your own colour then stop and capture all of the pieces of the opposing colour between it and the piece you just played. 5. Players take it in turns to play. The active player should be obvious to the player(s) and should be indicated in the label along the top of the screen, as shown in the earlier pictures (where it was white s turn) and below (where it is black s turn). A potential position after the first move by white

4 6. A player can only play a piece if it is their turn and playing the piece will capture at least one piece owned by the other player. There are only four initial places for white to play, which will be horizontally or vertically next to a black piece, as illustrated above. The black player can then play in a choice of three places. After that things get more complex. 7. White should play first. A potential position after the first move by black (after the move by white) A game in progress

5 8. Include a simple greedy AI, so that when a player presses the AI button and it is their turn the computer takes their turn for them. When the player presses the button, the program should check each space, calculate how many pieces will be taken if a piece is placed in that space and choose one of the space which take the most pieces. Note: If there are multiple places which take the same pieces then I don t mind which you choose I chose randomly but you can choose the first or last such position if you wish. This is called a greedy algorithm because it always makes the best move it can think of at the time without thinking about later consequences. The end of the game 9. When neither player can play a piece then the game ends (this will usually be when the board is full). At this point the player(s) should be presented with a message telling them then who won (who had the most pieces) and how many pieces of each colour there were at the time the game ended. Final message

6 Submission: It is intended that this coursework will be marked in the labs and that nothing will be submitted. When you have completed your coursework, please ask one of the markers to mark it. They will ask you to demo it and ask you various questions to understand how you did things and to test your understanding of what you did. They will then give you a mark. You will receive immediate verbal feedback so will know what mark you got and why. Marking criteria (total 30 marks): The mark breakdown is shown below, since I am aware that sometimes students use this to strategically decide what to do if time becomes short: 10 marks: Class diagram and object diagram are correct and model/design used for this program is appropriate. Appropriate classes were used. Diagrams are correct. Relationships between objects are appropriate and shown correctly in the diagrams. 8 marks: Board appears correctly: in two frames, showing pieces correctly, initial pieces are placed, labels show current player, board state is displayed, one board is upside down from the other, everything updates correctly. The class for the board square is appropriate and works correctly. At the end the number of pieces is correctly calculated and the winner is announced appropriately. 4 marks: Board state is maintained and updated correctly, counts of pieces taken are accurate, pieces are actually captured correctly. 4 marks: Game logic works correctly, passing control between players appropriately, allowing correct player to play, players can only play in valid locations, play alternates between players, play moves to other player when player cannot play a piece, etc. 4 marks: AI works correctly, correctly working out how many pieces will be taken if playing in each location, and choosing one of the best greedy moves when button is pressed.

7 Hints: Counting the pieces taken: If you create a function which counts how many pieces will be taken if you play in a location, you will find that you can use this function in multiple places. If the value is 0 for all directions then you can t play there. If you call the function mentioned above for every square you can work out whether a player can play at all. You can also work out what the best greedy move is (i.e. the one which takes the most pieces). Checking in multiple directions: If you want to check multiple directions, you could use a loop of offsets and recursion. E.g. continuously adding -1x,-1y to a position moves diagonally, whereas adding 0x,1y to a position moves vertically. I used two loops: e.g. for (xoffset=-1; xoffset<=1;xoffset++) and similarly for y, and skipped the case for 0,0. Using this offset I checked all 8 directions without me having to hardcode multiple directions. (If this doesn t make sense to you then just hardcode the directions, but it is not as quick to code it that way, so you ll need to write more code.) You can use iteration to keep moving to the edge, but I found that recursion gave me an easier function to create in this case. You may find iteration easier until you fully understand recursion though the comments from the FP lectures about different cases also apply to recursive functions in Java. How do I display a message? The JOptionPane class has a static function (the equivalent of a global function in C) which will display a message box for you if you wish. Just create the string to display and pass it to the function. E.g.: String st = "My message"; JOptionPane.showMessageDialog(null,st); Where to start? You can choose your own starting point, either starting from the diagrams and working to the code, or doing both in combination. If you are really stuck for a starting point then I suggest starting with the user interface, since the concepts are very similar to those that you have already used in the earlier courseworks. This will allow you to make some progress. I also suggest considering an MVC approach (see Lecture 11) if it seems appropriate. Next decide how to store your data, how you will work out which pieces are taken (or could be taken) and how you will ensure that changes made to one frame are seen in the other. I tend to think about what data I need to maintain as well (i.e. what member variables do you need in each object), and what each object needs to do. Thinking about the collaborations and responsibilities of objects may help you. Think also about how you will record whose turn it is as well, and how you will ensure that a player can only play a piece on their own turn.

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm

CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm CPSC 217 Assignment 3 Due Date: Friday March 30, 2018 at 11:59pm Weight: 8% Individual Work: All assignments in this course are to be completed individually. Students are advised to read the guidelines

More information

Taffy Tangle. cpsc 231 assignment #5. Due Dates

Taffy Tangle. cpsc 231 assignment #5. Due Dates cpsc 231 assignment #5 Taffy Tangle If you ve ever played casual games on your mobile device, or even on the internet through your browser, chances are that you ve spent some time with a match three game.

More information

Intro to Java Programming Project

Intro to Java Programming Project Intro to Java Programming Project In this project, your task is to create an agent (a game player) that can play Connect 4. Connect 4 is a popular board game, similar to an extended version of Tic-Tac-Toe.

More information

CPSC 217 Assignment 3

CPSC 217 Assignment 3 CPSC 217 Assignment 3 Due: Friday November 24, 2017 at 11:55pm Weight: 7% Sample Solution Length: Less than 100 lines, including blank lines and some comments (not including the provided code) Individual

More information

Activity 6: Playing Elevens

Activity 6: Playing Elevens Activity 6: Playing Elevens Introduction: In this activity, the game Elevens will be explained, and you will play an interactive version of the game. Exploration: The solitaire game of Elevens uses a deck

More information

Assignment III: Graphical Set

Assignment III: Graphical Set Assignment III: Graphical Set Objective The goal of this assignment is to gain the experience of building your own custom view, including handling custom multitouch gestures. Start with your code in Assignment

More information

Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm

Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, :59pm Assignment 6 Play A Game: Minesweeper or Battleship!!! Due: Sunday, December 3rd, 2017 11:59pm This will be our last assignment in the class, boohoo Grading: For this assignment, you will be graded traditionally,

More information

Shaftesbury Park Primary School. Wandsworth test examples

Shaftesbury Park Primary School. Wandsworth test examples Shaftesbury Park Primary School Wandsworth test examples Non-verbal reasoning Non-verbal reasoning is problem-solving based around pictures, diagrams and shapes, rather than words. Unlike verbal reasoning,

More information

Programming Problems 14 th Annual Computer Science Programming Contest

Programming Problems 14 th Annual Computer Science Programming Contest Programming Problems 14 th Annual Computer Science Programming Contest Department of Mathematics and Computer Science Western Carolina University April 8, 2003 Criteria for Determining Team Scores Each

More information

G54GAM Lab Session 1

G54GAM Lab Session 1 G54GAM Lab Session 1 The aim of this session is to introduce the basic functionality of Game Maker and to create a very simple platform game (think Mario / Donkey Kong etc). This document will walk you

More information

The game of Paco Ŝako

The game of Paco Ŝako The game of Paco Ŝako Created to be an expression of peace, friendship and collaboration, Paco Ŝako is a new and dynamic chess game, with a mindful touch, and a mind-blowing gameplay. Two players sitting

More information

Girls Programming Network. Scissors Paper Rock!

Girls Programming Network. Scissors Paper Rock! Girls Programming Network Scissors Paper Rock! This project was created by GPN Australia for GPN sites all around Australia! This workbook and related materials were created by tutors at: Sydney, Canberra

More information

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class

CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class CS151 - Assignment 2 Mancala Due: Tuesday March 5 at the beginning of class http://www.clubpenguinsaraapril.com/2009/07/mancala-game-in-club-penguin.html The purpose of this assignment is to program some

More information

CMPT 310 Assignment 1

CMPT 310 Assignment 1 CMPT 310 Assignment 1 October 16, 2017 100 points total, worth 10% of the course grade. Turn in on CourSys. Submit a compressed directory (.zip or.tar.gz) with your solutions. Code should be submitted

More information

Game Playing in Prolog

Game Playing in Prolog 1 Introduction CIS335: Logic Programming, Assignment 5 (Assessed) Game Playing in Prolog Geraint A. Wiggins November 11, 2004 This assignment is the last formally assessed course work exercise for students

More information

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi

Learning to Play like an Othello Master CS 229 Project Report. Shir Aharon, Amanda Chang, Kent Koyanagi Learning to Play like an Othello Master CS 229 Project Report December 13, 213 1 Abstract This project aims to train a machine to strategically play the game of Othello using machine learning. Prior to

More information

CS Programming Project 1

CS Programming Project 1 CS 340 - Programming Project 1 Card Game: Kings in the Corner Due: 11:59 pm on Thursday 1/31/2013 For this assignment, you are to implement the card game of Kings Corner. We will use the website as http://www.pagat.com/domino/kingscorners.html

More information

1st Grade Math. Please complete the activity below for the day indicated. Day 1: Double Trouble. Day 2: Greatest Sum. Day 3: Make a Number

1st Grade Math. Please complete the activity below for the day indicated. Day 1: Double Trouble. Day 2: Greatest Sum. Day 3: Make a Number 1st Grade Math Please complete the activity below for the day indicated. Day 1: Double Trouble Day 2: Greatest Sum Day 3: Make a Number Day 4: Math Fact Road Day 5: Toy Store Double Trouble Paper 1 Die

More information

Tic-tac-toe. Lars-Henrik Eriksson. Functional Programming 1. Original presentation by Tjark Weber. Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23

Tic-tac-toe. Lars-Henrik Eriksson. Functional Programming 1. Original presentation by Tjark Weber. Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23 Lars-Henrik Eriksson Functional Programming 1 Original presentation by Tjark Weber Lars-Henrik Eriksson (UU) Tic-tac-toe 1 / 23 Take-Home Exam Take-Home Exam Lars-Henrik Eriksson (UU) Tic-tac-toe 2 / 23

More information

CSC 110 Lab 4 Algorithms using Functions. Names:

CSC 110 Lab 4 Algorithms using Functions. Names: CSC 110 Lab 4 Algorithms using Functions Names: Tic- Tac- Toe Game Write a program that will allow two players to play Tic- Tac- Toe. You will be given some code as a starting point. Fill in the parts

More information

Final Project: Reversi

Final Project: Reversi Final Project: Reversi Reversi is a classic 2-player game played on an 8 by 8 grid of squares. Players take turns placing pieces of their color on the board so that they sandwich and change the color of

More information

Slitherlink. Supervisor: David Rydeheard. Date: 06/05/10. The University of Manchester. School of Computer Science. B.Sc.(Hons) Computer Science

Slitherlink. Supervisor: David Rydeheard. Date: 06/05/10. The University of Manchester. School of Computer Science. B.Sc.(Hons) Computer Science Slitherlink Student: James Rank rankj7@cs.man.ac.uk Supervisor: David Rydeheard Date: 06/05/10 The University of Manchester School of Computer Science B.Sc.(Hons) Computer Science Abstract Title: Slitherlink

More information

Programming an Othello AI Michael An (man4), Evan Liang (liange)

Programming an Othello AI Michael An (man4), Evan Liang (liange) Programming an Othello AI Michael An (man4), Evan Liang (liange) 1 Introduction Othello is a two player board game played on an 8 8 grid. Players take turns placing stones with their assigned color (black

More information

Memory. Introduction. Scratch. In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

Memory. Introduction. Scratch. In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Scratch 2 Memory All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduction

More information

Assignment 1. Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade.

Assignment 1. Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade. Assignment 1 Due: 2:00pm, Monday 14th November 2016 This assignment counts for 25% of your final grade. For this assignment you are being asked to design, implement and document a simple card game in the

More information

Structured Programming Using Procedural Languages INSS Spring 2018

Structured Programming Using Procedural Languages INSS Spring 2018 Structured Programming Using Procedural Languages INSS 225.101 - Spring 2018 Project #3 (Individual) For your third project, you are going to write a program like what you did for Project 2. You are going

More information

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours!

In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Memory Introduction In this project, you will create a memory game where you have to memorise and repeat a sequence of random colours! Step 1: Random colours First, let s create a character that can change

More information

Create Your Own World

Create Your Own World Create Your Own World Introduction In this project you ll learn how to create your own open world adventure game. Step 1: Coding your player Let s start by creating a player that can move around your world.

More information

January 11, 2017 Administrative notes

January 11, 2017 Administrative notes January 11, 2017 Administrative notes Clickers Updated on Canvas as of people registered yesterday night. REEF/iClicker mobile is not working for everyone. Use at your own risk. If you are having trouble

More information

Part 1. Using LabVIEW to Measure Current

Part 1. Using LabVIEW to Measure Current NAME EET 2259 Lab 11 Studying Characteristic Curves with LabVIEW OBJECTIVES -Use LabVIEW to measure DC current. -Write LabVIEW programs to display the characteristic curves of resistors, diodes, and transistors

More information

Sudoku Online Qualifiers2017

Sudoku Online Qualifiers2017 Bangladesh Sudoku Online Qualifiers2017 25 th 26 th September 2017 Instruction Booklet 500 points 90 Minutes Logic Masters India About this Contest This is a preliminary contest leading to an offline final.

More information

Cryptic Crosswords for Bright Sparks

Cryptic Crosswords for Bright Sparks A beginner s guide to cryptic crosswords for Gifted & Talented children Unit 1 - The Crossword Grid Grid Design Even if you have never attempted to solve a crossword puzzle, you will almost certainly have

More information

Mind Ninja The Game of Boundless Forms

Mind Ninja The Game of Boundless Forms Mind Ninja The Game of Boundless Forms Nick Bentley 2007-2008. email: nickobento@gmail.com Overview Mind Ninja is a deep board game for two players. It is 2007 winner of the prestigious international board

More information

2D Platform. Table of Contents

2D Platform. Table of Contents 2D Platform Table of Contents 1. Making the Main Character 2. Making the Main Character Move 3. Making a Platform 4. Making a Room 5. Making the Main Character Jump 6. Making a Chaser 7. Setting Lives

More information

Unit 5: What s in a List

Unit 5: What s in a List Lists http://isharacomix.org/bjc-course/curriculum/05-lists/ 1 of 1 07/26/2013 11:20 AM Curriculum (/bjc-course/curriculum) / Unit 5 (/bjc-course/curriculum/05-lists) / Unit 5: What s in a List Learning

More information

CMPT 310 Assignment 1

CMPT 310 Assignment 1 CMPT 310 Assignment 1 October 4, 2017 100 points total, worth 10% of the course grade. Turn in on CourSys. Submit a compressed directory (.zip or.tar.gz) with your solutions. Code should be submitted as

More information

3 0 S E C O N D Q U I C K S T A R T To start playing right away, read this page.

3 0 S E C O N D Q U I C K S T A R T To start playing right away, read this page. 3 0 S E C O N D Q U I C K S T A R T To start playing right away, read this page. STARTING/ Start with an empty board and decide who goes first and who s playing what color. OBJECT/ The object is to get

More information

Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter

Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter Assignment 2 (Part 1 of 2), University of Toronto, CSC384 - Intro to AI, Winter 2011 1 Computer Science 384 February 20, 2011 St. George Campus University of Toronto Homework Assignment #2 (Part 1 of 2)

More information

Due: Sunday 13 November by 10:59pm Worth: 8%

Due: Sunday 13 November by 10:59pm Worth: 8% CSC 8 HF Project # General Instructions Fall Due: Sunday Novemer y :9pm Worth: 8% Sumitting your project You must hand in your work electronically, using the MarkUs system. Log in to https://markus.teach.cs.toronto.edu/csc8--9/en/main

More information

CS61B, Fall 2014 Project #2: Jumping Cubes(version 3) P. N. Hilfinger

CS61B, Fall 2014 Project #2: Jumping Cubes(version 3) P. N. Hilfinger CSB, Fall 0 Project #: Jumping Cubes(version ) P. N. Hilfinger Due: Tuesday, 8 November 0 Background The KJumpingCube game is a simple two-person board game. It is a pure strategy game, involving no element

More information

This game can be played in a 3x3 grid (shown in the figure 2.1).The game can be played by two players. There are two options for players:

This game can be played in a 3x3 grid (shown in the figure 2.1).The game can be played by two players. There are two options for players: 1. bjectives: ur project name is Tic-Tac-Toe game. This game is very popular and is fairly simple by itself. It is actually a two player game. In this game, there is a board with n x n squares. In our

More information

Eleventh Annual Ohio Wesleyan University Programming Contest April 1, 2017 Rules: 1. There are six questions to be completed in four hours. 2.

Eleventh Annual Ohio Wesleyan University Programming Contest April 1, 2017 Rules: 1. There are six questions to be completed in four hours. 2. Eleventh Annual Ohio Wesleyan University Programming Contest April 1, 217 Rules: 1. There are six questions to be completed in four hours. 2. All questions require you to read the test data from standard

More information

BAPC The Problem Set

BAPC The Problem Set BAPC 2012 The 2012 Benelux Algorithm Programming Contest The Problem Set A B C D E F G H I J Another Dice Game Black Out Chess Competition Digit Sum Encoded Message Fire Good Coalition Hot Dogs in Manhattan

More information

2: Turning the Tables

2: Turning the Tables 2: Turning the Tables Gareth McCaughan Revision 1.8, May 14, 2001 Credits c Gareth McCaughan. All rights reserved. This document is part of the LiveWires Python Course. You may modify and/or distribute

More information

1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30

1 Modified Othello. Assignment 2. Total marks: 100. Out: February 10 Due: March 5 at 14:30 CSE 3402 3.0 Intro. to Concepts of AI Winter 2012 Dept. of Computer Science & Engineering York University Assignment 2 Total marks: 100. Out: February 10 Due: March 5 at 14:30 Note 1: To hand in your report

More information

CSC Curriculum Term One Lesson Plans

CSC Curriculum Term One Lesson Plans CSC Curriculum Term One Lesson Plans Core Lesson 1: The Pawn Move Learning Objectives To learn about the chess board, and how pawns move and capture. To play a game in which you win by getting a pawn to

More information

A fun way to challenge your math thinking! Grade Levels: 4th - 8th Time: 1 class period. Check out 36 BINGO Snapshot

A fun way to challenge your math thinking! Grade Levels: 4th - 8th Time: 1 class period. Check out 36 BINGO Snapshot Grade Levels: 4th - 8th Time: 1 class period A computation strategy game Check out 36 BINGO Snapshot What equations can you make with 4, 5, & 6? (6 X 4) 5 = 19 6 + 4 + 5 = 15 (6 5) + 4 = 5 Which equation

More information

A Level Computer Science H446/02 Algorithms and programming. Practice paper - Set 1. Time allowed: 2 hours 30 minutes

A Level Computer Science H446/02 Algorithms and programming. Practice paper - Set 1. Time allowed: 2 hours 30 minutes A Level Computer Science H446/02 Algorithms and programming Practice paper - Set 1 Time allowed: 2 hours 30 minutes Do not use: a calculator First name Last name Centre number Candidate number INSTRUCTIONS

More information

CS221 Project Final Report Automatic Flappy Bird Player

CS221 Project Final Report Automatic Flappy Bird Player 1 CS221 Project Final Report Automatic Flappy Bird Player Minh-An Quinn, Guilherme Reis Introduction Flappy Bird is a notoriously difficult and addicting game - so much so that its creator even removed

More information

Homework Assignment #2

Homework Assignment #2 CS 540-2: Introduction to Artificial Intelligence Homework Assignment #2 Assigned: Thursday, February 15 Due: Sunday, February 25 Hand-in Instructions This homework assignment includes two written problems

More information

One Zero One. The binary card game. Players: 2 Ages: 8+ Play Time: 10 minutes

One Zero One. The binary card game. Players: 2 Ages: 8+ Play Time: 10 minutes One Zero One The binary card game Players: 2 Ages: 8+ Play Time: 10 minutes In the world of computer programming, there can only be one winner - either zeros or ones! One Zero One is a small, tactical

More information

Checkpoint Questions Due Monday, October 7 at 2:15 PM Remaining Questions Due Friday, October 11 at 2:15 PM

Checkpoint Questions Due Monday, October 7 at 2:15 PM Remaining Questions Due Friday, October 11 at 2:15 PM CS13 Handout 8 Fall 13 October 4, 13 Problem Set This second problem set is all about induction and the sheer breadth of applications it entails. By the time you're done with this problem set, you will

More information

Pay attention to how flipping of pieces is determined with each move.

Pay attention to how flipping of pieces is determined with each move. CSCE 625 Programing Assignment #5 due: Friday, Mar 13 (by start of class) Minimax Search for Othello The goal of this assignment is to implement a program for playing Othello using Minimax search. Othello,

More information

Bachelor Project Major League Wizardry: Game Engine. Phillip Morten Barth s113404

Bachelor Project Major League Wizardry: Game Engine. Phillip Morten Barth s113404 Bachelor Project Major League Wizardry: Game Engine Phillip Morten Barth s113404 February 28, 2014 Abstract The goal of this project is to design and implement a flexible game engine based on the rules

More information

2 Textual Input Language. 1.1 Notation. Project #2 2

2 Textual Input Language. 1.1 Notation. Project #2 2 CS61B, Fall 2015 Project #2: Lines of Action P. N. Hilfinger Due: Tuesday, 17 November 2015 at 2400 1 Background and Rules Lines of Action is a board game invented by Claude Soucie. It is played on a checkerboard

More information

Scrabble. Assignment 2 CSSE1001/7030 Semester 2, Version 1.0.0rc1. 20 marks : 10% Due Friday 22 September, 2017, 21:30

Scrabble. Assignment 2 CSSE1001/7030 Semester 2, Version 1.0.0rc1. 20 marks : 10% Due Friday 22 September, 2017, 21:30 Scrabble Assignment 2 CSSE1001/7030 Semester 2, 2017 Version 1.0.0rc1 20 marks : 10% Due Friday 22 September, 2017, 21:30 1. Introduction For this assignment, you will be writing code that supports a simple

More information

HW4: The Game of Pig Due date: Tuesday, Mar 15 th at 9pm. Late turn-in deadline is Thursday, Mar 17th at 9pm.

HW4: The Game of Pig Due date: Tuesday, Mar 15 th at 9pm. Late turn-in deadline is Thursday, Mar 17th at 9pm. HW4: The Game of Pig Due date: Tuesday, Mar 15 th at 9pm. Late turn-in deadline is Thursday, Mar 17th at 9pm. 1. Background: Pig is a folk jeopardy dice game described by John Scarne in 1945, and was an

More information

MATHEMATICAL RELATIONAL SKILLS AND COUNTING 0 20

MATHEMATICAL RELATIONAL SKILLS AND COUNTING 0 20 MATHEMATICAL RELATIONAL SKILLS AND COUNTING 0 20 Mathematical relational skills and counting 0-20 ThinkMath 2016 MATHEMATICAL RELATIONAL SKILLS AND COUNTING 0 20 The Mathematical relational skills and

More information

Project Connect Four (Version 1.1)

Project Connect Four (Version 1.1) OPI F2008: Object-Oriented Programming Carsten Schürmann Date: April 2, 2008 Project Connect Four (Version 1.1) Guidelines While we acknowledge that beauty is in the eye of the beholder, you should nonetheless

More information

Sudoku Mock Test 5. Instruction Booklet. 28 th December, IST (GMT ) 975 points + Time Bonus. Organized by. Logic Masters: India

Sudoku Mock Test 5. Instruction Booklet. 28 th December, IST (GMT ) 975 points + Time Bonus. Organized by. Logic Masters: India Sudoku Mock Test 5 Instruction Booklet 28 th December, 2008 14.30 16.30 IST (GMT + 5.30) 975 points + Time Bonus Organized by Logic Masters: India Points Distribution No. Sudoku Points Puzzle Creator 1

More information

Surreal Numbers and Games. February 2010

Surreal Numbers and Games. February 2010 Surreal Numbers and Games February 2010 1 Last week we began looking at doing arithmetic with impartial games using their Sprague-Grundy values. Today we ll look at an alternative way to represent games

More information

Kenken For Teachers. Tom Davis January 8, Abstract

Kenken For Teachers. Tom Davis   January 8, Abstract Kenken For Teachers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles January 8, 00 Abstract Kenken is a puzzle whose solution requires a combination of logic and simple arithmetic

More information

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game.

CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25. Homework #1. ( Due: Oct 10 ) Figure 1: The laser game. CSE548, AMS542: Analysis of Algorithms, Fall 2016 Date: Sep 25 Homework #1 ( Due: Oct 10 ) Figure 1: The laser game. Task 1. [ 60 Points ] Laser Game Consider the following game played on an n n board,

More information

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading)

The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? Objectives. Background (Pre-Lab Reading) The Beauty and Joy of Computing Lab Exercise 10: Shall we play a game? [Note: This lab isn t as complete as the others we have done in this class. There are no self-assessment questions and no post-lab

More information

Inventor: 2009 manuela&wiesl

Inventor: 2009 manuela&wiesl HELLO AND WELCOME! PRINT & PAPER: best on white paper, size A4 or Letter, portrait format, color (When printing only black: Pieces and some fields have to be colored!) CHECKLIST "ZILLO": (Contents for

More information

Games of Skill Lesson 1 of 9, work in pairs

Games of Skill Lesson 1 of 9, work in pairs Lesson 1 of 9, work in pairs 21 (basic version) The goal of the game is to get the other player to say the number 21. The person who says 21 loses. The first person starts by saying 1. At each turn, the

More information

CS 354R: Computer Game Technology

CS 354R: Computer Game Technology CS 354R: Computer Game Technology http://www.cs.utexas.edu/~theshark/courses/cs354r/ Fall 2017 Instructor and TAs Instructor: Sarah Abraham theshark@cs.utexas.edu GDC 5.420 Office Hours: MW4:00-6:00pm

More information

Documentation and Discussion

Documentation and Discussion 1 of 9 11/7/2007 1:21 AM ASSIGNMENT 2 SUBJECT CODE: CS 6300 SUBJECT: ARTIFICIAL INTELLIGENCE LEENA KORA EMAIL:leenak@cs.utah.edu Unid: u0527667 TEEKO GAME IMPLEMENTATION Documentation and Discussion 1.

More information

The 2015 British Informatics Olympiad

The 2015 British Informatics Olympiad Time allowed: 3 hours The 2015 British Informatics Olympiad Instructions You should write a program for part (a) of each question, and produce written answers to the remaining parts. Programs may be used

More information

Reinforcing Note Reading in G Position with. by Andrea and Trevor Dow Teach Music Today Learning Solutions

Reinforcing Note Reading in G Position with. by Andrea and Trevor Dow Teach Music Today Learning Solutions Reinforcing Note Reading in G Position with NOTE READING RUCKUS by Andrea and Trevor Dow 2018 Teach Music Today Learning Solutions This musical game file is intended for use in the purchasing teacher s

More information

Tic-Tac-Toe and machine learning. David Holmstedt Davho G43

Tic-Tac-Toe and machine learning. David Holmstedt Davho G43 Tic-Tac-Toe and machine learning David Holmstedt Davho304 729G43 Table of Contents Introduction... 1 What is tic-tac-toe... 1 Tic-tac-toe Strategies... 1 Search-Algorithms... 1 Machine learning... 2 Weights...

More information

2048: An Autonomous Solver

2048: An Autonomous Solver 2048: An Autonomous Solver Final Project in Introduction to Artificial Intelligence ABSTRACT. Our goal in this project was to create an automatic solver for the wellknown game 2048 and to analyze how different

More information

Let s Make. Math Fun. Volume 19 January/February Dice Challenges. Telling the Time. Printable Games. Mastering Multiplication.

Let s Make. Math Fun. Volume 19 January/February Dice Challenges. Telling the Time. Printable Games. Mastering Multiplication. Let s Make Volume 19 January/February 2013 Math Fun Dice Challenges Printable Games Telling the Time Mastering Multiplication Bingo Math Fun Help Them to Fall in Love with Math THE LET S MAKE MATH FUN

More information

Inductive Reasoning Practice Test. Solution Booklet. 1

Inductive Reasoning Practice Test. Solution Booklet. 1 Inductive Reasoning Practice Test Solution Booklet 1 www.assessmentday.co.uk Question 1 Solution: B In this question, there are two rules to follow. The first rule is that the curved and straight-edged

More information

HW4: The Game of Pig Due date: Thursday, Oct. 29 th at 9pm. Late turn-in deadline is Tuesday, Nov. 3 rd at 9pm.

HW4: The Game of Pig Due date: Thursday, Oct. 29 th at 9pm. Late turn-in deadline is Tuesday, Nov. 3 rd at 9pm. HW4: The Game of Pig Due date: Thursday, Oct. 29 th at 9pm. Late turn-in deadline is Tuesday, Nov. 3 rd at 9pm. 1. Background: Pig is a folk jeopardy dice game described by John Scarne in 1945, and was

More information

1 The Pieces. 1.1 The Body + Bounding Box. CS 314H Data Structures Fall 2018 Programming Assignment #4 Tetris Due October 8/October 12, 2018

1 The Pieces. 1.1 The Body + Bounding Box. CS 314H Data Structures Fall 2018 Programming Assignment #4 Tetris Due October 8/October 12, 2018 CS 314H Data Structures Fall 2018 Programming Assignment #4 Tetris Due October 8/October 12, 2018 In this assignment you will work in pairs to implement a variant of Tetris, a game invented by Alexey Pazhitnov

More information

The first player to construct his or her obelisk is the winner, and if a player has no legal moves, he or she immediately loses the game.

The first player to construct his or her obelisk is the winner, and if a player has no legal moves, he or she immediately loses the game. Obelisk 1. Object Obelisk is a two-player strategy board game, and each player controls three stones. The largest base stone is the cornerstone. The smaller rectangular stone is the keystone. The pyramid-shaped

More information

Asura. An Environment for Assessment of Programming Challenges using Gamification

Asura. An Environment for Assessment of Programming Challenges using Gamification Asura An Environment for Assessment of Programming Challenges using Gamification José Paulo Leal CLIS 2018 José Carlos Paiva 16th April 2018 Beijing, China Outline Motivation Proposal Architecture Enki

More information

Assignment II: Set. Objective. Materials

Assignment II: Set. Objective. Materials Assignment II: Set Objective The goal of this assignment is to give you an opportunity to create your first app completely from scratch by yourself. It is similar enough to assignment 1 that you should

More information

DARK EGYPT Hints, Tips & Tricks

DARK EGYPT Hints, Tips & Tricks DARK EGYPT Hints, Tips & Tricks Introduction I have created this PDF in order for you to get the maximum benefits and use from your copy of the Dark Egypt. During the creation of the pack I came across

More information

Student Outcomes. Classwork. Opening Exercises (5 minutes)

Student Outcomes. Classwork. Opening Exercises (5 minutes) Student Outcomes Students use number lines that extend in both directions and use 0 and 1 to locate integers and rational numbers on the number line. Students know that the sign of a nonzero rational number

More information

Lab 7: 3D Tic-Tac-Toe

Lab 7: 3D Tic-Tac-Toe Lab 7: 3D Tic-Tac-Toe Overview: Khan Academy has a great video that shows how to create a memory game. This is followed by getting you started in creating a tic-tac-toe game. Both games use a 2D grid or

More information

The purpose of this document is to help users create their own TimeSplitters Future Perfect maps. It is designed as a brief overview for beginners.

The purpose of this document is to help users create their own TimeSplitters Future Perfect maps. It is designed as a brief overview for beginners. MAP MAKER GUIDE 2005 Free Radical Design Ltd. "TimeSplitters", "TimeSplitters Future Perfect", "Free Radical Design" and all associated logos are trademarks of Free Radical Design Ltd. All rights reserved.

More information

Assignment 2, University of Toronto, CSC384 - Intro to AI, Winter

Assignment 2, University of Toronto, CSC384 - Intro to AI, Winter Assignment 2, University of Toronto, CSC384 - Intro to AI, Winter 2014 1 Computer Science 384 March 5, 2014 St. George Campus University of Toronto Homework Assignment #2 Game Tree Search Due: Mon March

More information

03/05/14 20:47:19 readme

03/05/14 20:47:19 readme 1 CS 61B Project 2 Network (The Game) Due noon Wednesday, April 2, 2014 Interface design due in lab March 13-14 Warning: This project is substantially more time-consuming than Project 1. Start early. This

More information

Real-Time Connect 4 Game Using Artificial Intelligence

Real-Time Connect 4 Game Using Artificial Intelligence Journal of Computer Science 5 (4): 283-289, 2009 ISSN 1549-3636 2009 Science Publications Real-Time Connect 4 Game Using Artificial Intelligence 1 Ahmad M. Sarhan, 2 Adnan Shaout and 2 Michele Shock 1

More information

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became

The game of Reversi was invented around 1880 by two. Englishmen, Lewis Waterman and John W. Mollett. It later became Reversi Meng Tran tranm@seas.upenn.edu Faculty Advisor: Dr. Barry Silverman Abstract: The game of Reversi was invented around 1880 by two Englishmen, Lewis Waterman and John W. Mollett. It later became

More information

COUNT ON US SECONDARY CHALLENGE STUDENT WORKBOOK

COUNT ON US SECONDARY CHALLENGE STUDENT WORKBOOK 330 COUNT ON US SECONDARY CHALLENGE STUDENT WORKBOOK INTRODUCTION The Count on Us Secondary Challenge is a maths tournament involving over 4000 young people from across London, delivered by the Mayor s

More information

Module 1 Introducing Kodu Basics

Module 1 Introducing Kodu Basics Game Making Workshop Manual Munsang College 8 th May2012 1 Module 1 Introducing Kodu Basics Introducing Kodu Game Lab Kodu Game Lab is a visual programming language that allows anyone, even those without

More information

Before displaying an image, the game should wait for a random amount of time.

Before displaying an image, the game should wait for a random amount of time. Reaction Introduction You are going to create a 2-player game to see who has the fastest reactions. The game will work by showing an image after a random amount of time - whoever presses their button first

More information

Unit 12: Artificial Intelligence CS 101, Fall 2018

Unit 12: Artificial Intelligence CS 101, Fall 2018 Unit 12: Artificial Intelligence CS 101, Fall 2018 Learning Objectives After completing this unit, you should be able to: Explain the difference between procedural and declarative knowledge. Describe the

More information

Embedded Systems Lab

Embedded Systems Lab Embedded Systems Lab UNIVERSITY OF JORDAN Tic-Tac-Toe GAME PROJECT Embedded lab Engineers Page 1 of 5 Preferred Group Size Grading Project Due Date (2) Two is the allowed group size. The group can be from

More information

JUNIOR CERTIFICATE 2009 MARKING SCHEME TECHNICAL GRAPHICS HIGHER LEVEL

JUNIOR CERTIFICATE 2009 MARKING SCHEME TECHNICAL GRAPHICS HIGHER LEVEL . JUNIOR CERTIFICATE 2009 MARKING SCHEME TECHNICAL GRAPHICS HIGHER LEVEL Sections A and B Section A any ten questions from this section Q1 12 Four diagrams, 3 marks for each correct label. Q2 12 2 marks

More information

COMPUTING CURRICULUM TOOLKIT

COMPUTING CURRICULUM TOOLKIT COMPUTING CURRICULUM TOOLKIT Pong Tutorial Beginners Guide to Fusion 2.5 Learn the basics of Logic and Loops Use Graphics Library to add existing Objects to a game Add Scores and Lives to a game Use Collisions

More information

Part II: Number Guessing Game Part 2. Lab Guessing Game version 2.0

Part II: Number Guessing Game Part 2. Lab Guessing Game version 2.0 Part II: Number Guessing Game Part 2 Lab Guessing Game version 2.0 The Number Guessing Game that just created had you utilize IF statements and random number generators. This week, you will expand upon

More information

2010 HSC Software Design and Development Marking Guidelines

2010 HSC Software Design and Development Marking Guidelines 00 HSC Software Design and Development Marking Guidelines Section I Question Answer A A A 4 D 5 C 6 B 7 B 8 D 9 D 0 C D B B 4 D 5 A 6 B 7 C 8 D 9 C 0 C 00 HSC Software Design and Development Marking Guidelines

More information

Worksheets :::1::: Copyright Zach Browman - All Rights Reserved Worldwide

Worksheets :::1::: Copyright Zach Browman - All Rights Reserved Worldwide Worksheets :::1::: WARNING: This PDF is for your personal use only. You may NOT Give Away, Share Or Resell This Intellectual Property In Any Way All Rights Reserved Copyright 2012 Zach Browman. All rights

More information

Codebreaker Lesson Plan

Codebreaker Lesson Plan Codebreaker Lesson Plan Summary The game Mastermind (figure 1) is a plastic puzzle game in which one player (the codemaker) comes up with a secret code consisting of 4 colors chosen from red, green, blue,

More information

Virtual Reality in Unreal Engine 4. Nathan Adara Program of Computer Graphics

Virtual Reality in Unreal Engine 4. Nathan Adara Program of Computer Graphics Virtual Reality in Unreal Engine 4 Nathan Adara Program of Computer Graphics Let s Kick This Off People s impressions of VR are important. See? People s first impressions of VR are important. Your Blank

More information

Solving the Rubik s Cube

Solving the Rubik s Cube Solving the Rubik s Cube The Math Behind the Cube: How many different combinations are possible on a 3x3 cube? There are 6 sides each with 9 squares giving 54 squares. Thus there will be 54 53 52 51 50

More information