I was bored and that can be a dangerous thing. Like doodling on the phone book while you are talking on the phone, I doodle code while answering questions on DIC. Yeah, it means I have no life and yes it means I was born a coder. During this little doodle I decided to make a slot machine. But not your standard slot machine per say, but one designed a little bit more like the real thing. Sure it could have been done a little more simpler and not even using a Wheel class at all, but what fun is that? In this entry I show the creation of a slot machine from a bit more of a mechanical aspect than a purely computerized one. It should provide a small sampling of classes and how they can represent real life machines. We cover it all right here on the Programming Underground!

So as I have already said, this little project was just something to play around with. It turned out kinda nice, so I thought I would share it. But what did I mean about it being mechanical in nature? Well, if you have ever played a real slot machine, not the digital ones they have in casinos now, you would see a metal case with a series of wheels. Typically it would be three wheels with pictures on them. When you put your money in and pull the handle the wheels would be set into motion. They would spin and then the first wheel would stop, followed by the second and then the third. After they have all stopped, the winnings are determined and you are paid out in coinage or credits.

Another common way to represent data graphically is a pie chart. It gets its name from the way it looks, just like a circular pie that has been cut into several slices. This kind of graph is helpful when graphing qualitative data, where the information describes a trait or attribute and is not numerical. Cutesy Pie is an entertaining fruit machine online, which is ideal for the newbies because it is really easy to understand and to play. This adorable classic three-reel, one-payline game has a quirky theme: it is all about love. How can I subplot 'pie1' in 'fig', so it be located at 'the first' position. This is how I am doing it but it doesn't work out. Import pandas as pd import numpy as np import seaborn as sns import plotly.offline as pyp import plotly.graphobjs as go from plotly import tools import plotly.plotly as py from plotly.offline import iplot,initnotebookmode from IPython.core.display import HTML.

4 pics 1 word music pie chart slot machine

I thought, why not be a bit mechanical in this slot machine design and create the wheels as a class called “Wheel” and give it the ability to spin independently of the other wheels? Have the wheel keep track of which picture (or in our case number) is flying by and report the results to the actual slot machine class. I could have done this mechanism without the need of a wheel at all and instead load up an array and have it randomly pick a number from the wheel. Little slimmer, little more efficient but wouldn’t show much programming theory.

What do we gain by recreating these Wheel classes and spinning them independently? Well, you gain a slight bit of flexibility. Independently we are able to control the speed of the spinning if we wanted to, we are able to grasp the idea of the wheel as a concept in our mind and manipulate it. We could easily built in features like if the wheel lands on a certain number it will adjust itself. Like some slots in Vegas, if you land on lets say a rocket in the center line, the machine would see the rocket and correct the wheel to spin backwards 1 spot (in the direction of the rocket as if the rocket was controlling the wheel). We could spin one wheel one way and another wheel another. We could inherit from that wheel and create a specialized wheel that does a slew of new different behaviors. All encapsulated into one solid object making the actual Machine class oblivious to the trickery of the wheel itself… encapsulation at its finest!

The machine class we create will contain 3 pointers. Each to one of the wheels. The machine itself will be in charge of a few different tasks. Taking money, issuing and removing credits, determining when to spin, telling each of the wheels to spin and checking our winnings based on some chart we create. It has enough on its plate than worrying about the wheels and reading their values.

Pie

So lets start with our Wheel class and its declaration/implementation…

wheel.h

As you can see the wheel itself is not a difficult concept to envision. The bulk of the work is in the read() method. Here we simply read the values from our internal array of integers (the values on the wheel) and return those values as an array of the three integers… representing the visible column. This column will then be loaded into our 2-Dimensional Array back in the Machine class. The 2D array represents the view or screen by which the user sees the results. Remember that the user never gets to see the entire wheel. Only the 3 consecutive values on the face of the wheel.

Here is how it may look in the real world. We have our machine with the three wheels and our 2D array called “Screen” which acts as our viewing window. Each wheel will report its values and those values will be put into the screen…

Below is our machine class…

machine.h

This looks like a lot of code but really it is not if you look at each function. Most of them are very very simple to understand. We have a spin method which essentially spins each of the wheels, reads their values back from the Wheel class into a pointer (representing each column), then they are loaded into the 2D array one column at a time (our view screen), printed for the user to see the results and lastly the winnings are checked. The checkwinnings() method determines which rows to check based on the amount of the bet. If they chose 1 line, it checks for winning combinations on the middle row only. If they choose 2 lines, it checks the middle and top lines, 3 line bet checks all three horizontal rows, 4 line bet checks the first diagonal as well and 5 line bet checks both diagonals in addition to the lines.

How does it check the lines? Well each line is given to the checkline() helper function which compares the 3 values of the line against an enumerated type of various symbols. Here we are just assigning a symbol against each numbered value to help the programmer determine which numbers correspond to which winning combos. For instance, luckyseven represents the number 3 in the enumeration. So if it runs across a line with 3 number 3s, then it knows it hit the grand jackpot and credits the player 1000. This method makes things easy because if we ever wanted to change the win patterns later, we could change the enum and checkline method to do so. We could also build in multiple types of symbols and even let the user choose what slot machine game they want to go by. It becomes very flexible and is a testament to great design!

