Skip to content

Commit

Permalink
work in makecode v2
Browse files Browse the repository at this point in the history
change FONTS data array, work in makecode v2.
  • Loading branch information
shaoziyang committed May 12, 2020
1 parent fe70fcc commit d622963
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 141 deletions.
152 changes: 12 additions & 140 deletions main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,138 +27,9 @@ enum SCROLL_ROTATE {
SR_270
}

const FONTS = hex`00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002020200020A0A0000000A1F0A1F0A0E130E190E13090412190609060916020200000004020202040204040402000A040A0000040E0400000000040200000E0000000000020010080402010609090906040604040E070806010F0F080409060C0A090F081F010F100F08040E110E1F080402010E110E110E0E110E0402000200020000040004020804020408000E000E0002040804020E110C00040E1115190606090F090907090709070E0101010E07090909070F0107010F0F010701010E0119110E09090F090907020202071F080809060905030509010101010F111B151111111315191106090909060709070101060909060C07090709110E010608071F0404040409090909061111110A041111151B110909060909110A0404040F0402010F0E0202020E01020408100E0808080E040A000000000000001F0204000000000E09091E0101070907000E01010E08080E090E060907010E0C020702020E090E08060101070909020002020208000808060105030509020202020C001B151111000709090900060909060007090701000E090E08000E010101000C02040302020E021C000909091E0011110A04001111151B000906060900110A0403000F04020F0C0406040C0202020202030206020300000618000000000000`;
//% weight=20 color=#Ffbc11 icon="T" block="ScrollText"
namespace ScrolText {
let FONTS = [
[0x00, 0x00, 0x00, 0x00, 0x00], //0:
[0x00, 0x00, 0x00, 0x00, 0x00], //1:
[0x00, 0x00, 0x00, 0x00, 0x00], //2:
[0x00, 0x00, 0x00, 0x00, 0x00], //3:
[0x00, 0x00, 0x00, 0x00, 0x00], //4:
[0x00, 0x00, 0x00, 0x00, 0x00], //5:
[0x00, 0x00, 0x00, 0x00, 0x00], //6:
[0x00, 0x00, 0x00, 0x00, 0x00], //7:
[0x00, 0x00, 0x00, 0x00, 0x00], //8:
[0x00, 0x00, 0x00, 0x00, 0x00], //9:
[0x00, 0x00, 0x00, 0x00, 0x00], //10:
[0x00, 0x00, 0x00, 0x00, 0x00], //11:
[0x00, 0x00, 0x00, 0x00, 0x00], //12:
[0x00, 0x00, 0x00, 0x00, 0x00], //13:
[0x00, 0x00, 0x00, 0x00, 0x00], //14:
[0x00, 0x00, 0x00, 0x00, 0x00], //15:
[0x00, 0x00, 0x00, 0x00, 0x00], //16:
[0x00, 0x00, 0x00, 0x00, 0x00], //17:
[0x00, 0x00, 0x00, 0x00, 0x00], //18:
[0x00, 0x00, 0x00, 0x00, 0x00], //19:
[0x00, 0x00, 0x00, 0x00, 0x00], //20:
[0x00, 0x00, 0x00, 0x00, 0x00], //21:
[0x00, 0x00, 0x00, 0x00, 0x00], //22:
[0x00, 0x00, 0x00, 0x00, 0x00], //23:
[0x00, 0x00, 0x00, 0x00, 0x00], //24:
[0x00, 0x00, 0x00, 0x00, 0x00], //25:
[0x00, 0x00, 0x00, 0x00, 0x00], //26:
[0x00, 0x00, 0x00, 0x00, 0x00], //27:
[0x00, 0x00, 0x00, 0x00, 0x00], //28:
[0x00, 0x00, 0x00, 0x00, 0x00], //29:
[0x00, 0x00, 0x00, 0x00, 0x00], //30:
[0x00, 0x00, 0x00, 0x00, 0x00], //31:
[0x00, 0x00, 0x00, 0x00, 0x00], //32:
[0x02, 0x02, 0x02, 0x00, 0x02], //33: !
[0x0A, 0x0A, 0x00, 0x00, 0x00], //34: "
[0x0A, 0x1F, 0x0A, 0x1F, 0x0A], //35: #
[0x0E, 0x13, 0x0E, 0x19, 0x0E], //36: $
[0x13, 0x09, 0x04, 0x12, 0x19], //37: %
[0x06, 0x09, 0x06, 0x09, 0x16], //38: &
[0x02, 0x02, 0x00, 0x00, 0x00], //39: '
[0x04, 0x02, 0x02, 0x02, 0x04], //40: (
[0x02, 0x04, 0x04, 0x04, 0x02], //41: )
[0x00, 0x0A, 0x04, 0x0A, 0x00], //42: *
[0x00, 0x04, 0x0E, 0x04, 0x00], //43: +
[0x00, 0x00, 0x00, 0x04, 0x02], //44: ,
[0x00, 0x00, 0x0E, 0x00, 0x00], //45: -
[0x00, 0x00, 0x00, 0x02, 0x00], //46: .
[0x10, 0x08, 0x04, 0x02, 0x01], //47: /
[0x06, 0x09, 0x09, 0x09, 0x06], //48: 0
[0x04, 0x06, 0x04, 0x04, 0x0E], //49: 1
[0x07, 0x08, 0x06, 0x01, 0x0F], //50: 2
[0x0F, 0x08, 0x04, 0x09, 0x06], //51: 3
[0x0C, 0x0A, 0x09, 0x0F, 0x08], //52: 4
[0x1F, 0x01, 0x0F, 0x10, 0x0F], //53: 5
[0x08, 0x04, 0x0E, 0x11, 0x0E], //54: 6
[0x1F, 0x08, 0x04, 0x02, 0x01], //55: 7
[0x0E, 0x11, 0x0E, 0x11, 0x0E], //56: 8
[0x0E, 0x11, 0x0E, 0x04, 0x02], //57: 9
[0x00, 0x02, 0x00, 0x02, 0x00], //58: :
[0x00, 0x04, 0x00, 0x04, 0x02], //59: ;
[0x08, 0x04, 0x02, 0x04, 0x08], //60: <
[0x00, 0x0E, 0x00, 0x0E, 0x00], //61: =
[0x02, 0x04, 0x08, 0x04, 0x02], //62: >
[0x0E, 0x11, 0x0C, 0x00, 0x04], //63: ?
[0x0E, 0x11, 0x15, 0x19, 0x06], //64: @
[0x06, 0x09, 0x0F, 0x09, 0x09], //65: A
[0x07, 0x09, 0x07, 0x09, 0x07], //66: B
[0x0E, 0x01, 0x01, 0x01, 0x0E], //67: C
[0x07, 0x09, 0x09, 0x09, 0x07], //68: D
[0x0F, 0x01, 0x07, 0x01, 0x0F], //69: E
[0x0F, 0x01, 0x07, 0x01, 0x01], //70: F
[0x0E, 0x01, 0x19, 0x11, 0x0E], //71: G
[0x09, 0x09, 0x0F, 0x09, 0x09], //72: H
[0x07, 0x02, 0x02, 0x02, 0x07], //73: I
[0x1F, 0x08, 0x08, 0x09, 0x06], //74: J
[0x09, 0x05, 0x03, 0x05, 0x09], //75: K
[0x01, 0x01, 0x01, 0x01, 0x0F], //76: L
[0x11, 0x1B, 0x15, 0x11, 0x11], //77: M
[0x11, 0x13, 0x15, 0x19, 0x11], //78: N
[0x06, 0x09, 0x09, 0x09, 0x06], //79: O
[0x07, 0x09, 0x07, 0x01, 0x01], //80: P
[0x06, 0x09, 0x09, 0x06, 0x0C], //81: Q
[0x07, 0x09, 0x07, 0x09, 0x11], //82: R
[0x0E, 0x01, 0x06, 0x08, 0x07], //83: S
[0x1F, 0x04, 0x04, 0x04, 0x04], //84: T
[0x09, 0x09, 0x09, 0x09, 0x06], //85: U
[0x11, 0x11, 0x11, 0x0A, 0x04], //86: V
[0x11, 0x11, 0x15, 0x1B, 0x11], //87: W
[0x09, 0x09, 0x06, 0x09, 0x09], //88: X
[0x11, 0x0A, 0x04, 0x04, 0x04], //89: Y
[0x0F, 0x04, 0x02, 0x01, 0x0F], //90: Z
[0x0E, 0x02, 0x02, 0x02, 0x0E], //91: [
[0x01, 0x02, 0x04, 0x08, 0x10], //92: \
[0x0E, 0x08, 0x08, 0x08, 0x0E], //93: ]
[0x04, 0x0A, 0x00, 0x00, 0x00], //94: ^
[0x00, 0x00, 0x00, 0x00, 0x1F], //95: _
[0x02, 0x04, 0x00, 0x00, 0x00], //96: `
[0x00, 0x0E, 0x09, 0x09, 0x1E], //97: a
[0x01, 0x01, 0x07, 0x09, 0x07], //98: b
[0x00, 0x0E, 0x01, 0x01, 0x0E], //99: c
[0x08, 0x08, 0x0E, 0x09, 0x0E], //100: d
[0x06, 0x09, 0x07, 0x01, 0x0E], //101: e
[0x0C, 0x02, 0x07, 0x02, 0x02], //102: f
[0x0E, 0x09, 0x0E, 0x08, 0x06], //103: g
[0x01, 0x01, 0x07, 0x09, 0x09], //104: h
[0x02, 0x00, 0x02, 0x02, 0x02], //105: i
[0x08, 0x00, 0x08, 0x08, 0x06], //106: j
[0x01, 0x05, 0x03, 0x05, 0x09], //107: k
[0x02, 0x02, 0x02, 0x02, 0x0C], //108: l
[0x00, 0x1B, 0x15, 0x11, 0x11], //109: m
[0x00, 0x07, 0x09, 0x09, 0x09], //110: n
[0x00, 0x06, 0x09, 0x09, 0x06], //111: o
[0x00, 0x07, 0x09, 0x07, 0x01], //112: p
[0x00, 0x0E, 0x09, 0x0E, 0x08], //113: q
[0x00, 0x0E, 0x01, 0x01, 0x01], //114: r
[0x00, 0x0C, 0x02, 0x04, 0x03], //115: s
[0x02, 0x02, 0x0E, 0x02, 0x1C], //116: t
[0x00, 0x09, 0x09, 0x09, 0x1E], //117: u
[0x00, 0x11, 0x11, 0x0A, 0x04], //118: v
[0x00, 0x11, 0x11, 0x15, 0x1B], //119: w
[0x00, 0x09, 0x06, 0x06, 0x09], //120: x
[0x00, 0x11, 0x0A, 0x04, 0x03], //121: y
[0x00, 0x0F, 0x04, 0x02, 0x0F], //122: z
[0x0C, 0x04, 0x06, 0x04, 0x0C], //123: {
[0x02, 0x02, 0x02, 0x02, 0x02], //124: |
[0x03, 0x02, 0x06, 0x02, 0x03], //125: }
[0x00, 0x00, 0x06, 0x18, 0x00], //126: ~
[0x00, 0x00, 0x00, 0x00, 0x00] //127:
]
let img: Image = null
img = images.createImage(`
. . . . .
Expand All @@ -168,15 +39,16 @@ namespace ScrolText {
. . . . .
`)

function _Rotate(font: number[], rotate: SCROLL_ROTATE) {
function _Rotate(c: number, rotate: SCROLL_ROTATE) {
let m: number[][] = [
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]
]
let r: number[] = [font[0], font[1], font[2], font[3], font[4]]
//let r: number[] = [font[0], font[1], font[2], font[3], font[4]]
let r: number[] = [FONTS[c * 5], FONTS[c * 5 + 1], FONTS[c * 5 + 2], FONTS[c * 5 + 3], FONTS[c * 5 + 4]]
switch (rotate) {
case SCROLL_ROTATE.SR_0:
return r;
Expand Down Expand Up @@ -251,8 +123,8 @@ namespace ScrolText {
switch (dir) {
case SCROLL_DIR.LEFT:
for (let i = 0; i < L; i++) {
a = _Rotate(FONTS[s.charCodeAt(i)], rotate)
b = _Rotate(FONTS[s.charCodeAt(i + 1)], rotate)
a = _Rotate(s.charCodeAt(i), rotate)
b = _Rotate(s.charCodeAt(i + 1), rotate)
let c: number[] = [0, 0, 0, 0, 0]
for (let j = 0; j < 5; j++) {
for (let k = 0; k < 5; k++)
Expand All @@ -264,8 +136,8 @@ namespace ScrolText {
break;
case SCROLL_DIR.RIGHT:
for (let i = 0; i < L; i++) {
a = _Rotate(FONTS[s.charCodeAt(i)], rotate)
b = _Rotate(FONTS[s.charCodeAt(i + 1)], rotate)
a = _Rotate(s.charCodeAt(i), rotate)
b = _Rotate(s.charCodeAt(i + 1), rotate)
let c: number[] = [0, 0, 0, 0, 0]
for (let j = 0; j < 5; j++) {
for (let k = 0; k < 5; k++)
Expand All @@ -277,8 +149,8 @@ namespace ScrolText {
break;
case SCROLL_DIR.UP:
for (let i = 0; i < L; i++) {
a = _Rotate(FONTS[s.charCodeAt(i)], rotate)
b = _Rotate(FONTS[s.charCodeAt(i + 1)], rotate)
a = _Rotate(s.charCodeAt(i), rotate)
b = _Rotate(s.charCodeAt(i + 1), rotate)
let c: number[] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
for (let j = 0; j < 5; j++) {
c[j] = a[j]
Expand All @@ -293,8 +165,8 @@ namespace ScrolText {
break;
case SCROLL_DIR.DOWN:
for (let i = 0; i < L; i++) {
a = _Rotate(FONTS[s.charCodeAt(i)], rotate)
b = _Rotate(FONTS[s.charCodeAt(i + 1)], rotate)
a = _Rotate(s.charCodeAt(i), rotate)
b = _Rotate(s.charCodeAt(i + 1), rotate)
let c: number[] = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
for (let j = 0; j < 5; j++) {
c[j] = a[j]
Expand Down
2 changes: 1 addition & 1 deletion pxt.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "ScrollText",
"version": "1.2.0",
"version": "1.4.0",
"description": "makecode ScrollText Package for micro:bit, display ScrollText in different direction, rotation and speed.",
"icon": "./static/libs/tropic.png",
"license": "MIT",
Expand Down

0 comments on commit d622963

Please sign in to comment.