Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - TiagoMMDavid/DrawAndGuess: DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android. · GitHub
Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - TiagoMMDavid/DrawAndGuess: DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android. · GitHub
Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - TiagoMMDavid/DrawAndGuess: DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android. · GitHub
Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - TiagoMMDavid/DrawAndGuess: DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android. · GitHub
Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - TiagoMMDavid/DrawAndGuess: DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android. · GitHub
Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - TiagoMMDavid/DrawAndGuess: DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android. · GitHub
Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - TiagoMMDavid/DrawAndGuess: DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android. · GitHub
Skip to content

Latest commit

History

50 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

Draw And Guess (PDM Project)

Overview

Draw And Guess is a casual and creative drawing game for 3-10 people! The game is built for Android and supports local and online multiplayer.

In local mode, the phone device acts as a drawing/guessing board and the players take turns using it. A random word is chosen and the first player draws it without using characters or numbers. The next player guesses the word behind the drawing. Then another one draws it again! The cycle continues until the end of the round, as in, after everyone plays and the device goes back to the first player.

The online mode functions in the same way, the difference being that every player has a board and plays simultaneously. Each player only draws/guesses once in each board.

At the end of each round all the results are displayed to the players allowing everyone to see the creations and interpretations.

Table of Contents

Functionalities

Draw And Guess exposes the following functionalities:

  • Functional and intuitive Android Application of the draw and guess game
  • Supports portrait and landscape orientation for all activities
  • Provides two game modes
    • Local mode
    • Online mode
  • Allows game configuration
    • Custom number of players
    • Custom number of rounds
  • Gathers random words through the Wordnik API
  • Displays a canvas for the players to draw and guess
  • Displays a result screen where all the iterations of the board are shown
  • Supports online matchmaking through Firestore
    • Lists all the available lobbies
    • Possibility to create and join lobbies
    • Lists the players in a lobby
    • Starts the game when the lobby is full
    • Cancels games when a player disconnects

Preview

Requirements

Before building and running the application, the following steps are necessary:

Wordnik API

As stated in the overview section, every game starts with a random word. The gathering of a random word is done by the use of the Wordnik API. In order to make requests to the Wordnik HTTP API an API Key is necessary. This API Key can be requested here.

Upon receiving the API Key, it has to be placed in the secret.properties file as the value of wordnikApiKey.

After setting the API Key in its respective place, the application will take care of reading the file and the API Key provided.

Firestore

In order for online matchmaking to function, there needs to be the configuration of a Firestore project in the context of an Android application.

To achieve this, follow the next steps:

  1. Create a Firebase project here
  2. In the center of the project overview page, click the Android icon or Add app to launch the setup workflow
  3. Enter your app's package name in the Android package name field (If unchanged, the package name is edu.isel.pdm.li51xd.g08.drag)
  4. Click Register app
  5. Click Download google-services.json to obtain your Firebase Android config file (google-services.json)
  6. Move the config file (google-services.json) into the module (app-level) directory of the app (here)
  7. Create a Firestore database for the project, making sure there is permission to read/write data

A more detailed guide is available here.

Credits

This application was developed for the Mobile Device Programming class (5th semester) at ISEL.

Developed by:

About

DrawAndGuess is a casual and creative local/online multiplayer draw and guessing game for Android.

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages