Sort kanas by AIUEO instead of AEIOU

pull/2779/head
pancake 2023-05-30 03:26:19 +02:00
parent 2b66f37045
commit 9a91595e41
4 changed files with 39 additions and 14 deletions

View File

@ -8,3 +8,4 @@
0.08: Speedup next/prev and fix autogenerated hiragana bitmaps 0.08: Speedup next/prev and fix autogenerated hiragana bitmaps
0.09: Optimize loading and rendering times, introduce transition animations 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.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 :?

View File

@ -1,14 +1,19 @@
# kanawatch # kanawatch
A simple watchface design with hiragana and katakana A simple watchface design perfect for learning hiragana and katakana.
cards for learning.
## 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 ## TODO
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 * Only render what needs to be repainted
0.04: Show a random kana every minute to improve learning * Dont redraw the widgets if not necessary
* Minigame to guess kata/hira phonem
## Author ## Author
@ -16,4 +21,5 @@ Written by pancake in 2022, maintained during 2023 and powered by insomnia
## Screenshots ## Screenshots
![hiragana and katakana](screenshot.png) ![katakana](screenshot.png)
![hiragana ](screenshot2.png)

View File

@ -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="), 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 kana = katakana.KA;
let scroll = 0; let scroll = 0;
const keys = Object.keys(katakana).sort(); // const keys = Object.keys(katakana).sort();
// console.log(keys);
let hiramode = false; let hiramode = false;
let curkana = 'KA'; let curkana = 'KA';
console.log("StartupTime: "+startupTime.diff()); console.log("StartupTime: "+startupTime.diff());
function next () { function next () {
const off = keys.indexOf(curkana); const off = keys.indexOf(curkana);
if (off !== -1 && off + 1 < keys.length) { if (off !== -1 && off + 1 < keys.length) {
@ -318,7 +328,7 @@ function hiraPush(d,dx) {
} }
zpos -= 0.04; zpos -= 0.04;
render(ohhmm); render(ohhmm);
setTimeout(paint, 5); setTimeout(paint, 100);
} }
setTimeout (paint, 5); setTimeout (paint, 5);
} }
@ -352,7 +362,7 @@ function hiraSwipe(d,dx, dostuff) {
return; return;
} }
if (dx) { if (dx) {
xpos += (4*d); xpos += (8*d);
} else { } else {
ypos -= (4*d); ypos -= (4*d);
} }
@ -405,5 +415,13 @@ g.clear(true);
Bangle.setUI('clock'); Bangle.setUI('clock');
Bangle.loadWidgets(); Bangle.loadWidgets();
Bangle.drawWidgets(); Bangle.drawWidgets();
// redraw widgets every 10 minutes
setInterval(function() {
// maybe not always necessary
Bangle.drawWidgets();
}, 1000 * 60 * 10);
tickWatch(); tickWatch();
setInterval(tickWatch, 1000 * 60); setInterval(tickWatch, 1000 * 60);

View File

@ -2,7 +2,7 @@
"id": "kanawatch", "id": "kanawatch",
"name": "Kanawatch", "name": "Kanawatch",
"shortName": "Kanawatch", "shortName": "Kanawatch",
"version": "0.10", "version": "0.11",
"type": "clock", "type": "clock",
"description": "Learn Hiragana and Katakana", "description": "Learn Hiragana and Katakana",
"icon": "app.png", "icon": "app.png",