Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n 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;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

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

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

The Story

This is my first useful Android project. I made it for my daughter, after I learned "just enough" about Android to get started. I can't say this is my best work, but it's a nice game and it is effective - she plays it and learns through it. When we started she was about 3 years old and the game was teaching her to match colors and shapes. Then I added some Hebrew letters and words, and she learned from that. Then I added English letters and words and she's learning from that. She's now almost 7 years old. The audio recordings are her voices.

The Game

The game itself is an implementation of the well known (at least in Israel) educational board game called "Ma Bamishbetzet", which is Hebrew for "What's in the square?". I named my project Matrix, coz it sounds cooler... But essentially this game is a game of fitting things into the right place in the matrix.

Technical Details

I'm using Java with Eclipse, so far using Android SDK version from 2013 - I haven't upgraded since I started the project. I am using the app on my Nexus 5X (Nougat) and also on my Nexus 10 (Kit-Kat?). The addition of the images seems to increase the size of the app so my emulator fails to load it at the moment. I picked the images at random and didn't bother about their size, maybe I should. But anyway, on real devices it works, so I guess it's not that big.

Known Issues

  1. When orientation changes, the game is reset
  2. My young son is able (and happy) to pull cards out of the screen so that they cannot be recovered.

About

An educational Android game for kids of 3-8 years

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages