Skip to content

Commit

Permalink
Released and merged updates and new cover for book
Browse files Browse the repository at this point in the history
  • Loading branch information
sudheesh001 committed Apr 11, 2016
1 parent 554aced commit 4b89bd1
Show file tree
Hide file tree
Showing 64 changed files with 140 additions and 170 deletions.
2 changes: 1 addition & 1 deletion Acknowledgements/contributors.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Contributors"
data-filepath="Acknowledgements/contributors.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down
2 changes: 1 addition & 1 deletion Acknowledgements/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Acknowledgements"
data-filepath="Acknowledgements/README.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down
9 changes: 4 additions & 5 deletions Electronics/1-basics.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Basic Electronics"
data-filepath="Electronics/1-basics.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down Expand Up @@ -707,17 +707,16 @@ <h1>

<h2 id="introduction-to-electronics">Introduction to Electronics</h2>
<p>Electronics deals with the use of circuits that involve various electrical components. Everything from the clock you see to find time to the smartphone in your hand connecting you to your friends every second are the applications of it. In this section, we will give a brief overview of the electronics that we need to get started with working on the book.</p>
<p>If you are a beginner, this video series on YouTube is a great way to start- &quot;Building Electronic Circuits&quot; by The Motivated Engineer. </p>
<p>If you are a beginner, my video series on YouTube is a great way to start- &quot;Building Electronic Circuits&quot; </p>
<p>Link: <a href="https://www.youtube.com/playlist?list=PLmcMMZCV897om7Wuqz882Jdp9lGj9HYHs" target="_blank">https://www.youtube.com/playlist?list=PLmcMMZCV897om7Wuqz882Jdp9lGj9HYHs</a> </p>
<p>It starts off by giving you an overview of the basics of the electronic components generally used and teaches you how to work on some cool projects such as infra red sensors and wearable circuits. Watching and practicing the circuits in the first six videos in this series would give you a decent level of understanding to continue reading the sections below. These videos are optional to watch for people who have worked on electronic circuits before.</p>
<p>Next, we explain a simple circuit that is used very commonly while trying to solve mobile games.</p>
<h3 id="voltage-divider-circuit">Voltage Divider Circuit</h3>
<p><img src="../Images/VoltageDividerCircuit.png" alt="Voltage Divider Circuit"></p>
<p>A voltage divider circuit is commonly used in many electronic circuits for a wide range of applications including adjusting level of signal, measurement of voltages, etc. It is used in multimeter and wheatstone bridge. It produces an output voltage which is a fraction of the input voltage. The value of the output voltage depends on the values of the resistors used.</p>
<p>The output voltage of the above circuit can be calculated by the following equation.</p>
<p>The output voltage of the above circuit can be calculated by the following equation. Read about ohm&apos;s law and work on some examples to know where we get the equation from.</p>
<p>Vout = ((R2) / (R1 + R2)) * Vin</p>
<p>We will use this circuit in the next chapter when we talk about the Light Dependent Resistor (LDR) as that is the sensor which we will use most of the time for automating games.</p>
<p>LDR can be used in place of one of the resistors. The resistance of the LDR decreases if the incident light increases, and vice-versa. This change in resistance can be used to produce a change in voltage at the output which is important in many applications. For example, when we use a microcontroller, we can detect the lighting in a room by just measuring the voltage at the output of a voltage divider circuit in which an LDR is used in place of one of the resistors. </p>
<p>We will use this circuit in a following section on sensors.</p>
<p>Next, let us learn about how to use microcontrollers in building electronic circuits, specifically, Arduino.</p>


Expand Down
2 changes: 1 addition & 1 deletion Electronics/2-arduino.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Arduino"
data-filepath="Electronics/2-arduino.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down
2 changes: 1 addition & 1 deletion Electronics/3-sensors.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Sensors"
data-filepath="Electronics/3-sensors.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down
2 changes: 1 addition & 1 deletion Electronics/4-simulation.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Simulation"
data-filepath="Electronics/4-simulation.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down
4 changes: 2 additions & 2 deletions Electronics/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Electronics"
data-filepath="Electronics/README.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down Expand Up @@ -706,7 +706,7 @@ <h1>
<section class="normal" id="section-">

<h1 id="electronics">Electronics</h1>
<p>In this chapter, we will cover the a brief introduction to electronics and an overview of Arduino and how it can be used to solve the mobile games. We also have seperate section on various sensors that you can use to detect what&apos;s on the screen and different ways of automating the touch.</p>
<p>In this chapter, we will cover the a brief introduction to electronics and an overview of the microcontroller Arduino and how it can be used to solve the mobile games. We will also learn various sensors that can used to detect what&apos;s on the screen and different ways of automating the touch.</p>
<p>We used Arduino in this book for the projects because it is easy to setup and use. Feel free to use the microcontroller that you are comfortable with.</p>


Expand Down
10 changes: 5 additions & 5 deletions Examples/01-3d-bowling.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="3D Bowling"
data-filepath="Examples/01-3d-bowling.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down Expand Up @@ -705,7 +705,7 @@ <h1>

<section class="normal" id="section-">

<h1 id="3d--bowling">3D Bowling</h1>
<h2 id="3d--bowling">3D Bowling</h2>
<h3 id="game-description">Game Description</h3>
<p>In this game, the task of this player is to knock out as many pins as possible in a throw. You can throw the ball by swiping across the screen.</p>
<p><strong>Playstore Link:</strong> <a href="https://play.google.com/store/apps/details?id=com.threed.bowling&amp;hl=en" target="_blank">3D Bowling</a></p>
Expand All @@ -724,8 +724,7 @@ <h3 id="requirements">Requirements</h3>
<h3 id="block-diagram">Block Diagram</h3>
<p><img src="../Images/BlockDiagram.png" alt="image"></p>
<h3 id="tutorial">Tutorial</h3>
<p>Here&apos;s the step-wise tutorial to automate the game.</p>
<p><a href="https://github.com/GameAutomators/3D-Bowling" target="_blank">source code</a></p>
<p>Here&apos;s the step-wise tutorial to automate the game. The source code is avaiable <a href="https://github.com/GameAutomators/3D-Bowling" target="_blank">here</a>.</p>
<h4 id="step-1-using-adb-tool-to-capture-screenshot">Step 1: Using ADB Tool to capture screenshot</h4>
<p>The following command instantaneously takes the screenshot of the connected device and stores it in the SD card following the specified path.</p>
<pre><code class="lang-MATLAB">system(<span class="hljs-string">&apos;adb shell screencap -p /sdcard/screen.png&apos;</span>);
Expand All @@ -736,7 +735,8 @@ <h4 id="step-1-using-adb-tool-to-capture-screenshot">Step 1: Using ADB Tool to c
<p>The pulled image is stored in the form of a matrix of pixel values by the MATLAB.</p>
<h3 id="step-2-processing-the-image">Step 2: Processing the image</h3>
<p>The pulled image is read and the two sets of coordinates are chosen such that they lie on the vertical axis that passes through the centre of the screen.</p>
<pre><code class="lang-MATLAB"> imread(<span class="hljs-string">&apos;screen.png&apos;</span>);
<pre><code class="lang-MATLAB">a = imread(<span class="hljs-string">&apos;screen.png&apos;</span>);
imshow(a)
</code></pre>
<h4 id="step-3-swipe-across-the-screen">Step 3: Swipe across the screen</h4>
<p>A swipe across the screen can be simulated by using the following command. </p>
Expand Down
7 changes: 4 additions & 3 deletions Examples/02-find-the-difference.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Find the differences
## Find the differences

### Game Description

Expand All @@ -13,9 +13,11 @@ The game has two images with ten minute differences. The aim of the player is to

You can see a demo video of the working of this game at the following link: https://youtu.be/vOTyJVKrqfk

{% if output.name == "ebook" %}
<div class="row" style="text-align:center;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/vOTyJVKrqfk" frameborder="0" allowfullscreen></iframe>
</div>
{% endif %}

### Overview

Expand All @@ -33,8 +35,7 @@ The image is divided into two parts and the differences are detected by using th

### Tutorial

