Project: Minesweeper Online EDA095
|
|
- Julius Lloyd
- 6 years ago
- Views:
Transcription
1 Project: Minesweeper Online EDA095 Oscar Axelsson, D11, Elliot Jalgard, D10, Philip Mårtensson, D10, Daniel Olsson, D11, May 19, 2015
2 1 Background The goal of this project was to decide upon and implement a programming assignment specifically revolving around network programming. Our choosen assignment was to implement a multiplayer enabled version of the popular Minesweeper game [1], allowing two players to compete with each other. In addition it was decided that the game should incorporate an integrated chat system for the two participating players. In traditional Minesweeper the player is presented by a grid of clickable squares. Beneath some of these squares are hidden mines and if the player clicks on a square containing a mine then the game is over. If a non-mine square is clicked then the square opens up and displays a number which signifies the total amount of mines located in the adjacent squares. Using this information it is up to the player to avoid clicking on mines until all mines have been avoided. In our multiplayer edition of this game, the goal is somewhat reversed and it is up to each player to find the most mines by clicking on them directly. The game is carried out in turns between the players. If a player clicks on a mine then he or she can continue on the same turn and try to find another mine. If however a non-mine is found then the turn is switched over to the other player. The first player who finds at least half of the total amount of mines wins. One of the group members had previously worked with a Minesweeper clone in Java. This implementation was used as base for our work. The original code had no multiplayer or network support and implemented the traditional Minesweeper concept previously explained. The original code can be found in [2]. 2 Requirements Specification A requirements specification was created before the system implementation started. Most of these requirements were included in the final implementation. At first there was some uncertainty regarding the purpose of the server and how it should be implemented. It was considered that the server could act as a sort of matchmaker which set up peer-to-peer connections between two players. It was also considered that it should be responsible for relaying changes between the two players, as well as keeping track of the current state of the field. Because of this there were no initial requirements on the server, instead we made two test versions of the servers and ended up with the latter non-peer-to-peer solution. The complete requirements specification is given below. 2.1 General Requirements The chat and game shall be contained in the same application window. A player enters his or her nickname at the start of the program. A player enters the address and port of the server at start of the program. The system should be written in Java. 1
3 2.2 Server Requirements After two clients have connected, the server should start the game. When a game has finished, the server should restart the game. The server should only support two players at all times. The server shall generate the game field and send it to the players when a game begins. The server keeps track of the number of mines each player has found. 2.3 Chat Requirements New messages in the chat should immediately be sent to the other player. A player writes a message in a field and then presses enter to send it. The full chat history is displayed for both players. A message in the chat history consists of one line and has the format: <NAME> says: <MESSAGE> 2.4 Game Requirements A square is opened by clicking on it. Must be exactly two players to play. Each player has a time limit of 15 seconds during his or her turn. When a square has been clicked by a player, the other player immediately sees the same change. A players loses his or her turn when a square not containing a mine is clicked. When it is not the players turn, he or she can not click on any square. The mine squares found by the current player is colored blue, while the ones found by the competing player is colored red. The game field consists of 16x16 squares. The game field contains 53 randomly selected mine squares. The remaining time of the turn is always displayed for the current player. 2
4 3 Model The system can be seperated into four different parts for an easier overview: The server The client The communication protocol between client and server The GUI describing the actual game The responsibilities of each part as well as important classes and threads are presented below. 3.1 The Server The server is responsible for connecting two clients to itself, and then provide these players with a server-generated game field. The server receives changes in the game from the clients in order to keep track of the game as well as relay changes to the other player. The server keeps track of the score between the players and when to end the game because someone won. The classes describing the server side are the following: Game The class Game describes a model of the game, providing functions such as game field generation and counting the score between players. The methods in this class are called by the Server-class during initialisation of a new game, and when new player input has arrived at the server InputThread InputThread is a thread class responsible for reading incoming data from the clients. This functionality is threaded in order to not block other parts of the server running simultaneously. The messages received are in the form of Message objects, which have been converted to Json objects for easy transfer. These Json objects are then reconverted in InputThread to their original Message object. In order to convert between Java and Json objects, a third party library called gson was used [3] OutputThread The OutputThread thread class is similar to InputThread, with the difference that it handles outgoing messages to the clients instead. This class thus converts Message objects from Java to Json and transmits them Server The Server class contains the base functionality of the server. Its constructor is responsible for connecting to two clients and then start the game. The class also acts as a monitor, as the field messages contains incoming and outgoing Message-objects to the clients accessed by InputThread and OutputThread. 3
5 One important method is the onmessagereceived-method, this is called as new messages arrives from the clients to the server. The method will interpret the contents of the message and perform suitable actions such as updating the game state or relay chat messages. This class contains the main-method for the server side of the system ServerGUI ServerGUI describes a simple GUI for the server, showing the number of connected clients. 3.2 The client The client side of the communication is rather small (apart from the GUI classes presented later). It handles communication with the server and updates the GUI as the game progresses. The classes on the client side are the following: Client Client is responsible for establishing a connection to a server as well as provide the GUI with methods to communicate with the server. As the user plays the game using the GUI, i.e. clicks on the squares, the method click is called and sends the coordinates of the clicked square to the server which is then able to update the state of the game. Similiar to the Server, Client contains a method named onmessagereceived which will interpret commands arriving from the server and update the GUI accordingly. This class contains the main-method of the client side. This method will ask the user for the server address and port, as well as the players username InputThread InputThread on the client side is implemented the same way as the previously described class with the same name on the server side. The only difference being it communicates with a Client-object instead of a Server-object OutputThread As with InputThread, OutputThread is implemented in the same way as its counterpart at the server side. 3.3 The Communication Protocol The communication protocol is at the application layer and is used to define how data sent between the clients and server should be interpreted. The components of the protocol are the following: 4
6 3.3.1 Message The Message-class acts as a container for data sent over the network. It is provided with commonly used constructors and methods getting and setting the contents. Some typical contents stored in a Message-object are the ID of the client who sent the message, new entries in the chat, as well as coordinates for clicks on the game field Protocol Protocol is not a Java class, but rather a Java enum which defines protocol constants used by both client and server during message interpretation. 3.4 The GUI Most of the GUI classes were provided in the code on which this project is based. However, new components providing the chat functionality has of course been added. Some of the older components of the GUI were modified in order to communicate with the Client-class. The classes were of course also updated for the multiplayer mode, such as mine squares being colored based on which player clicked on it. It should be noted that the GUI contains some logic also available at the server side. More specifically, it contains the logic for calculating the changes after a mine click. While it is common practice to seperate the logic from the user interface, this decision was made to reduce the amount of necessary data to send over the network. The reason is that all information that needs to be sent about a click on the game field is the click itself, and the server and other client can calculate the changes themselves instead of sending all the modified squares back and forth. Most of the GUI components are simple Java swing classes without need of deeper explanation. However there is one Thread-class called TimeHandler which is responsible for counting down the time without being blocked by other parts of the GUI. 4 User Manual In order to start the application, one of the players has to start the server. This is done by starting Server.jar by either double clicking on it or if that does not work run the following command in a terminal: java -jar Server.jar Afterwards, both players need to start the client and connect to the server. This is done by double clicking on Client.jar on both computers, or if that does not work by running the following command from a terminal: java -jar Client.jar When the client starts then the username should be entered as well as the 5
7 address and port of the server. Then click OK to connect. When both clients have connected the game will begin. 5 Conclusion In conclusion the project was successful and most of the initial ideas were implemented in the final product. Altough originally it was considered that the server was to play a larger role in the application, supporting more features such as matchmaking for many clients at the same time. This idea was however never implemented because we did not go with the peer-to-peer approach. The approach we did go with allowed for a nicer design where the server contained all (or most of) the logic of the game, which was thus seperated from the clients. An improvement to this could have been to keep track of many different game sessions in the server, as a single server for only two players may be considered as a waste. Doing this would not require too much extra work, but some changes to the application layer protocol and data structures may be needed. There are some bad parts of the program, mainly related to error handling, that would not be accepted if this was a commercial product. For example, if a client connects to the server and then disconnects before the other client has connected, the server will stop working until restarted. There is also a rather rare bug sometimes occuring when coloring a mine square in which it will be colored wrong in one of the clients. We have looked into this bug but did not find any solution, but because of its rarity it can be neglected. All in all we thought the project was fun and good practice. It was especially appriciated that we could select our own application to implement freely as it provided us with more motivation and allowed us to practice finding requirements in a system, as opposed to how other courses often give you these requirements from the beginning. 6 Program Listings The source code and the program itself can be downloaded from: References [1] Minesweeper (video game), Wikipedia, Minesweeper_%28video_game%29, ( ) [2] minesweeper, Github, ( ) [3] google-gson, Github, ( ) 6
Solving Minesweeper Using CSP
Solving Minesweeper Using CSP AI Course Final Project Gil & Chai Usage (After using Makefile) java player/aiplayer
More informationAssignment #4 Minesweeper
Assignment #4 Minesweeper Date assigned: Friday, January 9, 2015 Date due: Java Minesweeper, Tuesday, January 13, 2015 Android Minesweeper, Friday, January 17, 2015 Points: 100 Java Minesweeper The game
More informationProgramming assignment A
Programming assignment A ASCII Minesweeper Official release on Feb 14 th at 1pm (Document may change before then without notice) Due 5pm Feb 25 th Minesweeper is computer game that was first written in
More informationSemester Project Report Mobile Application for Online Surakarta Battle
Semester Project Report Mobile Application for Online Surakarta Battle COMP4342 Mobile Computing Department of Computing The Hong Kong Polytechnic University CHAU Tsz Ling 15067489D FU Kuo-Hao, 14112466D
More informationCPSC 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 informationJetVote User Guide. Table of Contents
User Guide English Table of Contents 1 General Information... 3 Minimum System Requirements... 3 2 Getting Started... 4 Software Installation... 4 Installing the Server... 4 Installing Quiz Packets (Optional)...
More informationWorldMaker User Manual
WorldMaker 2000 User Manual CITE, University of Hong Kong, 2001 All instructions/comments in blue are relevant only for the multiplayer mode for WorldMaker 2000. CITE, University of Hong Kong Page 1 12/20/2001
More informationMulti-Screen Online Multiplayer Game for an Android Device
COMP 4905 Honours Project Multi-Screen Online Multiplayer Game for an Android Device Author: Nicholas Tierney Supervised by: Dr. Tony White School of Computer Science Carleton University Ottawa, Canada
More informationPizza Delivery Helper
Pizza Delivery Helper Aldo Doronzo 2008 / 2009 Abstract This is a report describing the Pizza Delivery Helper project realized during the course of Mobile Services taught by prof. Ricci at the Free University
More informationDCN Simultaneous Interpretation. Software User Manual en LBB 3572
DCN en LBB 3572 GENERAL CONTENTS Chapter 1-1.1 About 1.2 Interpretation procedures Chapter 2 - Getting Started 2.1 Starting 2.2 Using Help Chapter 3 - Preparing for a Conference 3.1 The interpretation
More informationNetwork programming EDA095 Hockeypong - Project report
Network programming EDA095 Hockeypong - Project report Anton Persson 890324 antonjpersson@gmail.com Björn Elmers 880224 bjornelmers@gmail.com Linus Hammarlund 910414 linus.hammarlund@gmail.com Gunnar Weibull
More informationLecture (03) Network Model
١ Lecture (03) Network Model By: Dr. Ahmed ElShafee Agenda Layering concept History Discovering the network layers Application Layer same layer interaction concept; Transport Layer Adjacent layer interaction
More informationHomework 1. Hadachi&Lind October 25, Deadline for doing homework is 3 weeks starting from now due date is:
Homework 1 Hadachi&Lind October 25, 2017 Must Read: 1. Deadline for doing homework is 3 weeks starting from now 2017.10.25 due date is: 2017.11.15 5:59:59 EET 2. For any delay in submitting the homework
More informationMultiplayer Game Programming
Multiplayer Game Programming Phoenix area game developer since 2001 Teacher at Art Institute since 2006 Worked on a variety of educational and commercial games Author of itween Visual Editor and CameraFor2D
More informationProject MineSweeper Collaboration: Solo Complete this Project by yourself or with help from Section Leaders and Rick You are asked to write the non-graphical user interface aspects of the popular game
More informationProblem A: Collatz Conjecture
Problem A: Collatz Conjecture The Collatz conjecture which is also known as the 3n + conjecture is a very well known and old conjecture in mathematics. The conjecture is as follows. Take any natural number
More informationCompClass User Guide for Students The Bedford Handbook, Seventh Edition. Hacker
CompClass User Guide for Students The Bedford Handbook, Seventh Edition Hacker Getting Started with CompClass for The Bedford Handbook, Seventh Edition Table of Contents Overview... 1 Getting Help... 1
More informationData Mining. Kohonen Networks. Data Mining Course: Sharif University of Technology 1
Data Mining Kohonen Networks Data Mining Course: Sharif University of Technology 1 Self-Organizing Maps Kohonen Networks developed in 198 by Tuevo Kohonen Initially applied to image and sound analysis
More information2008 Canadian Computing Competition: Junior Division. Sponsor:
2008 Canadian Computing Competition: Junior Division Sponsor: 1 Canadian Computing Competition Student Instructions for the Junior Problems 1. You may only compete in one competition. If you wish to write
More informationCompClass User Guide for Students Rules for Writers, Sixth Edition. Hacker
CompClass User Guide for Students Rules for Writers, Sixth Edition Hacker Getting Started with CompClass for Rules for Writers, Sixth Edition Table of Contents Overview... 1 Getting Help... 1 System Requirements...
More informationHMMT February 2018 February 10, 2018
HMMT February 2018 February 10, 2018 Combinatorics 1. Consider a 2 3 grid where each entry is one of 0, 1, and 2. For how many such grids is the sum of the numbers in every row and in every column a multiple
More informationTDDC88 Lab 4 Software Configuration Management
TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists
More informationLesson 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 informationToday s Topics. Percentile ranks and percentiles. Standardized scores. Using standardized scores to estimate percentiles
Today s Topics Percentile ranks and percentiles Standardized scores Using standardized scores to estimate percentiles Using µ and σ x to learn about percentiles Percentiles, standardized scores, and the
More informationGlobal Gomoku Lab 4 in D0010E
Luleå University of Technology February 20, 2012 Computer Science Håkan Jonsson Global Gomoku Lab 4 in D0010E 1 Introduction Modern forms of communication are more and more carried out over the Internet,
More informationCleaning a Course Shell
Cleaning a Course Shell Sometimes you copy information from the wrong course or copy duplicate information and need to remove it. Unfortunately there isn t an easy way of doing this, you have to clean
More informationCodewords: A Massively Multiplayer Board Game built with Angular
Codewords: A Massively Multiplayer Board Game built with Angular Hi! I m Mike. 2 Hi! I m Mike. I like board games. 3 A LOT 4 In late 2017 I wanted to.. Learn Angular 4 + WebSockets See how Django Channels
More informationWelcome to Technology Class. 7 th Grade: Web Design 8 th Grade: Digital Animation
Welcome to Technology Class 7 th Grade: Web Design 8 th Grade: Digital Animation Syllabus We will go over important details of the syllabus YOU WILL NOT RECEIVE A NEW COPY IF YOU LOSE IT Be sure to return
More informationMinesweeper as a Tool of Probability
Minesweeper as a Tool of Probability Gautham B A Branch-Dept. of Computer Science College-PES Institute of Technology, BSK 3 rd stage, Bangalore, India Abstract Minesweeper can be used as a tool for experimenting
More informationGaming Service. Ankit Narang Ankit Sagwal Saurabh Gupta Sabyasachi Haldar
Gaming Service Ankit Narang Ankit Sagwal Saurabh Gupta Sabyasachi Haldar 6th November 2008 Contents 1 Introduction 3 2 Problem Statement and Interpretation 4 2.1 Problem Statement........................
More informationCS61BL: Data Structures & Programming Methodology Summer Project 1: Dots!
CS61BL: Data Structures & Programming Methodology Summer 2014 Project 1: Dots! Note on compiling Board.java You will not be able to compile Board.java until you make your own CantRemoveException class.
More informationEclipse JWT Java Workflow Tooling. Workflow Editor (WE): Installation and Usage Tutorial
Eclipse JWT Java Workflow Tooling Title of this document Workflow Editor (WE): Installation and Usage Tutorial Document information last changes component version 13.02.2008 0.4.0 Document created by Florian
More informationOUTPERFORMING GAME SERVER ENGINE FOR REAL-TIME MULTIPLAYER GAMES
OUTPERFORMING GAME SERVER ENGINE FOR REAL-TIME MULTIPLAYER GAMES 01 ifun Engine ifun Engine helps you meet tight milestones and lift productivity making AAA-quality real-time game servers. Fast time-to-market
More informationCSE 332: Data Structures and Parallelism Autumn 2017 Setting Up Your CSE 332 Environment In this document, we will provide information for setting up Eclipse for CSE 332. The first s ection covers using
More informationAssignment 2 Team Project: Distributed System and Application
Assignment 2 Team Project: Distributed System and Application Dr. Rajkumar Buyya and Dr. Maria Sossa Cloud Computing and Distributed Systems (CLOUDS) Laboratory School of Computing and Information Systems
More informationIn this lesson you will learn: How to capture the input from the user. How to write programs using variables and lists. Athletics Swimming Gymnastics
Lesson 4 A m In this lesson you will learn: How to capture the input from the user. How to write programs using variables and lists. Advanced Scratch Sports Day Jyoti and Tejas are planning to create a
More informationCS344/444 Spring 2007 Project 1 Instant Messaging Client and Server
CS344/444 Spring 2007 Project 1 Instant Messaging Client and Server Sandeep Sarat Andreas Terzis February 19, 2007 1 Introduction For your first project you will have to write a client and a server for
More informationClient Side Scripting. The Bookshop
Client Side Scripting The Bookshop Introduction This assignment is a part of three assignments related to the bookshop website. Currently design part (using HTML and CSS) and server side script (using
More informationMobile Application Programming: ios
Mobile Application Programming: ios CS4962 Fall 2014 Project 4 - Network MVC Battleship Due: 11:59PM Monday, Nov 17 Abstract Build a Model-View-Controller implementation of the game Battleship on Android.
More informationAssignment #3 CSCI 201 Spring % of course grade Title Weathermeister Back-End API Integration
Assignment #3 CSCI 201 4.5% of course grade Title Weathermeister Back-End API Integration Topics Covered Java Classes HTML CSS Basic Java Topics Java Servlets JSP JavaScript AJAX Databases SQL JDBC Overview
More informationGame keystrokes or Calculates how fast and moves a cartoon Joystick movements how far to move a cartoon figure on screen figure on screen
Computer Programming Computers can t do anything without being told what to do. To make the computer do something useful, you must give it instructions. You can give a computer instructions in two ways:
More informationStatistics Case Study 2000 M. J. Clancy and M. C. Linn
Statistics Case Study 2000 M. J. Clancy and M. C. Linn Problem Write and test functions to compute the following statistics for a nonempty list of numeric values: The mean, or average value, is computed
More informationUSC ARES: Adding A Full Proxy User
USC ARES: Adding A Full Proxy User If you are too busy to take care of reserve matters personally, you may have an office assistant or TA work in Ares on your behalf by virtue of a proxy user account.
More informationCS201 - Assignment 3, Part 2 Due: Wednesday March 5, at the beginning of class
CS201 - Assignment 3, Part 2 Due: Wednesday March 5, at the beginning of class For this assignment we will be developing a text-based Tic Tac Toe game 1. The key to this assignment is that we re going
More informationCSE 332: Data Structures and Parallelism Winter 2019 Setting Up Your CSE 332 Environment
CSE 332: Data Structures and Parallelism Winter 2019 Setting Up Your CSE 332 Environment This document guides you through setting up Eclipse for CSE 332. The first section covers using gitlab to access
More informationRevision Control. How can 4. Slides #4 CMPT 276 Dr. B. Fraser. Local Topology Simplified. Git Basics. Revision Control:
How can 4 (or 4000) developers work on a product at once? Revision Control Revision Control Revision Control: Also called version control, source control, software configuration management. Motivation:
More informationNetwork Applications and Protocols
Network Applications and Protocols VoIP (Voice over Internet Protocol) Voice over IP (VoIP) is a methodology and group of technologies for the delivery of voice communications and multimedia sessions over
More informationReview Chapter 6 in Bravaco. Short Answers 1. This type of method does not return a value. a. null b. void c. empty d. anonymous
Assignment 3 Methods Review CSC 123 Fall 2018 Notes: All homework must be submitted via e-mail. All parts of assignment must be submitted in a single e-mail with multiple attachments when required. Notes:
More information3.2 COMMUNICATION AND INTERNET TECHNOLOGIES
3.2 COMMUNICATION AND INTERNET TECHNOLOGIES 3.2.1 PROTOCOLS PROTOCOL Protocol a set of rules governing the way that devices communicate with each other. With networks and the Internet, we need to allow
More informationGoogle Sheets: Spreadsheet basics
Google Sheets: Spreadsheet basics You can find all of your spreadsheets on the Google Sheets home screen or in Google Drive. Create a spreadsheet On the Sheets home screen, click Create new spreadsheet
More informationCS1 Studio Project: Connect Four
CS1 Studio Project: Connect Four Due date: November 8, 2006 In this project, we will implementing a GUI version of the two-player game Connect Four. The goal of this project is to give you experience in
More informationFeatures of a proxy server: - Nowadays, by using TCP/IP within local area networks, the relaying role that the proxy
Que: -Proxy server Introduction: Proxy simply means acting on someone other s behalf. A Proxy acts on behalf of the client or user to provide access to a network service, and it shields each side from
More informationBasic Keywords Practice Session
Basic Keywords Practice Session Introduction In this article from my free Java 8 course, we will apply what we learned in my Java 8 Course Introduction to our first real Java program. If you haven t yet,
More informationIf you re a Facebook marketer, you re likely always looking for ways to
Chapter 1: Custom Apps for Fan Page Timelines In This Chapter Using apps for Facebook marketing Extending the Facebook experience Discovering iframes, Application Pages, and Canvas Pages Finding out what
More informationUser Guide Preface Readme Audience Vocabulary Navigation
User Guide AJ De Las Alas, Tiffany Chan, Stephanie Tran, Viet Tran 1.0 Preface 1.1 Readme DELTA is an application that belongs to Julie Schweitzer s research group. After the application is opened, the
More informationTMG Clerk. User Guide
User Guide Getting Started Introduction TMG Email Clerk The TMG Email Clerk is a kind of program called a COM Add-In for Outlook. This means that it effectively becomes integrated with Outlook rather than
More informationCIS 121 Data Structures and Algorithms with Java Spring 2018
CIS 121 Data Structures and Algorithms with Java Spring 2018 Homework 2 Thursday, January 18 Due Monday, January 29 by 11:59 PM 7 Required Problems (85 points), and Style and Tests (15 points) DO NOT modify
More informationHow to Configure SSH Tunnel in Remote Desktop Manager
How to Configure SSH Tunnel in Remote Desktop Manager SSH TUNNEL ENTRY. LET S TAKE A DEEPER LOOK AT IT! We often receive questions about our SSH Tunnel entry. What does it do exactly? When do you need
More informationClean & Speed Up Windows with AWO
Clean & Speed Up Windows with AWO C 400 / 1 Manage Windows with this Powerful Collection of System Tools Every version of Windows comes with at least a few programs for managing different aspects of your
More informationCS2113 Lab: Collections 10/29/2018
CS2113 Lab: Collections Yawei Wang 10/29/2018 Install and Use IntelliJ on Mac or Window If you haven t installed JDK before, go to https://www.oracle.com/technetwork/java/javaseproducts/downloads/in dex.html
More informationUSING BRIDGE SCORER WITH BRIDGEMATE PRO
USING BRIDGE SCORER WITH BRIDGEMATE PRO There are 4 elements to know about: a. The Server b. The Bridgemate scoring devices (i.e. the units that are put on each bridge table) c. Bridge Scorer program d.
More informationName 8-6A. 1. What type of quadrilateral is shown below? A Rectangle B Trapezoid C Rhombus D Square. 2. What is true about every rhombus?
Quick Check 1. What type of quadrilateral is shown below? A Rectangle B Trapezoid C Rhombus D Square 2. What is true about every rhombus? A All angles are equal. B All sides are equal. C Exactly one pair
More informationCMSC 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 informationMETRO BUS TRACKING SYSTEM
METRO BUS TRACKING SYSTEM Muthukumaravel M 1, Manoj Kumar M 2, Rohit Surya G R 3 1,2,3UG Scholar, Dept. Of CSE, Panimalar Engineering College, Tamil Nadu, India. 1muthukumaravel.muthuraman@gmail.com, 2
More informationIntegers and the Coordinate Plane
Name Date Class 9A Dear Family, A Family Letter: Understanding Integers The student will begin the study of an important set of numbers called integers. Integers are the set of numbers that include all
More informationAdd 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 informationSample Exam Problems For the Material in A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency
Sample Exam Problems For the Material in A Sophomoric Introduction to Shared-Memory Parallelism and Concurrency Solutions Not Included For more information, see http://www.cs.washington.edu/homes/djg/teachingmaterials.
More informationPrepare a stem-and-leaf graph for the following data. In your final display, you should arrange the leaves for each stem in increasing order.
Chapter 2 2.1 Descriptive Statistics A stem-and-leaf graph, also called a stemplot, allows for a nice overview of quantitative data without losing information on individual observations. It can be a good
More informationWWW Applications for an Internet Integrated Service Architecture
WWW Applications for an Internet Integrated Service Architecture T. V. Do, B. Kálmán, Cs. Király, Zs. Mihály, Zs. Molnár, Zs. Pándi Department of Telecommunications Technical University of Budapest Fax:
More informationUsing SportDiscus (and Other Databases)
Using SportDiscus (and Other Databases) Databases are at the heart of research. Google is a database, and it receives almost 6 billion searches every day. Believe it or not, however, there are better databases
More information6 counterintuitive strategies to put your list building efforts into overdrive
6 counterintuitive strategies to put your list building efforts into overdrive Ant Carter is an online marketer, blogger and educator. Find out more about me, and the mission I have to free 1,000 people
More informationProblem Tutorial: Alternating Serves
Monash University, May 6, 207 Problem Tutorial: Alternating Serves This problem is fairly straightforward. The score itself is somewhat irrelevant. All we care about is the sum of Darcy s and Rajko s score.
More informationUSC ARES: Add A Class Proxy User
USC ARES: User If you are too busy to take care of reserve matters personally, you may have an office assistant or TA work in Ares on your behalf by virtue of a proxy user account. There are two kinds
More informationSpeechClass User Guide for Students A Speaker s Guidebook, Fourth Edition
SpeechClass User Guide for Students A Speaker s Guidebook, Fourth Edition Getting Started with SpeechClass for A Speaker s Guidebook, Fourth Edition Table of Contents Overview... 1 Getting Help... 1 System
More informationGenerating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model
356 Int'l Conf. Par. and Dist. Proc. Tech. and Appl. PDPTA'16 Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model Hirofumi Suzuki, Sun Hao, and Shin-ichi Minato Graduate
More informationAuto Print User s Manual
Auto Print User s Manual Welcome... 2 Configuring the Add-in... 3 AutoPrint Incoming Email Tab... 4 AutoPrint Outgoing Email Tab... 6 Print Settings Tab... 7 Print Now Tab... 9 Exceptions Tab... 10 Troubleshooting...
More informationRailsConf Europe 2008 Juggernaut Realtime Rails. Alex MacCaw and Stuart Eccles
RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles RailsConf Europe 2008 Juggernaut Realtime Rails Alex MacCaw and Stuart Eccles http://www.madebymany.co.uk/ server push HTTP
More informationX e c l i P. user`s guide
X e c l i P user`s guide XecliP table of contents: XecliP User Guide Getting started 1.1 Connecting to XecliP-Server Concepts 2.1 UserView 2.2 UserProfileDialog 2.3 SessionDefinitionDialog 2.4 SessionWizard
More informationHijacking Bitcoin: Routing Attacks on Cryptocurrencies
Maria Apostolaki 1, Aviv Zohar 2, Laurent Vanbever 1 Presented by Pascal Blöchlinger 1 ETH Zürich, 2 The Hebrew University Motivation Money Security Rising interest Lacking knowledge of participants Overview
More informationAllworx User s Guide. (Release 7.3)
Allworx User s Guide (Release 7.3) No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopy, recording,
More informationGoogle Sheets: Spreadsheet basics
Google Sheets: Spreadsheet basics To view all of your Google sheets, or to create a new spreadsheet, visit docs.google.com/spreadsheets. Create a spreadsheet From the Google Sheets home screen, click the
More informationKTH Royal Institute of Technology SEMINAR 2-29 March Simone Stefani -
KTH Royal Institute of Technology SEMINAR 2-29 March 2017 Simone Stefani - sstefani@kth.se WHAT IS THIS SEMINAR ABOUT Branching Merging and rebasing Git team workflows Pull requests and forks WHAT IS THIS
More informationHow I Made $10,000 from Passive Affiliate Income in One Month
How I Made $10,000 from Passive Affiliate Income in One Month Two months ago, I had my best month ever in passive income. I finally broke through the $10,000 mark. All from a single page on my site and
More informationDue 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 informationExercise: Graphing and Least Squares Fitting in Quattro Pro
Chapter 5 Exercise: Graphing and Least Squares Fitting in Quattro Pro 5.1 Purpose The purpose of this experiment is to become familiar with using Quattro Pro to produce graphs and analyze graphical data.
More informationProject 1 - Battleship Game
Project 1 - Battleship Game Minimal Submission Due: Friday, December 22 th, 2006 Revision History Final Project Due: Sunday, January 21 th, 2007 Dec 7th, 2006, v1.0: Initial revision for faculty review.
More informationLPF Training Handbook!
LPF Training Handbook M Hewitson 2014-04-25 1. Introduction 1 2. Software setup 1 Accessing the relevant software repositories 2 Getting the software 3 Installing LTPDA 3 Installation of Extension modules
More informationLet s work together. Instructions pcvisit ProfiSupport version from
Instructions pcvisit ProfiSupport version from 24.07.2009 pcvisit ProfiSupport is a streamlined solution specifically suited to the task of facilitating IT support. The software allows support worldwide,
More informationComping Guide. Rafflecopter & Blogs
Comping Guide Blogs 2 Following blogs 2 Commenting on blogs 2 Prize promotions on blogs 4 Notifying winners 4 How to find Blog comps 4 Rafflecopter 5 Types of Rafflecopter giveaway 6 An example Rafflecopter
More informationThree Types of Probability
CHAPTER Three Types of Probability This article is not so much about particular problems or problem solving tactics as it is about labels. If you think about it, labels are a big key to the way we organize
More informationTecniche di Progettazione: Design Patterns
Tecniche di Progettazione: Design Patterns GoF: Visitor 1 Polymorphism reminded: overriding and dynamic binding 2 Polymorphism reminded: overloading and static dispatch 3 Polymorphism reminded: overloading
More informationCS330 Project Assignments
CS330 Project Assignments as of Mon. Nov. 20, 2006 1.1 About EF Games EF Games have been introduced in the lecture of Sept.20. There are various books introducing the game rules; unfortunately, these are
More informationPartner Guide for bksblive (The Prince s Trust Account)
Partner Guide for bksblive (The Prince s Trust Account) System requirements bksblive and associated software works in any web browser such as Internet Explorer, Mozilla Firefox, Google Chrome and Apple
More informationSection Marks Pre-Midterm / 32. Logic / 29. Total / 100
Name: CS 331 Final Exam Spring 2011 You have 110 minutes to complete this final exam. You are only allowed to use your textbook, your notes, your assignments and solutions to those assignments during this
More informationTexas Rapid Response Task Force Operator Notes
Texas Rapid Response Task Force Operator Notes Version 2.0 Tom Whiteside N5TW December 15, 2013 Changes with Version 2.0: This revision includes major changes associated with the new Winlink software.
More informationCPSC 340: Machine Learning and Data Mining. Principal Component Analysis Fall 2017
CPSC 340: Machine Learning and Data Mining Principal Component Analysis Fall 2017 Assignment 3: 2 late days to hand in tonight. Admin Assignment 4: Due Friday of next week. Last Time: MAP Estimation MAP
More informationCS 1653: Applied Cryptography and Network Security Fall Term Project, Phase 2
CS 1653: Applied Cryptography and Network Security Fall 2017 Term Project, Phase 2 Assigned: Tuesday, September 12 Due: Tuesday, October 3, 11:59 PM 1 Background Over the course of this semester, we will
More informationGraphs / Networks. CSE 6242/ CX 4242 Feb 18, Centrality measures, algorithms, interactive applications. Duen Horng (Polo) Chau Georgia Tech
CSE 6242/ CX 4242 Feb 18, 2014 Graphs / Networks Centrality measures, algorithms, interactive applications Duen Horng (Polo) Chau Georgia Tech Partly based on materials by Professors Guy Lebanon, Jeffrey
More informationFundamentals of Computer Science II
Fundamentals of Computer Science II Keith Vertanen Museum 102 kvertanen@mtech.edu http://katie.mtech.edu/classes/csci136 CSCI 136: Fundamentals of Computer Science II Keith Vertanen Textbook Resources
More informationAllworx User s Guide (Release x)
Allworx User s Guide (Release 6.8.1.x) -PAGE INTENTIONALLY LEFT BLANK- Table of Contents 1 VOICEMAIL...1 1.1 ACCESSING YOUR MESSAGE CENTER INBOX...1 1.2 LISTENING TO YOUR VOICEMAIL...2 1.3 SENDING VOICEMAIL
More information