From b166efc9124432a0917e876db75ef648c783bdeb Mon Sep 17 00:00:00 2001 From: fxiii Date: Sun, 11 Jul 2021 21:40:17 +0200 Subject: [PATCH] Magic 8 Ball Italiano : like Magic 8 Ball but in italian :D --- apps.json | 14 +++++++ apps/jbm8b_IT/ChangeLog | 1 + apps/jbm8b_IT/app-icon.js | 1 + apps/jbm8b_IT/app.js | 79 ++++++++++++++++++++++++++++++++++++++ apps/jbm8b_IT/app.png | Bin 0 -> 1548 bytes 5 files changed, 95 insertions(+) create mode 100644 apps/jbm8b_IT/ChangeLog create mode 100644 apps/jbm8b_IT/app-icon.js create mode 100644 apps/jbm8b_IT/app.js create mode 100644 apps/jbm8b_IT/app.png diff --git a/apps.json b/apps.json index a2ff7b571..ed49e19ac 100644 --- a/apps.json +++ b/apps.json @@ -2110,6 +2110,20 @@ { "name": "jbm8b.img", "url": "app-icon.js", "evaluate": true } ] }, + { + "id": "jbm8b_IT", + "name": "Magic 8 Ball Italiano", + "shortName": "Magic 8 Ball IT", + "icon": "app.png", + "description": "La palla predice il futuro", + "tags": "game", + "version": "0.03", + "allow_emulator":true, + "storage": [ + { "name": "jbm8b_IT.app.js", "url": "app.js" }, + { "name": "jbm8b_IT.img", "url": "app-icon.js", "evaluate": true } + ] + }, { "id": "BLEcontroller", "name": "BLE Customisable Controller with Joystick", "shortName": "BLE Controller", diff --git a/apps/jbm8b_IT/ChangeLog b/apps/jbm8b_IT/ChangeLog new file mode 100644 index 000000000..b7b783924 --- /dev/null +++ b/apps/jbm8b_IT/ChangeLog @@ -0,0 +1 @@ +0.01: Cloning Magic 8 Ball and make it speak italian \ No newline at end of file diff --git a/apps/jbm8b_IT/app-icon.js b/apps/jbm8b_IT/app-icon.js new file mode 100644 index 000000000..09bf032a6 --- /dev/null +++ b/apps/jbm8b_IT/app-icon.js @@ -0,0 +1 @@ +require("heatshrink").decompress(atob("mEwhBC/AGMrq2B1gAEwNWlYthq2s64AKGYIydFpoAEGLUrFqIADqxcXFqhiDFymBFy7GCF1owTRjCSVlYudeiGsF7/XlaNqSKBeP1mBwJxQMBReO1gaEleBMDBLN1hAC1hhBAoIwNCwQAGlZINqxvFGAIXOSBAXQN4hPBC5yQIVBxfBCAgvQSBC+NFAYRDMwJHOF654DqxkBYooALF6+sbIhkEF8Z3CRIWBR6AvXFAzvQF6wnIYQJgNd5AWNdoLoGBBAvPO5pfYH4IvUUwS/GVBzXBYCpHCq2s1mBDwKOWDwRgNPAwVVMCRLCwIABCZ6OJJSAATLxZgRACJeLAAMrFz9WFxiRgRpoADwIub1guQGDmsXhqSfRiL0G1jqkMRYxRwKLUGK2sFryVEq2B1gAEwNWFkIA/AH4A/AH4AQ")) \ No newline at end of file diff --git a/apps/jbm8b_IT/app.js b/apps/jbm8b_IT/app.js new file mode 100644 index 000000000..13ab3d39d --- /dev/null +++ b/apps/jbm8b_IT/app.js @@ -0,0 +1,79 @@ +const affirmative = [ + 'È certo.', + 'È decisamente\ncosì.', + 'Senza alcun\ndubbio.', + 'Sì,\nsenza dubbio.', + 'Ci puoi\ncontare.', + 'Da quanto\nvedo,\nsì.', + 'Molto\nprobabilmente.', + 'Le prospettive\nsono buone.', + 'Sì.', + 'I segni\nindicano\ndi sì.' +]; +const nonCommittal = [ + 'È difficile\ndirlo,\nprova di nuovo.', + 'Rifai la domanda\npiù tardi.', + 'Meglio non\nrisponderti\nadesso.', + 'Non posso\npredirlo ora.', + 'Concentrati e\nrifai la\ndomanda.' +]; +const negative = [ + 'Non ci\ncontare.', + 'La mia\nrisposta\nè no.', + 'Le mie\nfonti dicono\ndi no.', + 'Le prospettive\nnon sono\nbuone.', + 'È molto\ndubbio.' +]; +const title = 'Magic 8 Ball'; + +const answers = [affirmative, nonCommittal, negative]; + +function getRandomArbitrary(min, max) { + return Math.random() * (max - min) + min; +} + +function predict() { + // affirmative, negative or non-committal + let max = answers.length; + const a = Math.floor(getRandomArbitrary(0, max)); + // sets max compared to answer category + max = answers[a].length; + const b = Math.floor(getRandomArbitrary(0, max)); + // get the answer + const response = answers[a][b]; + return response; +} + +function draw(msg) { + // console.log(msg); + g.clear(); + E.showMessage(msg, title); +} + +function reply(button) { + const theButton = (typeof button === 'undefined' || isNaN(button)) ? 1 : button; + const timer = Math.floor(getRandomArbitrary(0, theButton) * 1000); + // Thinking... + draw('...'); + setTimeout('draw(predict());', timer); +} + +function ask() { + draw('Ponimi una\ndomanda\nSì/No e\ntocca lo\nschermo'); +} + +g.clear(); + +Bangle.loadWidgets(); +Bangle.drawWidgets(); +ask(); + +// Event Handlers + +Bangle.on('touch', (button) => reply(button)); + +setWatch(ask, BTN1, { repeat: true, edge: "falling" }); +setWatch(reply, BTN3, { repeat: true, edge: "falling" }); + +// Back to launcher +setWatch(Bangle.showLauncher, BTN2, { repeat: false, edge: "falling" }); \ No newline at end of file diff --git a/apps/jbm8b_IT/app.png b/apps/jbm8b_IT/app.png new file mode 100644 index 0000000000000000000000000000000000000000..24c3013de011db9c1517ed544e9d383f5c60378c GIT binary patch literal 1548 zcmeH_{WsGK9LK-L%+owW>~?OVSQ<5jdzFVG z7KTZRJWrN~OKhyo#XZ;1!5ArX5tskq{sH%M&g=6&?{nTieLn9rUvGD)hOq_!08md4 zSHEpNvV)rP_9l(0*KLau&ClH#sOsN6vu#wuusAFL)I8MOAcFxw8SwoP@3s?CQUZZM z%F4SrKP2nm6f%%wT+F9t*xz{ zo!zlx$L#IxF&K=aqocF4^O-Ye+}+)AI2<02_xJZF5C{PQ0YoB^L?V&Nh&d$!w&CScp%g@g*C@3f_EG#ZAE-5J~EiGlU z*=1#A<>loS6%`x~r?RrLy1JUn<<`{H)YjJ4)z!Uy`?jH>p|P>Csi~>Cxw)mKrM0!S zt*wp6<8^d&bar;~`TP$bK6G_;b$567^z`)h_V)Gl4Gatn4h{+g0-;biJUlECiNs>D zL?Rg(85tcN9UB`PA0MBXn2<`PQ&UsZ)6+9EGqba^b8~YtnQVT3eqmujE|)JZE-o!C zEiW&B{rdIWw{I&eD++~Tb#--ZZEbyhePd(e`}gmgo10r(Tib8_fBwq_1kdR=w{z+- z9sx7}FhK91^i-dZ002<7rz;lk;Wd^mxh!--q=Y>&&l(UI44!qv`yxh>c)U{^O1JFU z%a;}ljh)Wt4!yc(lI+jS(N5&_O}>~%hcC4sX#H*D+Vm)f7G{2Yve4IU+B&)Y z?$GYABWY+zFG-Kpm_z2WjDs}KYx^G4fTKz8{Q=y znAAd`uHOq9nnlG&5e52-Jn?}ZIE6l?!8crQIGwGipOq&~#_GtX zD~=*r(WQ3Ws}1WYw0Hk7s}L*Y_TFdz8p>hw=$GoNY8}NwHyK=%CDZoxj9q=&`O)F? zFYqmdD{5tmeB<-{!{ESspW6NiN0f4}>{GzaqJ-qY-0Ea~S=Wr@I@;&SMcbbb*IPJT z4e#>niaQQAnGzM)Fupi=8I*C?gtXV2ciZ28Vc~8;FCM25x-Kz6ck~n2)5~CQ#Dpt_ zdpH<_?oEccI&B%8cz^dN{vASx^s!Lxt{PbGrAhhdlpj&{sd6L#pDhOKv`zbaUMoJO QXs6wtZr-j{&ZOjj0hD%CN&o-= literal 0 HcmV?d00001