From 9a91595e416736273884ad6d02df3ae2189da66c Mon Sep 17 00:00:00 2001 From: pancake Date: Tue, 30 May 2023 03:26:19 +0200 Subject: [PATCH] Sort kanas by AIUEO instead of AEIOU --- apps/kanawatch/ChangeLog | 1 + apps/kanawatch/README.md | 22 ++++++++++++++-------- apps/kanawatch/app.js | 28 +++++++++++++++++++++++----- apps/kanawatch/metadata.json | 2 +- 4 files changed, 39 insertions(+), 14 deletions(-) diff --git a/apps/kanawatch/ChangeLog b/apps/kanawatch/ChangeLog index 1521bed73..a50406917 100644 --- a/apps/kanawatch/ChangeLog +++ b/apps/kanawatch/ChangeLog @@ -8,3 +8,4 @@ 0.08: Speedup next/prev and fix autogenerated hiragana bitmaps 0.09: Optimize loading and rendering times, introduce transition animations 0.10: Swipe up/down for Hiragana/Katakana, right/left for next/prev letter +0.11: Sort by 'AIUEO' instead of 'AEIOU', draw Widgets every minute :? diff --git a/apps/kanawatch/README.md b/apps/kanawatch/README.md index 87a9750b1..d13550f4d 100644 --- a/apps/kanawatch/README.md +++ b/apps/kanawatch/README.md @@ -1,14 +1,19 @@ # kanawatch -A simple watchface design with hiragana and katakana -cards for learning. +A simple watchface design perfect for learning hiragana and katakana. -## Changelog +* Interact with the interface using swipes +* Swipe up/down to switch between hiragana (H) and katakana (K) +* Swipe right/left to display the next or previous letter +* Tap to change accent color (always 24h, not configurable) +* Non-intrustive transition animations +* Low battery consumption -0.01: First release -0.02: Improve battery life, sprite resolution, fix launcher issue and unaligned text bug -0.03: Reduce code size, refresh once a minute and faster refresh -0.04: Show a random kana every minute to improve learning +## TODO + +* Only render what needs to be repainted +* Dont redraw the widgets if not necessary +* Minigame to guess kata/hira phonem ## Author @@ -16,4 +21,5 @@ Written by pancake in 2022, maintained during 2023 and powered by insomnia ## Screenshots -![hiragana and katakana](screenshot.png) +![katakana](screenshot.png) +![hiragana ](screenshot2.png) diff --git a/apps/kanawatch/app.js b/apps/kanawatch/app.js index 2aa5c2a3c..a81852b1b 100644 --- a/apps/kanawatch/app.js +++ b/apps/kanawatch/app.js @@ -131,16 +131,26 @@ WO: image(52, 49, "AAMf+AFDgP+Bgk/8AFDgYMM/gkD/4AC+EBAof/BkA5FhEAg45Cg/AgF/AQMBB N: image(54, 49, "AAMHAwsf8AGE/+AAocD/wTF+AGEv/ACZUP/ATKgP/CYv8Awk/IQgTBIQkHCYxCFCYxWTIQxWGFAhCBAwkPAwJCE/5KDCYQiBhhCBAwJlBn+Aj/+/49BDoP/8IDBgf8IQIDBKgUf/EPLAJUBv/gn/AFgKZCAIMHCIP4DQSXBAIIaC/+BCIIaBYwKZCLwIuBCYLRCFwIKBEYX/CYUfEYP4TIRACCYQ+BwZUBDwIYBOgITCRAQVCEIP//0BYISjB+CtDUYRNBAwQ5Bg7gDBQIA="), }; - +const keys = [ + "A","I","U","E","O", + "HA","HI","HU","HE","HO", + "KA","KI","KU","KE","KO", + "MA","MI","MU","ME","MO", + "NA","NI","NU","NE","NO", + "RA","RI","RU","RE","RO", + "SA","SI","SU","SE","SO", + "TA","TI","TU","TE","TO", + "WA","WO","YO","YU","N", + ]; let kana = katakana.KA; let scroll = 0; -const keys = Object.keys(katakana).sort(); +// const keys = Object.keys(katakana).sort(); +// console.log(keys); let hiramode = false; let curkana = 'KA'; console.log("StartupTime: "+startupTime.diff()); - function next () { const off = keys.indexOf(curkana); if (off !== -1 && off + 1 < keys.length) { @@ -318,7 +328,7 @@ function hiraPush(d,dx) { } zpos -= 0.04; render(ohhmm); - setTimeout(paint, 5); + setTimeout(paint, 100); } setTimeout (paint, 5); } @@ -352,7 +362,7 @@ function hiraSwipe(d,dx, dostuff) { return; } if (dx) { - xpos += (4*d); + xpos += (8*d); } else { ypos -= (4*d); } @@ -405,5 +415,13 @@ g.clear(true); Bangle.setUI('clock'); Bangle.loadWidgets(); Bangle.drawWidgets(); + +// redraw widgets every 10 minutes +setInterval(function() { + // maybe not always necessary + Bangle.drawWidgets(); +}, 1000 * 60 * 10); tickWatch(); setInterval(tickWatch, 1000 * 60); + + diff --git a/apps/kanawatch/metadata.json b/apps/kanawatch/metadata.json index 0a7fd8e4a..f3aaeae92 100644 --- a/apps/kanawatch/metadata.json +++ b/apps/kanawatch/metadata.json @@ -2,7 +2,7 @@ "id": "kanawatch", "name": "Kanawatch", "shortName": "Kanawatch", - "version": "0.10", + "version": "0.11", "type": "clock", "description": "Learn Hiragana and Katakana", "icon": "app.png",