Development of a Euchre Application for Android
|
|
- Leslie Lester
- 5 years ago
- Views:
Transcription
1 Development of a Euchre Application for Android Carleton University COMP4905 Julie Powers Supervised by Professor Dwight Deugo, School of Computer Science April
2 Table of Contents Introduction...4 Motivation... 6 Goals...6 Objectives...7 Outline...9 Background...10 Approach...19 Results...26 Conclusion Future work
3 List of Figures FIGURE 1: Screenshots of the settings screen for Euchre. The figure on the right shows part of the expanded Visuals section...11 FIGURE 2: The Euchre game screen in landscape and portrait...12 FIGURE 3: Dialog prompting the user for their choice during the first round of bidding...13 FIGURE 4: Playing a round after trump has been called...13 FIGURE 5: Round history feature...14 FIGURE 6: Screenshot of the Euchre Master game screen partway through a round...15 FIGURE 7: The settings screen for Euchre Master...15 FIGURE 8: The show last feature. Notice how it covers up the user's and their partner's card...16 FIGURE 9: The statistics screen for Euchre U...17 FIGURE 10: The settings screen for Euchre U...17 FIGURE 11: Screenshots showing the landscape and portrait orientations of Euchre U. Note the size of the text for both the team scores and number of tricks in the upper right hand corner of the game screen...18 Figure 1:...23 Figure 2:...24 Figure 3:...25 Figure 1:...28 Figure 2:...28 Figure 3:...29 Figure 4:
4 Introduction Euchre is a trick taking card game that is traditionally played with four players. Players are divided into teams of two and they play against each other. The deck consists of twenty four cards. These cards are the nine, ten, jack, queen, king, and ace of each suit. For each round of the game, players are dealt five cards. The four remaining cards are placed face down and become the kitty. The topmost card is turned up. This card's suit is offered as trump. It is the only card in the kitty that is shown to the players. The rest are kept hidden until the end of the round. Trump is the suit in which its cards have the highest ranking. There are always seven trump cards. The jack of the trump suit is called the right bower, and it is the highest ranked card in the entire deck. The second-highest card is called the left bower. It is the jack of the other suit of the same colour. For example, if clubs was trump, the right bower would be the jack of clubs, and the left bower would be the jack of spades. The remaining trump cards, as well as the non-trump cards, are ranked based on their face as follows: ace, king, queen, jack, ten, nine [Bicycle, 2013]. Note that a trump card wins over a non-trump card. The first round of bidding begins with the player to the left of the dealer. They have the option of passing or ordering up the card. If the card is ordered up, the dealer has to discard a card in their 4
5 hand. Otherwise, the next player (to their left) has an opportunity to bid. If all of the players pass, the second round of bidding begins. Players have the option of naming the trump suit or to pass. The player is allowed to pick any suit as trump, except for the suit of the card that was turned down. If all of the players pass in the second round of bidding, the cards are thrown in. The next player then becomes the dealer. When a player names trump they may also choose to play alone. In this case, their partner turns their cards face down and does not participate in the hand. Play begins once trump is named. The player to the left of the dealer leads. After, players must follow the suit of the lead card if they are able. If not, they may trump or discard. A trick is won by the highest card of the suit lead or, if trump was played, by the highest trump. The player who won the trick leads next. Once all of the cards have been played, points are awarded to a team. The team who named trump has to win at least three out of five tricks to avoid being euchred. The opposing team scores two points if they are euchred. However, if they win three or four tricks, they score one point. If they manage to win all five tricks, aka a march, they score two points. The scoring for a lone hand is the same for all cases but a march. If the person playing alone wins a march, they score four points instead of two points. A game of Euchre ends once a team wins at least ten points. 5
6 Motivation Mobile devices are a popular platform for games. More and more game companies are releasing on mobile devices than desktop computers. The two predominant mobile operating systems are Android and ios. Android is open source. There are no extra costs to develop and test on Android devices, unlike for ios devices. My specialization is in game development so I thought I should l learn more about Android as a platform. I decided on a Euchre application because I enjoy playing the game. In Ontario, there have been a number of job postings asking for Android development experience. I knew the basics of Android from taking the first year course in the mobile development stream. However, I had not developed a full Android application. I designed this project to gain more experience. Goals The main goal of this project is to finish a Euchre Android application. Another goal is for the application to store statistics about the user's play. The application is to provide various rules that affect how the game is played. Also, the application is to run on different Android devices. Another major goal of this project is to gain Android development experience, specifically in the context of game development. The next goal is to support users playing against each other across the network. Lastly, I wanted to learn how to write AI for imperfect information games such as Euchre. 6
7 Objectives There is much to consider when attempting to make an application that could be deployed on the Google Play store. First of all, your application has be stable. For example, it should not crash if the user answers their phone. To provide this, a developer has to handle activity life-cycle events. There is a wide range of devices running Android. They vary in screen size, pixel density, as well as in their installed platform version. To deal with different screen sizes and densities, an Android developer should define alternative resources, such as layouts and images. The Android training documentation recommends supporting up to 90% of the platforms on active devices [Google, 2014a]. This is more challenging because some features are not available on older platforms. Luckily, Android provides support libraries. Newer features such as fragments and the action bar are supported on older platforms by using these libraries. Details about a Euchre game have to be displayed to the user. They have to know: Who the dealer is Which card was on top of the kitty Team scores What is trump Which team called trump The number of tricks per team Whose turn it is Their cards This information has to be visible no matter which device they are playing on. 7
8 The single player version of the application has to have three AI players. The logic for one AI player could be reused for all of them. Euchre is an imperfect information game. A player does not know which card their opponents (or partner) will play. Each player knows the cards in their hand plus the card on top of the kitty. The application has to have a method for storing statistics in the device's memory. Basic statistics include how many times a user has won or lost a game. As a game progresses, these statistics have to be updated. The application should have an activity where the user can view the statistics and have the option to clear them. To support multiplayer games, a game server is required. The game server has to store and maintain client accounts, possibly in a database. It has to allow the creation of new accounts. The Android application has to connect to this server across the network. To log into the server, the user has to enter their credentials into a form and submit it. The application will send a log in message to the server. There has to be some mechanism on the server to authenticate the connected client based on the contents of this message. If the credentials are valid, the server has to log the client in. Otherwise, it rejects the log in attempt. The user is alerted if they have to re-enter their credentials. The client should have multiple options on the server. They should be able to create a new game and define which rules to play by. Once a new game has been created, other clients have to be invited to join by the game creator. The server keeps a friends list and profile for each client. This is the social networking aspect of the server. The game creator should also be able to invite friends to join their 8
9 game. If four clients join, the game may begin. The server has to maintain all of this game's state. It needs to be able to recreate a game if any clients get disconnected, or if they quit the game. Errors could also occur on the server. For the location services, the server has to temporarily track where clients are located. This is while clients are looking for other nearby people to play against. There has to be a scoring method to rank the players. When a game is completed, all of the user's scores have to be updated. The server has a leader board. It can be accessed by users to see the top scores. Outline This report begins with a description of four free Euchre games on the Google Play store. I review the positives and negatives of each game. Then there is a section detailing the approaches I took and discarded while developing the application. The next section discusses the issues I encountered, as well as which features work and which do not. Finally, I offer some concluding remarks and suggest future work to be completed. 9
10 Background On the Google Play store there are approximately seventeen free Euchre games. As part of my play testing, I studied four of these games. Note that the following scores were recorded on April 16 th The screens were captured from my Samsung Note II. The top two Euchre applications are Euchre by KARMAN Games and Euchre (free) by Jeffreys Software. Euchre by KARMAN Games has received a score of 4.3 stars (out of 5), from over 10, 000 reviewers. There have between 100, 000 to 500, 000 installations of the application. Out of all of the ones I played, it was the most polished. Their application has many configurable settings, which can be viewed in Fig. 1. These settings range from the game's rules to the difficulty of the AI players. It is one of the few applications to not restrict the game's screen orientation to portrait (see Fig. 2). Earlier this year KARMAN Games added multiplayer. According to their website [KARMAN Games, 2014], they are utilizing Google technology for this feature. This implies that it might be Google Play game services. The Google Play game services SDK offers APIs for adding features such achievements, leader boards and, as of January 2014 [Google, 201b], turn-based multiplayer to developer's applications. Unfortunately, as of update 1.3, ads were included into the application. The user has to pay to remove them. KARMAN Games also does not clearly advertise which versions of Android and screen sizes their application will run on. They state that it varies with device. 10
11 FIGURE 1: Screenshots of the settings screen for Euchre. The figure on the right shows part of the expanded Visuals section. 11
12 FIGURE 2: The Euchre game screen in landscape and portrait. Euchre (free) by Jeffreys Software has a score of 4.1 stars from 5, 876 reviewers. It has been installed around 500, 000 to 1, 000, 000 times. The developer claims that it runs on devices with Android 2.1 and up. This would encompass all the versions that are currently in use. It has a clean interface as seen in Fig. 3 and Fig. 4. Everything that you need to view as you are playing is clearly visible. Fig. 5 presents the application's hand history feature. It is unique to this application. Details about the hand are recorded as the user plays and they are appended to this screen once the hand is over. Therefore it does not give the user an unfair advantage of knowing which cards have been played. It is a handy feature if you wish to analyze the hand. The number of customizable settings is comparable to Euchre by KARMAN Games. There are settings to change the game rules, the look and feel of the interface, and the difficulty of the AI players. There is a difference in terms of the menu compared to Euchre. The main activity in Euchre (free) displays where you left off in a game when 12
13 you start the application. Euchre has a menu screen. Euchre (free) instead places the menu in the action bar of the main activity. For Euchre (free), placing the menu in the action bar is the most appropriate. There is single player mode. Euchre has both single and multiplayer game mode, so it has to prompt the user which type of game they want to play. FIGURE 3: Dialog prompting the user for their choice during the first round of bidding. FIGURE 4: Playing a round after trump has been called. 13
14 FIGURE 5: Round history feature. Euchre Master is made by Rencelaw Computing. There has not been any updates from this developer since April 2012, and their website link is broken. They says that it runs on Android 1.6 and up. It did not require any permissions to install, which is preferable for a simple game. The rest of the applications I tested required multiple permissions. The interface is basic, but functional (as shown in Fig. 6). The application restricts the orientation to portrait like Euchre (free). There are some settings (Fig. 7) and the cards are animated. The single complaint I had about the application was in regards to its show last feature. If the show last button is clicked, it shows the cards played in the last round. I 14
15 do not understand why someone would want this feature. Its dismissal behaviour is also unexpected. It fades away after a certain amount of time. The user cannot dismiss it manually and it covers the played cards. Fig. 8 illustrates this. FIGURE 6: Screenshot of the Euchre Master game screen partway through a round. FIGURE 7: The settings screen for Euchre Master. 15
16 FIGURE 8: The show last feature. Notice how it covers up the user's and their partner's card. Euchre U is developed by Gidilevich Software. Based on 47 reviews, the score of the application is 2.5 stars. The developer claims that it will run on Android 2.1 and up. 10, 000 to 50, 000 copies of the application have been installed. Overall, this application was the least polished out of the ones I played. It saves simple statistics such as the number of games played, game won and games lost (Fig. 9). There are only three settings (Fig. 10). These are the game speed, stick the dealer and landscape mode. The landscape mode has bugs. While playing the game in landscape, if you use the options menu to go back to the main menu, the setting for landscape mode becomes unselected. On 16
17 occasion, if I navigated back to the game screen after this, the application would unexpectedly crash. How the application draws the user's card during play is different from the other application. Whenever the user has a card in the lead suit, it draws them larger than the rest of their cards (Fig. 11). I found that the cards were small, but legible, on my device. In comparison, the score and number of tricks were very small and hard to read. FIGURE 9: The statistics screen for Euchre U. FIGURE 10: The settings screen for Euchre U. 17
18 FIGURE 11: Screenshots showing the landscape and portrait orientations of Euchre U. Note the size of the text for both the team scores and number of tricks in the upper right hand corner of the game screen. 18
19 Approach I first broke down the game of Euchre into a requirements list. That way I would have an idea of what I needed to do to get a basic game running. I began implementing items on the list in a simple Java program. The program initialized the cards and dealt them to an array of players. It was supposed to loop until a team had won at least ten points. I thought that if I had a Java version, I could convert it to Android. Early on I researched into developing for Android. This was done using books accessible through the Carleton library. I thought I should obtain more knowledge on the subject due to my limited development experience with the platform. I wanted to avoid beginner mistakes. I fully read through a few of the books. While reading, I tried to simultaneously search for useful information, in regards to my project, such as the activity lifecycle and drawing bitmaps. Most of these books discussed topics that I would never use in my project. Overall, this was not the best approach. I was attempting to learn too much at once. I also kept reading without testing out some of the code in the books. I should have looked into topics that were the most relevant to my project and wrote small demos to apply what I had learned. I wrote small demos to understand parts of the SDK. This way I could test out a feature without affecting my main project. I used this approach for the GPS, a database, the ConnectivityManager and the networking code. I thought I could utilize the location services for the game server. Using a device's GPS, the API provides the fine or coarse location of the user. This location could be sent to the server in order to find 19
20 nearby users to play against. The server would have to calculate the approximate distance between users for this information to be useful. I became sidetracked while reading. I began developing extra features, especially ones related to customizable application settings. I realized I was wasting time and quit. The game had to be functional before I could even consider developing extra features. I compiled a to-do list based on my project proposal. This list helped me to stay focused on my goals, but I felt I should have done it much sooner in the project. I returned to my idea of writing a rough version of Euchre in Java. I implemented two AI players, random and high, to simulate a game against the user. The random player behaves according to its name. It plays a random card in its hand while following the lead suit. High always plays the highest card in its hand with the same restrictions as the random player. I finished the program in stages. First, I kept it to one hand. I hard-coded trump and the player's cards for testability because a game of Euchre has many test cases. There are multiple hands per game, trump influences the value of a card, players have to follow the lead suit, and so on. Once I was able to play a full hand I added the logic for a full game. I used the game rules that I normally play with, meaning that a game ends when a team wins at least ten points, and a hand is thrown if no one calls trump. This was an effective approach because it gave me a basic program for which I could improve upon. The rough version's classes were not well designed. I should have planned them out more carefully before writing them. Players should control their own deck, and I felt there should be a common interface for all the players. The control flow for AI players differs from the user of application. An AI player acts immediately on their turn. For comparison, the game has to wait for 20
21 input from the user when it is their turn. While writing my proposal, I conducted play tests of the free Euchre applications on the Google Play store. They tended to restrict the orientation of the device. Most of the games only supported a portrait orientation. This is understandable because, on smaller devices, it is challenging to show the played cards along with any other information. Cards are taller rather than they are wide. This means that the user's hand will cover a fair portion of the display. If you create any dialogs, there also has to be space for the user to see their cards. One option I had seen while play testing was the option to see the previous hands. This would be useful if the user was learning the game or trying to improve their game skills. I found a paper that briefly documented the development of the game Tichu [Foril et al., 2013]. It was similar to what I was trying to develop, including networking. They did not write their own server. The networking was handled using Bluetooth. I decided to include basic statistics. These were the number of games won and lost, and the number of euchred calls. I saved them using shared preferences. There are other ways to save data such as external storage, an SQLite database or through web-based services. For a few statistics, shared preferences was sufficient. I had read that there are variations of Euchre for different number of players. I thought about changing to the two-handed variation to make the gameplay logic easier. I also thought it would simplify the server version because I would not need as many devices or emulators to test with. 21
22 However, there are no standard rules for this variation of the game. The rules I read were confusing, so I decided to stay with the traditional four player game. I started looking at examples of open-source servers and Android card games. One of the most completed games I found was Yaniv for Android [Katz, 2012]. It has not been modified since October I wanted to use it to learn how games are structured for Android and how they handle the application life-cycle. Yaniv for Android stores the game state by having serializable classes. It saves the instances to a file. I thought that this would be a good way to quickly save the game state. How it handled turns was not useful for my project. It waited until the user clicked on a next button to progress the game, rather than automatically starting the AI player's turn. 22
23 23
24 Figure 2: 24
25 25
26 Results My project proposal was lacking in details. It was written to give me the flexibility on which game rules and statistics I wanted to implement. I was unsure which project goals were achievable when I wrote it. The issue was that it might have been too flexible. I became distracted on implementing customizations for the user rather than working on the game. Working with images was initially problematic. The archives of card images I downloaded contained both SVG and PNG files [Bellot, 2004] [Knoll, 2011]. Android does not have any classes for loading SVG files. The API guides mentioned that PNG files are the preferred format for images [Google, 2014c]. I therefore utilized the PNG files for my cards. I wrote a demo application to load and draw the cards. When it ran on the emulator, it threw an out of memory exception. The emulator's memory ran out because the bitmaps were too large. I temporarily resized the images to half their size using the SVG files. After that all of the images loaded without any issues. The multiplayer mode and the game server were not finished even though I spent quite a lot of time researching how to implement them. I did not have any experience with networking. This fact greatly hindered this project. At the midterm mark, completing them was not feasible, so I stopped working on them. Converting the rough Java version to Android was more difficult than I planned. Activities have a life-cycle. Applications have to handle life-cycle events in order to be stable, and to behave in way the user expects. Creating classes that during this life-cycle is not the same as developing in a desktop environment. For my game class, I initialized it at the application level so that it would not be recreated 26
27 when oncreate is called. The method oncreate is called in the case where the user rotates their device. Users do not want their game to be discarded and have a new game started if they happen to rotate the screen. I wanted to try and follow the MVC pattern, if possible. That way if the user interface changed it would not affect the underlying game logic. It was not obvious how this should be done in Android. A goal I struggled with was designing a GUI for multiple screen sizes and densities. How you handle this is somewhat based on how you draw the game. The game could be drawn using a Canvas, SurfaceView, OpenGL ES, or views. I had very limited knowledge of OpenGL, so I did not consider it an option. Canvas seemed viable because I had to draw the cards as bitmaps. The game's graphics were fairly static. A canvas is better suited for a game with graphics that change dynamically. My initial Android version would block the main thread. This meant that updates to the display did not occur until the user's turn. I did not know how to deal with this issue. There was not many resources to help. 27
28 Figure 1: Figure 2: 28
29 Figure 3: Figure 4: 29
30 Conclusion In the end I did not achieve as much as I wanted. This was due to not knowing how long it would take to complete my goals. My project was too ambitious from the start, factoring in my Android and networking background. Making the single player version probably would have been sufficient as a project. Future work I have many ideas for future work. I still want to write a game server. A user could be authenticated by logging in with their Google+ or Facebook account, rather than implementing my own authentication method. I might also try out the Google Play services SDK. I would add application settings for users to customize in order to compete against KARMAN Games. They have many settings. There are ones for online play, visuals, sound, card selection and game speed. I would store them using a preference activity. The easiest setting to add would be allowing users to select different card backgrounds. Other possible settings could be sorting the cards in the player's hand by rank, autoplay single cards, dim invalid cards, different ways of selecting cards (e.g., click and drag, or tap), and names for the AI players. It would be simple to sort the cards in the user's hand because each card has a score associated with it. I would like to eventually add animations to the game. Animations for views are supported back to API 11, which is an issue if I plan to support up to 90% of platforms Android. According to the April 1st Android dashboard [Google, 2014d], 17.8% of users still are running API
31 The majority of the free games in the Google Play store maintain a wide range of game statistics. My application only maintains basic statistics. I would like to add more in the future. I might add more game rule variations. I was planning to add the rule going under as it a rule that I frequently saw while play testing. It is a first come first serve type of rule. The first person who calls it is allowed to switch their lowest cards with the three cards hidden in the kitty. I might consider providing users an option to play against nearby people using a peer-to-peer connection. I discounted this option originally because Wi-Fi P2P seemed the most appropriate for this task. It has a faster connection speed over a larger distance than Bluetooth [Google, 2014e]. The problem was it is only available on devices running API 14, or higher. 31
32 References Bellot. (2004) Introduction to SVG-cards Bicycle. (2013) Foril, Gairing, Pfannkuch, Schwarz (2013) Developing an Android app for the card game Tichu Google. (2014a) Supporting Different Platform Versions Google. (2014b) Google Play Services Google. (2014c) Canvas and Drawables Google. (2014d) Dashboards Google. (2014e) Wi-Fi Peer-to-Peer KARMAN Games. (2014) Katz. (2012) bestcardgameever-android Knoll (2011) Vector Playing Cards 32
LEARN HOW TO PLAY MINI-BRIDGE
MINI BRIDGE - WINTER 2016 - WEEK 1 LAST REVISED ON JANUARY 29, 2016 COPYRIGHT 2016 BY DAVID L. MARCH INTRODUCTION THE PLAYERS MiniBridge is a game for four players divided into two partnerships. The partners
More informationSheepshead, THE Game Release Notes
Sheepshead, THE Game Release Notes Release 1.0 Initial Release Release 1.1 5/20/2010 1. Improved logic that determines when to play the Ace of Diamond and the Ten of Diamonds. Requested by BBaures. 2.
More informationLESSON 3. Third-Hand Play. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 3 Third-Hand Play General Concepts General Introduction Group Activities Sample Deals 72 Defense in the 21st Century Defense Third-hand play General Concepts Third hand high When partner leads a
More informationSheepshead, THE Game Set Up
Figure 1 is a screen shot of the Partner Method tab. Figure 1 The Partner Method determines how the partner is calculated. 1. Jack of Diamonds Call Up Before Picking. This method allows the picker to call
More information1. Number of Players Two people can play.
Two-Handed Pinochle Rules (with Bidding) Pinochle is a classic two-player game developed in the United States, and it is still one of the country's most popular games. The basic game of Pinochle is Two-Hand
More informationCMS.608 / CMS.864 Game Design Spring 2008
MIT OpenCourseWare http://ocw.mit.edu CMS.608 / CMS.864 Game Design Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Developing a Variant of
More informationBRIDGE is a card game for four players, who sit down at a
THE TRICKS OF THE TRADE 1 Thetricksofthetrade In this section you will learn how tricks are won. It is essential reading for anyone who has not played a trick-taking game such as Euchre, Whist or Five
More informationacorns and flowers. The cards in each suit are ace, king, ober, under, banner, nine, eight, seven, six.
Swiss Jass The rank and values of the cards A standard Jass pack has 36 cards. In the west and south of Switzerland French suited cards are used: the four suits are hearts, diamonds, clubs and spades and
More informationLESSON 2. Opening Leads Against Suit Contracts. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 2 Opening Leads Against Suit Contracts General Concepts General Introduction Group Activities Sample Deals 40 Defense in the 21st Century General Concepts Defense The opening lead against trump
More informationActivity 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 informationDivision Age Category Number of Participants Open 55+ Two (2)
Districts are encouraged to follow the technical information and guidelines found within this manual at all times. When changes are necessary at the District level, participants who qualify for Ontario
More informationBridge Players: 4 Type: Trick-Taking Card rank: A K Q J Suit rank: NT (No Trumps) > (Spades) > (Hearts) > (Diamonds) > (Clubs)
Bridge Players: 4 Type: Trick-Taking Card rank: A K Q J 10 9 8 7 6 5 4 3 2 Suit rank: NT (No Trumps) > (Spades) > (Hearts) > (Diamonds) > (Clubs) Objective Following an auction players score points by
More informationDiet customarily implies a deliberate selection of food and/or the sum of food, consumed to control body weight.
GorbyX Bridge is a unique variation of Bridge card games using the invented five suited GorbyX playing cards where each suit represents one of the commonly recognized food groups such as vegetables, fruits,
More informationLESSON 4. Second-Hand Play. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 4 Second-Hand Play General Concepts General Introduction Group Activities Sample Deals 110 Defense in the 21st Century General Concepts Defense Second-hand play Second hand plays low to: Conserve
More informationLESSON 6. Rebids by Responder. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 6 Rebids by Responder General Concepts General Introduction Group Activities Sample Deals 106 The Bidding Bidding in the 21st Century GENERAL CONCEPTS Responder s rebid By the time opener has rebid,
More informationStar-Crossed Competitive Analysis
Star-Crossed Competitive Analysis Kristina Cunningham Masters of Arts Department of Telecommunications, Information Studies, and Media College of Communication Arts and Sciences Michigan State University
More informationCS Project 1 Fall 2017
Card Game: Poker - 5 Card Draw Due: 11:59 pm on Wednesday 9/13/2017 For this assignment, you are to implement the card game of Five Card Draw in Poker. The wikipedia page Five Card Draw explains the order
More informationBridgemate App. Information for bridge clubs and tournament directors. Version 2. Bridge Systems BV
Bridgemate App Information for bridge clubs and tournament directors Version 2 Bridge Systems BV Bridgemate App Information for bridge clubs and tournament directors Page 2 Contents Introduction... 3 Basic
More informationFor this assignment, your job is to create a program that plays (a simplified version of) blackjack. Name your program blackjack.py.
CMPT120: Introduction to Computing Science and Programming I Instructor: Hassan Khosravi Summer 2012 Assignment 3 Due: July 30 th This assignment is to be done individually. ------------------------------------------------------------------------------------------------------------
More informationLesson 3. Takeout Doubles and Advances
Lesson 3 Takeout Doubles and Advances Lesson Three: Takeout Doubles and Advances Preparation On Each Table: At Registration Desk: Class Organization: Teacher Tools: BETTER BRIDGE GUIDE CARD (see Appendix);
More informationLESSON 3. Responses to 1NT Opening Bids. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 3 Responses to 1NT Opening Bids General Concepts General Introduction Group Activities Sample Deals 58 Bidding in the 21st Century GENERAL CONCEPTS Bidding The role of each player The opener is
More informationLESSON 7. Interfering with Declarer. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 7 Interfering with Declarer General Concepts General Introduction Group Activities Sample Deals 214 Defense in the 21st Century General Concepts Defense Making it difficult for declarer to take
More informationLESSON 2. Developing Tricks Promotion and Length. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 2 Developing Tricks Promotion and Length General Concepts General Introduction Group Activities Sample Deals 40 Lesson 2 Developing Tricks Promotion and Length GENERAL CONCEPTS Play of the Hand
More informationLESSON 5. Rebids by Opener. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 5 Rebids by Opener General Concepts General Introduction Group Activities Sample Deals 88 Bidding in the 21st Century GENERAL CONCEPTS The Bidding Opener s rebid Opener s second bid gives responder
More informationInstallation Instructions
Installation Instructions Important Notes: The latest version of Stencyl can be downloaded from: http://www.stencyl.com/download/ Available versions for Windows, Linux and Mac This guide is for Windows
More informationLeads and Signals. Why is it all so difficult?
Leads and Signals Ipswich & Kesgrave Stepping Stones Thursday 26 th March 2015 Why is it all so difficult? Say you are defending with this spade suit: Q J 7 4 Do you play the queen? The jack? Or a spot-card?
More informationMine Seeker. Software Requirements Document CMPT 276 Assignment 3 May Team I-M-Assignment by Dr. B. Fraser, Bill Nobody, Patty Noone.
Mine Seeker Software Requirements Document CMPT 276 Assignment 3 May 2018 Team I-M-Assignment by Dr. B. Fraser, Bill Nobody, Patty Noone bfraser@cs.sfu.ca, mnobody@sfu.ca, pnoone@sfu.ca, std# xxxx-xxxx
More informationCreating a Mobile Game
The University of Akron IdeaExchange@UAkron Honors Research Projects The Dr. Gary B. and Pamela S. Williams Honors College Spring 2015 Creating a Mobile Game Timothy Jasany The University Of Akron, trj21@zips.uakron.edu
More informationSpade 3 Game Design. Ankur Patankar MS Computer Science Georgia Tech College of Computing Cell: (404)
Spade 3 Game Design By Ankur Patankar MS Computer Science Georgia Tech College of Computing ankur.patankar@gatech.edu Cell: (404) 824-3468 Design Game CS 8803 (Fall 2010) Page 1 ABSTRACT Spade 3 is a card
More informationBanner. Double Banner
Banner Dimension: Mobile: 640 (W) x 100 (H) Tablet Portrait - 1536 (W) x 180 (H) [For mytv only] Tablet Landscape - 2048 (W) x 180 (H) [For mytv only] File format/ size: Must provide (.gif or.jpg) still
More informationThe Art of the Discard
The Art of the Discard How do you feel when declarer starts running a long suit? Do you find it hard to breathe? Do you panic? Or do you confidently discard knowing exactly which cards to save? DISCARDS:
More informationConcept Connect. ECE1778: Final Report. Apper: Hyunmin Cheong. Programmers: GuanLong Li Sina Rasouli. Due Date: April 12 th 2013
Concept Connect ECE1778: Final Report Apper: Hyunmin Cheong Programmers: GuanLong Li Sina Rasouli Due Date: April 12 th 2013 Word count: Main Report (not including Figures/captions): 1984 Apper Context:
More informationThe Exciting World of Bridge
The Exciting World of Bridge Welcome to the exciting world of Bridge, the greatest game in the world! These lessons will assume that you are familiar with trick taking games like Euchre and Hearts. If
More informationLESSON 3. Developing Tricks the Finesse. General Concepts. General Information. Group Activities. Sample Deals
LESSON 3 Developing Tricks the Finesse General Concepts General Information Group Activities Sample Deals 64 Lesson 3 Developing Tricks the Finesse Play of the Hand The finesse Leading toward the high
More informationfacewho? Requirements Analysis
facewho? Requirements Analysis Prompt Facebook Log in Select Opponent / Send Game Invite Respond to Invite / Start Game Flip Game Tile Expand Image / Make Guess Send Question Respond to Question Exit Index
More informationElicitation, Justification and Negotiation of Requirements
Elicitation, Justification and Negotiation of Requirements We began forming our set of requirements when we initially received the brief. The process initially involved each of the group members reading
More informationProgramming Exam. 10% of course grade
10% of course grade War Overview For this exam, you will create the card game war. This game is very simple, but we will create a slightly modified version of the game to hopefully make your life a little
More informationUp & Down GOAL OF THE GAME UP&DOWN CARD A GAME BY JENS MERKL & JEAN-CLAUDE PELLIN ART BY CAMILLE CHAUSSY
Up & Down A GAME BY JENS MERKL & JEAN-CLAUDE PELLIN ART BY CAMILLE CHAUSSY GOAL OF THE GAME UP&DOWN is a trick taking game with plenty of ups and downs. This is because prior to each trick, one of the
More informationLESSON 9. Negative Doubles. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 9 Negative Doubles General Concepts General Introduction Group Activities Sample Deals 282 Defense in the 21st Century GENERAL CONCEPTS The Negative Double This lesson covers the use of the negative
More informationPresents: Basic Card Play in Bridge
Presents: Basic Card Play in Bridge Bridge is played with the full standard deck of 52 cards. In this deck we have 4 Suits, and they are as follows: THE BASICS of CARD PLAY in BRIDGE Each Suit has 13 cards,
More informationDenver Defenders Client: The Giving Child nonprofit Heart & Hand nonprofit
Denver Defenders Client: The Giving Child nonprofit Heart & Hand nonprofit Team Members: Corey Tokunaga-Reichert, Jack Nelson, Kevin Day, Milton Tzimourakas, Nathaniel Jacobi Introduction Client Description:
More informationAdvanced Strategy in Spades
Advanced Strategy in Spades Just recently someone at elite and a newbie to spade had asked me if there were any guidelines I follow when bidding, playing if there were any specific strategies involved
More informationFacilitator s Guide to Getting Started
Facilitator s Guide to Getting Started INTRODUCTION This Facilitator Guide will help you facilitate a game design workshop for people who are new to TaleBlazer. The curriculum as written will take at least
More informationLESSON 2. Objectives. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 2 Objectives General Concepts General Introduction Group Activities Sample Deals 38 Bidding in the 21st Century GENERAL CONCEPTS Bidding The purpose of opener s bid Opener is the describer and tries
More informationCambridge University Bridge Club Beginners Lessons 2011 Lesson 1. Hand Evaluation and Minibridge
Cambridge University Bridge Club Beginners Lessons 2011 Lesson 1. Hand Evaluation and Minibridge Jonathan Cairns, jmc200@cam.ac.uk Welcome to Bridge Club! Over the next seven weeks you will learn to play
More informationUser Guide / Rules (v1.6)
BLACKJACK MULTI HAND User Guide / Rules (v1.6) 1. OVERVIEW You play our Blackjack game against a dealer. The dealer has eight decks of cards, all mixed together. The purpose of Blackjack is to have a hand
More informationINTRODUCTION TO GAME AI
CS 387: GAME AI INTRODUCTION TO GAME AI 3/31/2016 Instructor: Santiago Ontañón santi@cs.drexel.edu Class website: https://www.cs.drexel.edu/~santi/teaching/2016/cs387/intro.html Outline Game Engines Perception
More informationOverview. The Game Idea
Page 1 of 19 Overview Even though GameMaker:Studio is easy to use, getting the hang of it can be a bit difficult at first, especially if you have had no prior experience of programming. This tutorial is
More informationThe Art of the Discard
The Art of the Discard How do you feel when declarer starts running a long suit? Do you find it hard to breathe? Do you panic? Or do you confidently discard knowing exactly which cards to save? Discard
More informationCapture the Flag Design Document Authors: Luke Colburn, Tyler Johnson, Chris LaBauve
Capture the Flag Design Document Authors: Luke Colburn, Tyler Johnson, Chris LaBauve Revision History Date Version Description Author(s) 2014-02-11 0.1 Initial draft Luke Colburn, et al. 2014-02-13 0.2
More informationBAGHDAD Bridge hand generator for Windows
BAGHDAD Bridge hand generator for Windows First why is the name Baghdad. I had to come up with some name and a catchy acronym always appeals so I came up with Bid And Generate Hands Display Analyse Deals
More informationSensible Chuckle SuperTuxKart Concrete Architecture Report
Sensible Chuckle SuperTuxKart Concrete Architecture Report Sam Strike - 10152402 Ben Mitchell - 10151495 Alex Mersereau - 10152885 Will Gervais - 10056247 David Cho - 10056519 Michael Spiering Table of
More informationINTRODUCTION. Welcome to Subtext the first community in the pages of your books.
INTRODUCTION Welcome to Subtext the first community in the pages of your books. Subtext allows you to engage in conversations with friends and like-minded readers and access all types of author and expert
More informationCS 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 informationDistributed Slap Jack
Distributed Slap Jack Jim Boyles and Mary Creel Advanced Operating Systems February 6, 2003 1 I. INTRODUCTION Slap Jack is a card game with a simple strategy. There is no strategy. The game can be played
More informationActive and Passive leads. A passive lead has little or no risk attached to it. It means playing safe and waiting for declarer to go wrong.
Active and Passive leads What are they? A passive lead has little or no risk attached to it. It means playing safe and waiting for declarer to go wrong. An active lead is more risky. It involves trying
More informationCMS.608 / CMS.864 Game Design Spring 2008
MIT OpenCourseWare http://ocw.mit.edu / CMS.864 Game Design Spring 2008 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. DrawBridge Sharat Bhat My card
More informationA Guide To Scoring Single Events With BridgePads. written by Cad Delworth, Carlton Bridge Club, Edinburgh
A Guide To Scoring Single Events With BridgePads 1 A Guide To Scoring Single Events With BridgePads written by Cad Delworth, Carlton Bridge Club, Edinburgh This is revision number 8, saved at 09:11:00
More informationLESSON 5. Watching Out for Entries. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 5 Watching Out for Entries General Concepts General Introduction Group Activities Sample Deals 114 Lesson 5 Watching out for Entries GENERAL CONCEPTS Play of the Hand Entries Sure entries Creating
More informationE U R O P E AN B R I D G E L E A G U E. 6 th EBL Tournament Director Workshop 8 th to 11 th February 2018 Larnaca Cyprus SIMULATIONS AT THE TABLE
E U R O P E AN B R I D G E L E A G U E 6 th EBL Tournament Director Workshop 8 th to 11 th February 2018 Larnaca Cyprus SIMULATIONS AT THE TABLE S 1) [Board 18] Declarer leads Q and LHO contributing to
More informationCommentary for the World Wide Bridge Contest Set 3 Tuesday 24 th April 2018, Session # 4233
Commentary for the World Wide Bridge Contest Set 3 Tuesday 24 th April 2018, Session # 4233 Thank you for participating in the 2018 WWBC we hope that, win or lose, you enjoyed the hands and had fun. All
More informationLESSON 8. Putting It All Together. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 8 Putting It All Together General Concepts General Introduction Group Activities Sample Deals 198 Lesson 8 Putting it all Together GENERAL CONCEPTS Play of the Hand Combining techniques Promotion,
More informationTarot Combat. Table of Contents. James W. Gray Introduction
Tarot Combat James W. Gray 2013 Table of Contents 1. Introduction...1 2. Basic Rules...2 Starting a game...2 Win condition...2 Game zones...3 3. Taking turns...3 Turn order...3 Attacking...3 4. Card types...4
More informationMobile and web games Development
Mobile and web games Development For Alistair McMonnies FINAL ASSESSMENT Banner ID B00193816, B00187790, B00186941 1 Table of Contents Overview... 3 Comparing to the specification... 4 Challenges... 6
More informationShare My Design Space Project to Facebook or Pinterest?
How Do I Share My Design Space Project to Facebook or Pinterest? We love it when our members share the projects they create daily with their Cricut machines, materials, and accessories. Design Space was
More informationMuandlotsmore.qxp:4-in1_Regel.qxp 10/3/07 5:31 PM Page 1
Muandlotsmore.qxp:4-in1_Regel.qxp 10/3/07 5:31 PM Page 1 This collection contains four unusually great card games. The games are called: MÜ, NJET, Was sticht?, and Meinz. Each of these games is a trick-taking
More informationEE307. Frogger. Project #2. Zach Miller & John Tooker. Lab Work: 11/11/ /23/2008 Report: 11/25/2008
EE307 Frogger Project #2 Zach Miller & John Tooker Lab Work: 11/11/2008-11/23/2008 Report: 11/25/2008 This document details the work completed on the Frogger project from its conception and design, through
More informationMoving Game X to YOUR Location In this tutorial, you will remix Game X, making changes so it can be played in a location near you.
Moving Game X to YOUR Location In this tutorial, you will remix Game X, making changes so it can be played in a location near you. About Game X Game X is about agency and civic engagement in the context
More informationPS4 Remote Play review: No Farewell to Arms, but a Moveable Feast
PS4 Remote Play review: No Farewell to Arms, but a Moveable Feast PlayStation 4 is the most fantastic console in the Universe! Why do we say so? Because PS4 is the most popular gaming console ever. Accordingly
More informationPicks. Pick your inspiration. Addison Leong Joanne Jang Katherine Liu SunMi Lee Development Team manager Design User testing
Picks Pick your inspiration Addison Leong Joanne Jang Katherine Liu SunMi Lee Development Team manager Design User testing Introduction Mission Statement / Problem and Solution Overview Picks is a mobile-based
More informationCard Games Rules. for Kids
Card Games Rules for Kids Card game rules for: Old Maid, Solitaire, Go Fish, Spoons/Pig/Tongue, Concentration/Memory, Snap, Beggar my Neighbour, Menagerie, My Ship Sails, Sequence, Sevens, Slapjack, Snip
More informationQuantum Entangled Chess
Carleton University Honours Project Quantum Entangled Chess Author: Alex Honeywell 100708572 Supervisor: Dr. Tony White School of Computer Science April 12, 2011 Abstract In a quantum entanglement system
More informationBachelor 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 informationCS 371M. Homework 2: Risk. All submissions should be done via git. Refer to the git setup, and submission documents for the correct procedure.
Homework 2: Risk Submission: All submissions should be done via git. Refer to the git setup, and submission documents for the correct procedure. The root directory of your repository should contain your
More informationThe goals for this project are to demonstrate, experience, and explore all aspects of Java Internet Programming.
Author: Tian Ma Class: ECE 491 last modified May 4/2004 ECE 491 Final Project Multiplayer Internet Card Game Goal of the Project The goals for this project are to demonstrate, experience, and explore all
More informationLESSON 4. Eliminating Losers Ruffing and Discarding. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 4 Eliminating Losers Ruffing and Discarding General Concepts General Introduction Group Activities Sample Deals 90 Lesson 4 Eliminating Losers Ruffing and Discarding GENERAL CONCEPTS Play of the
More informationLESSON 6. The Subsequent Auction. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 6 The Subsequent Auction General Concepts General Introduction Group Activities Sample Deals 266 Commonly Used Conventions in the 21st Century General Concepts The Subsequent Auction This lesson
More informationALL YOU SHOULD KNOW ABOUT REVOKES
E U R O P E AN B R I D G E L E A G U E 9 th EBL Main Tournament Directors Course 30 th January to 3 rd February 2013 Bad Honnef Germany ALL YOU SHOULD KNOW ABOUT REVOKES by Ton Kooijman - 2 All you should
More informationRoadblocks for building mobile AR apps
Roadblocks for building mobile AR apps Jens de Smit, Layar (jens@layar.com) Ronald van der Lingen, Layar (ronald@layar.com) Abstract At Layar we have been developing our reality browser since 2009. Our
More informationCici Collier Kellyn Larson Mike McClary. Griffin Metz Vanessa Ramos Nick Zustak
Cici Collier Kellyn Larson Mike McClary Griffin Metz Vanessa Ramos Nick Zustak CSCI 370 June 2016 1 Introduction The Giving Child is a non profit organization that puts an emphasis on developing mobile
More informationPrint and Play Instructions: 1. Print Swamped Print and Play.pdf on 6 pages front and back. Cut all odd-numbered pages.
SWAMPED Print and Play Rules Game Design by Ben Gerber Development by Bellwether Games LLC & Lumné You ve only just met your team a motley assemblage of characters from different parts of the world. Each
More information30-DAY ACTION PLAN: CREATE AN ONLINE IDENTITY THAT GIVES CLIENTS CONFIDENCE!
30-DAY ACTION PLAN: CREATE AN ONLINE IDENTITY THAT GIVES CLIENTS CONFIDENCE! Read this introduction thoroughly before using the 30- Day Implementation Plan. Also, please note that this instructions section
More informationHow To Find Out What Facebook Knows About You
How To Find Out What Facebook Knows About You By Bob Cusick (Spoiler Alert: AAAAAAAAH!) So, after I wrote the last PDF called How To Stop (Some) Facebook Data Leaks (download here: https://bit.ly/2dlejbv)
More informationCIDM 2315 Final Project: Hunt the Wumpus
CIDM 2315 Final Project: Hunt the Wumpus Description You will implement the popular text adventure game Hunt the Wumpus. Hunt the Wumpus was originally written in BASIC in 1972 by Gregory Yob. You can
More informationMASTER POINT PRESS TORONTO, CANADA
MASTER POINT PRESS TORONTO, CANADA Text 2013 Patrick O Connor Cover image Glowimages All rights reserved. It is illegal to reproduce any portion of this material, except by special arrangement with the
More informationBlue-Bot TEACHER GUIDE
Blue-Bot TEACHER GUIDE Using Blue-Bot in the classroom Blue-Bot TEACHER GUIDE Programming made easy! Previous Experiences Prior to using Blue-Bot with its companion app, children could work with Remote
More informationBrowser Streaming and Mobile-App Instructions for ios and Android tm
Browser Streaming and Mobile-App Instructions for ios and Android tm February 07 Browser and Mobile-Device Instructions Browser Instructions... Access Comics Plus: Library Edition Through Your Browser
More informationProject Marvin: A Social Networking Program for Android
Project Marvin: A Social Networking Program for Android Washington University Department of Computer Science and Engineering CSE 537S Mobile Computing Spring 2008 Brandon Morgan Katherine Maschmeyer Mamta
More information(12) United States Patent (10) Patent No.: US 6,651,984 B1. Luken (45) Date of Patent: Nov. 25, 2003
USOO6651984B1 (12) United States Patent (10) Patent No.: US 6,651,984 B1 Luken (45) Date of Patent: Nov. 25, 2003 (54) CARDS AND METHOD FOR PLAYING A 6,247,697 B1 6/2001 Jewett... 273/292 MATCHING CARD
More informationCS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 8
CS 210 Fundamentals of Programming I Spring 2015 Programming Assignment 8 40 points Out: April 15/16, 2015 Due: April 27/28, 2015 (Monday/Tuesday, last day of class) Problem Statement Many people like
More informationAnsible Tower Quick Setup Guide
Ansible Tower Quick Setup Guide Release Ansible Tower 3.2.2 Red Hat, Inc. Mar 08, 2018 CONTENTS 1 Quick Start 2 2 Login as a Superuser 3 3 Import a License 5 4 Examine the Tower Dashboard 7 5 The Settings
More informationMobile and broadband technologies for ameliorating social isolation in older people
Mobile and broadband technologies for ameliorating social isolation in older people www.broadband.unimelb.edu.au June 2012 Project team Frank Vetere, Lars Kulik, Sonja Pedell (Department of Computing and
More informationLESSON 7. Overcalls and Advances. General Concepts. General Introduction. Group Activities. Sample Deals
LESSON 7 Overcalls and Advances General Concepts General Introduction Group Activities Sample Deals 120 Bidding in the 21st Century GENERAL CONCEPTS The Bidding Bidding with competition Either side can
More informationCS 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 informationIntroductory Module Object Oriented Programming. Assignment Dr M. Spann
Introductory Module 04 41480 Object Oriented Programming Assignment 2009 Dr M. Spann 1 1. Aims and Objectives The aim of this programming exercise is to design a system enabling a simple card game, gin
More informationPro Xenon Mediathek Ltd. Game Description Lucky Dragon
Pro Xenon Mediathek Ltd. Lucky Dragon Lucky Dragon Description and Rules Lucky Dragon is a game with five reels. A game result consists of 5x3 symbols, each reel showing a section of three symbols. Screenshots
More informationIntroduction to Turtle Art
Introduction to Turtle Art The Turtle Art interface has three basic menu options: New: Creates a new Turtle Art project Open: Allows you to open a Turtle Art project which has been saved onto the computer
More informationRules & Regulation PUBG MOBILE SOLO
Rules & Regulation PUBG MOBILE SOLO This document outlines the rules and regulations pertaining PUBG MOBILE SOLO Tournaments hosted by Playtonia esports. Failing to adhere to these rules and regulations
More informationQuestions #21 - #30 From Facebook Page A Teacher First - Pg 1 -
Questions #21 to #30 (from Facebook Page A Teacher First ) These answers are aimed at beginners to keep the bidding relatively uncomplicated. #21 - Your partner opens "1NT." This is your hand. What would
More informationContent Page. Odds about Card Distribution P Strategies in defending
Content Page Introduction and Rules of Contract Bridge --------- P. 1-6 Odds about Card Distribution ------------------------- P. 7-10 Strategies in bidding ------------------------------------- P. 11-18
More information