Here's the step-wise tutorial to automate the game.
[source code](https://github.com/GameAutomators/Find-The-Difference)
Here's the step-wise tutorial to automate the game. The source code is avaiable [here](https://github.com/GameAutomators/Find-The-Difference).

#### Step 1: Using ADB Tool to capture screenshot

Expand Down
4 changes: 2 additions & 2 deletions Examples/03-tic-tac-toe.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Tic Tac Toe
## Tic Tac Toe

### Game Description

Expand Down Expand Up @@ -28,7 +28,7 @@ The player starts at a point. The system’s move is identified using Image proc

### Tutorial

[source code](https://github.com/GameAutomators/Tic-Tac-Toe/tree/master/Code)
Here's the step-wise tutorial to automate the game. The source code is avaiable [here](https://github.com/GameAutomators/Tic-Tac-Toe).

#### Step 1: Using ADB Tool to capture screenshot

Expand Down
4 changes: 2 additions & 2 deletions Examples/04-playing-the-song.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Playing the song
## Playing the song

### Game Description

Expand Down Expand Up @@ -28,7 +28,7 @@ This is a virtual piano. For people who’ve got no or little experience with a
![Image](/Images/BlockDiagram.png)

### Tutorial
[source code](https://github.com/GameAutomators/Piano-Player)
Here's the step-wise tutorial to automate the game. The source code is avaiable [here](https://github.com/GameAutomators/Piano-Player).

#### Step 1: Using ADB Tool to capture screenshot

Expand Down
22 changes: 7 additions & 15 deletions Examples/05-ready-steady-bang.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Ready Steady Bang"
data-filepath="Examples/05-ready-steady-bang.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down Expand Up @@ -705,25 +705,18 @@ <h1>

<section class="normal" id="section-">

<h1 id="ready-steady-bang">Ready Steady Bang</h1>
<h2 id="ready-steady-bang">Ready Steady Bang</h2>
<h3 id="game-description">Game Description</h3>
<p>The game has two players, one is system and the other is player controlled. Both the players are allowed to shoot as soon as the word &apos;BANG&apos; pops on the screen. The objective of the game is to fire the opponent before he does by tapping anywhere on the screen immediately after the &apos;BANG&apos; appears.</p>
<p><strong>Playstore Link:</strong> <a href="https://play.google.com/store/apps/details?id=com.noodlecake.rsb&amp;hl=en" target="_blank">Ready Steady Bang</a></p>
<!-- Some Bootstrap segments are needed for front end because of markdown limitations-->
<div class="row" style="text-align:center;">
<p><div class="row" style="text-align:center;">
<img src="../Images/BangPlaystore.png" alt="Play Store Image" height="500px">
<img src="../Images/BangGameplay.png" alt="Game Play Image" height="500px">
</div>
<!-- End Bootstrap segment -->

**Difficulty Level:** Moderate

You can see a demo video of the working of this game at the following link: https://youtu.be/riNjidXmOY4

<div class="row" style="text-align:center;">
<iframe width="560" height="315" src="https://www.youtube.com/embed/riNjidXmOY4" frameborder="0" allowfullscreen></iframe>
</div>

<!-- End Bootstrap segment --></p>
<p><strong>Difficulty Level:</strong> Moderate</p>
<p>You can see a demo video of the working of this game at the following link: <a href="https://youtu.be/riNjidXmOY4" target="_blank">https://youtu.be/riNjidXmOY4</a></p>
<h3 id="overview">Overview</h3>
<p>As soon as the word &apos;BANG&apos; appears, the voltage output from the pin where the LDR is connected decreases. Whenever a drop in voltage is detected, the output pin is set to LOW and thus the Relay output is connected to ground which is equivalent to a &apos;Touch&apos;.</p>
<h3 id="requirements">Requirements</h3>
Expand All @@ -737,8 +730,7 @@ <h3 id="block-diagram">Block Diagram</h3>
<h3 id="circuit-diagram-using-fritzing">Circuit diagram using fritzing</h3>
<p><img src="../Images/BangFritzing.png" alt="BlockDiagram"></p>
<h3 id="tutorial">Tutorial</h3>
<p>Here&apos;s the step-wise tutorial to automate the game.</p>
<p><a href="https://github.com/GameAutomators/Bang" target="_blank">source code</a></p>
<p>Here&apos;s the step-wise tutorial to automate the game. The source code is avaiable <a href="https://github.com/GameAutomators/Bang" target="_blank">here</a>.</p>
<h4 id="step-1-sensor-placement">Step 1: Sensor placement</h4>
<p>The LDR is fixed on the screen exactly where the &apos;BANG&apos; appears. When the &apos;BANG&apos; appears, the intensity of the light from the screen being detected by the LDR decreases.</p>
<h4 id="step-2-touch-simulation">Step 2: Touch simulation</h4>
Expand Down
5 changes: 4 additions & 1 deletion Examples/06-3d-bowling2.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Bowling 3D-2
## Bowling 3D-2

### Game Description

Expand All @@ -12,6 +12,7 @@ Number of players in this game may vary from one to four. In case of multiplayer
**Difficulty level:** Moderate

### Overview

We find the centroid of the target, and then align the ball along the centroid, then we swipe it straight across the screen.

#### Requirements
Expand All @@ -25,6 +26,8 @@ We find the centroid of the target, and then align the ball along the centroid,

### Tutorial

Here's the step-wise tutorial to automate the game. The source code is avaiable [here](https://github.com/GameAutomators/3D-Bowling2).

#### Step 1: Using ADB Tool to capture screenshot

The following command instantaneously takes the screenshot of the connected device and stores it in the SD card following the specified path.
Expand Down
6 changes: 5 additions & 1 deletion Examples/07-move.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Move: A Brain Shifting Puzzle
## Move: A Brain Shifting Puzzle

### Game Description

Expand Down Expand Up @@ -26,6 +26,8 @@ Using image processing the position of the dots,blocks and the squares is identi

### Tutorial

Here's the step-wise tutorial to automate the game. The source code is avaiable [here](https://github.com/GameAutomators/move).

#### Step 1: Using ADB Tool to capture screenshot

The following command instantaneously takes the screenshot of the connected device and stores it in the SD card following the specified path.
Expand All @@ -47,9 +49,11 @@ imread('screen.png')
```

#### Step 2: Image processing

Once the screenshot is obtained, the position of the dots, blocks and the squares is identifies and also the minimum number of moves required to solve the level is extracted. For conenience each color is assigned an integer. This information is then fed to the algorithm with finds the solution.

#### Step 3: Algorithm

The algorithm tries out all permutations and combination of moves possible to get to the right one.

#### Step 4: Using ADB Tool to simulate touch
Expand Down
5 changes: 3 additions & 2 deletions Examples/08-tic-tac-toe2.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
data-chapter-title="Tic Tac Toe"
data-filepath="Examples/08-tic-tac-toe2.md"
data-basepath=".."
data-revision="Tue Apr 05 2016 11:15:26 GMT+0530 (IST)"
data-revision="Mon Apr 11 2016 21:51:31 GMT+0530 (IST)"
data-innerlanguage="">


Expand Down Expand Up @@ -705,7 +705,7 @@ <h1>

<section class="normal" id="section-">

<h1 id="tic-tac-toe---automated">Tic Tac Toe - Automated</h1>
<h2 id="tic-tac-toe---automated">Tic Tac Toe - Automated</h2>
<h3 id="game-description">Game Description</h3>
<p>This is a two-player game. The player and the system get alternative chances to mark their move on the 3x3 grid provided. One who marks 3 linearly oriented squares first, wins the game. If none of the players can do this, the game ends to be a draw. (The system&#x2019;s move is marked with a circle and the player&#x2019;s with a cross. )</p>
<p><strong>Playstore Link:</strong> <a href="https://play.google.com/store/apps/details?id=com.pinkpointer.tictactoe&amp;hl=en" target="_blank">Tic Tac Toe</a></p>
Expand All @@ -724,6 +724,7 @@ <h3 id="requirements">Requirements</h3>
<h3 id="block-diagram">Block Diagram</h3>
<p><img src="../Images/BlockDiagram.png" alt="BlockDiagram"></p>
<h3 id="tutorial">Tutorial</h3>
<p>Here&apos;s the step-wise tutorial to automate the game. The source code is avaiable <a href="https://github.com/GameAutomators/TicTacToe-v2" target="_blank">here</a>.</p>
<h4 id="step-1-using-adb-tool-to-capture-screenshot">Step 1: Using ADB Tool to capture screenshot</h4>
<p>The following command instantaneously takes the screenshot of the connected device and stores it in the SD card following the specified path.</p>
<pre><code class="lang-MATLAB">system(<span class="hljs-string">&apos; adb shell screencap -p /sdcard/screen.png &apos;</span>);
Expand Down
Loading

0 comments on commit 4b89bd1

Please sign in to comment.