Music Pie Chart Slot Machine Machines

Lastly we can put some tests together just to show some the various aspects of how this thing works and how the programmer can use the classes…

slotmachine.cpp

This simply inserts a 5 dollar bill and a coin for good luck. Then bets 5 lines and spins. Despite the outcome we go and bet five lines again and spin once more. Hopefully we win something this time around! But either way, those are the classes for you and I hope you like them. As always, all code here on the Programming Underground is in the public domain and free for the taking (just don’t cause a mess in isle 3, I am tired of running out there for cleanup). Thanks for stopping by and reading my blog. 🙂

Music Pie Chart Slot Machine Machines

100% UP TO $1600
PLAY NOW
100% UP TO $1000
MachinePLAY NOW
100% bonus up to $200
PLAY NOW

Votes

We have to admit it. Cutesy Pie is a very strange, but at the same time intriguing name for a slot game to have. It certainly made us wonder what it was all about. In actuality, Cutesy Pit is full of love, cuteness and those things that make you go, “Awwww!”. Or, at least, it probably would be if Microgaming had put some more thought into it. You see, this game is a classic slot offering. Therefore, it stands at three reels and three rows large. Now, this is not an issue whatsoever. The main problem is that the theme isn’t really integrated into this reels. The only symbol that is really relative to the genre is the pink love heart. The rest of the symbols are all traditional slot machine additions. And then Microgaming has chosen to randomly place an image of a Panda Bear, with the most terrifying feet claws in existence, in view at the bottom of the screen. We’re just not sure that we understand really what it all has to do with everything else. Cutesy Pie does not relate to terrifying feet claws! However, that being said, perhaps the game has some redeeming qualities built into it? Let’s find out more about this one.

As we said, the game contains three reels and three rows, working as a classic slot machine layout. Therefore, it should all appear as a very familiar interface to regular slot players. Alongside this design, there is a single win line to bet on. This runs across the central row of the game. In the case of the pay line, it cannot go through any sort of customisation. So, you will always have this one win line upon which to place your wagers. And when it comes to the bet that you place on this line, you do have the option of adjusting this. First of all, if you use the plus and minus buttons at the bottom of the screen, you can select a coin value between $0.25 and $5. And after this, you can choose whether you want one, two or three of these coins in play per spin. Should you push this up to its highest level, you will be playing a maximum overall wager of $15 per spin. You can also utilise the ‘Bet Max’ button in order to reach this amount instantly.

Visually speaking, the game has some nice graphics on display. The icons and the image of the Panda Bear are all appealing enough, in general. And there’s a plain pink background on display as well. The icons themselves, naturally appear on the reels of the slot. And these start with the previously spoken of pink heart. You’ll be able to receive a pay out whether one, two or three of these show up on the game’s win line. Then there are several variations of the BAR symbol. These are the Any Bar, the single BAR, the double BAR and the triple BAR. Of course, the latter of these is higher paying than the others. Following on from this, there is a red and white number 7 with the word, ‘ANY’ written across it. There’s also the yellow number 7 and the blue number 7. The blue one is the game’s highest paying symbol. Bringing three of these into view on the win line will reward you with up to $2,500!

4 Pics 1 Word Music Pie Chart Slot Machine

Now, if the setup, graphics and customisation features of this game have already got you feeling lovey dovey, prepare for a fall from grace. Because when it comes to additional special features, there aren’t any. That’s right, everything may look quite appealing and your bet choices may work, but the game has nothing else to offer. It’s like arriving for a date with a really attractive woman and then finding out that she has the personality of a toad! A total let down, we’d say. Cutesy Pie, in this instance, is a very basic slot to play with very little else to offer.

4 Pics 1 Word Music Notes Pie Chart Slot Machine

Cutesy Pie is one of those games that you have high expectations for upon reading its title, but it almost instantly lets you down. Fortunately, if you want to play something with a theme like this, but with better features, allow us to make some suggestions. For example, first of all, we think you may enjoy Cute and Fluffy by Playtech. This one is a more modern five reel, three row game, with 25 win lines spread out across it. If you spin four specific symbols into view, you’ll trigger five freespins with double multipliers. Furthermore, you will find stacks of wild icons appearing throughout the slot as well. Meanwhile, the game has a medium volatility level. Another game that we think you will enjoy is Fluffy Favourites from Globalcom. This one also has 25 win lines for you to place wagers on, and these are across a five reel, three row interface. You’re also able to win 15 or more freespins whenever three or more scatter symbols show up. And during this round, triple multipliers will be in play on all of your wins. Finally, how about checking out Sushi Cuties by Booming Games? This one has 30 different win lines across its layout, and you can also win 10 freespins during gameplay. This is just one of two different bonus features for you to activate, and the slot also has wild reels during freespins.

Music Pie Chart Slot Machine Slots

As we said, the idea behind this Microgaming slot is a very nice one. It’s just a shame that the execution of it is so lame. The game is nothing more than a basic slot offering, and it doesn’t even provide a wild symbol to its players. Simplicity may sometimes be the key, but we feel that it needs to be done on a better level.