Enjoy programming more!
Kidspod is a post site which supports young programmers.
First step to join us.
Register as a member
For members

2020/01/02 16:15:37

MixJuice GET URL : kidspod.club/mj/936

百人一首リーダーlatte、-ice版、要EEPROM

明けましておめでとうございます。
百人一首をichigolatteで読み上げます。
ichigo-iceとEEPROMが必要です。
百人一首全部の発音はメモリに入らないので事前にEEPROMに百首分の発音記号を記録しておきます。
EEPROMの0~63の任意の場所で、連続した7つのスロットに順に発音記号を記録してください。
次にプログラムのfunction loop(){の次の行の終りの方のEEP=32;の32の数字を、7スロットの一番小さい番号に書き換えることで保存したスロットを指定できます。

プログラムはランダムの順番で発音記号データーをEEPROMから読み取って読み上げます。
100首分の順番を決めるために、画面の上の方に100文字表示した後、ランダムに並べ替えて順番を決めています。プログラムは画面の文字を順番に読み取った結果に従って何番目の句を読むか決めてています。

上の句でストップし、何かキーを押すとタイムを表示して下の句を読みます。
下の句でまたストップするので、何かキーを押すと次の句を読みます。
読んでいる途中でもキーは有効です。
ランダムに100首読んだら終了です。
かるた大会に向けて練習しましょう!

SOURCE CODE

##メインプログラム##
//100NIN1SYU
 function eer(d,h,l){
var n;
i2cw(d,h,l);
sleep(10);
i2cr(d,n);
return n;
 }
 function read(adrs){
var d=0x50|(((adrs>>16)&1)<<2);
var h=(adrs&0xff00)>>8;
var l=adrs&0xff;
var v=eer(d,h,l);
  while(v!=58){
i2cw(46,v);
adrs=adrs+1;
d=0x50|(((adrs>>16)&1)<<2);
h=(adrs&0xff00)>>8;
l=adrs&0xff;
v=eer(d,h,l);
  }
 }
function ra(){
i2cw(46,13);
var ra;
i2cr(46,ra);
 while(ra!=62){
  if(inkey()){
i2cw(46,36);
break;
  }
 }
}

 function loop(){
var no,adrs,i=0,s,cs,t,dt,EEP=32;
  while(i<100){
s=mem("s")+i;
cs=mem(s);
no=cs-128;
adrs=no*128+2048*EEP+2;
lc(11,10);
log(i+1,"かいせん");
lc(11,12);
log("No "no+1,"  ");
t=tick();
read(adrs);
ra();
dt=(tick()-t)/100;
lc(10,14);
log(dt/10,".",dt%10,"ひ゛ょう");
adrs=no*128+2048*EEP+49;
read(adrs);
ra();
i=i+1;
lc(10,14);
log("         ");
  }
 }
 function mko(){
var i=0,s;
s=mem("s");
  while(i<100){
mem(s+i,128+i);
i=i+1;
  }
var rn,cs,cs2;
i=0;
  while(i<100){
cs=mem(s+i)
rn=rnd(100);
cs2=mem(s+rn);
mem(s+rn,cs);
mem(s+i,cs2);
i=i+1;
  }
 }

cls();
mko();
lc(9,6);
log("HIT ANY KEY");
loop();

##1~16首##
//a'kinotano- karihono/iono,to'mao/ara'mi-:::::::wa'gakoromodewa-,tu'yuni/nuretutu-::::::::::::::::::::::::::::::::::::::::::::
//ha'rusugite- na'tukinikerashi-,shirotaeno-:::::koromoho'sucho-,a'mano/kaguyama-::::::::::::::::::::::::::::::::::::::::::::::
//ashibikino- yama'dorinoono,shidariono-:::::::::naganagashiyoo-,hitorikamonenn-:::::::::::::::::::::::::::::::::::::::::::::::
//tagonourani- uchiidetemireba,shirotaeno-:::::::fu'jinotakaneni-,yuki'wa/furitutu-::::::::::::::::::::::::::::::::::::::::::::
//okuyamani- mo'miji/fumiwake,nakushikano-:::::::ko'e/kikutokizo,a'kiwakanashiki-::::::::::::::::::::::::::::::::::::::::::::::
//kasasagino- wataseruhashini,okushimo'no-:::::::si'rokio/mi'reba,yo'zo/fuke'ni/ke'ru-:::::::::::::::::::::::::::::::::::::::::
//amanohara- furisakemireba,ka'suganaru-:::::::::mikasanoyamani,i'desi/tuki'kamo-::::::::::::::::::::::::::::::::::::::::::::::
//wa'gaiowa- miyakonotatumi,shika'zo/su'mu-::::::yo'oujiyamato,hitowayu-nari-::::::::::::::::::::::::::::::::::::::::::::::::::
//hana'noirowa- uturinikerina,itadurani-:::::::::wa'gami/yo'ni/fu'ru,nagamesesimani-:::::::::::::::::::::::::::::::::::::::::::
//koreyakono- yuku'mo/kae'rumo,waka'retewa-::::::siru'mo/sira'numo,o-sakanoseki-:::::::::::::::::::::::::::::::::::::::::::::::
//watanohara- yasosimakakete,kogiidenuto-::::::::hito'niwatugeyo,a'mano/turibune-::::::::::::::::::::::::::::::::::::::::::::::
//amatukaze- ku'mono/kayoiji,fukitojiyo-:::::::::oto'meno/su'gata,si'basi/todomen-:::::::::::::::::::::::::::::::::::::::::::::
//tukubaneno- mi'neyori/otu'ru,minano'gawa-::::::ko'izo/tumo'rite,futi'to/narinuru-::::::::::::::::::::::::::::::::::::::::::::
//michinokuno- shino'bu/mojizuri,ta're/yue'ni-:::mida're/some'nishi,wa're/narana'kuni-:::::::::::::::::::::::::::::::::::::::::
//kimigatame- ha'runo/no'niidete,wa'kana/tumu-:::wa'ga/koro'modeni,yuki'wa/furitutu-:::::::::::::::::::::::::::::::::::::::::::
//tachiwakare- i'nabano/yama'no,minenioru-:::::::ma'tutoshi/ki'kaba,i'ma/kaerikon-:::::::::::::::::::::::::::::::::::::::::::::

##17~32首##
//chihayaburu- kamiyomo/kikazu,tatutagawa-:::::::karakurenaini,midukukurutowa-:::::::::::::::::::::::::::::::::::::::::::::::::
//suminoeno- kishi'ni/yorunami,yoru'/sa'eya-:::::yume'no/kayo'iji,hitomeyokuran-:::::::::::::::::::::::::::::::::::::::::::::::
//naniwagata- miji'kaki/a'shino,fushinomamo-:::::awa'de/konoyoo,su'gu/shite'yotoya-::::::::::::::::::::::::::::::::::::::::::::
//wabinureba- imahata/onaji,naniwanaru-::::::::::mio/tukushitemo,awantozoomo-::::::::::::::::::::::::::::::::::::::::::::::::::
//i'ma/ko'nnto- iisi/bakarini,nagatukino-::::::::ariakeno/tuki'o,ma'ti/ide'turukana-:::::::::::::::::::::::::::::::::::::::::::
//fu'kukarani- a'kino/kusakino,siorureba-::::::::mube/yamakazeo,a'rasito/iuran-::::::::::::::::::::::::::::::::::::::::::::::::
//tuki'/mireba- chi'jini/mono'koso,kanasikere-:::wagami/hitotuno,a'kiniwa/aranedo-:::::::::::::::::::::::::::::::::::::::::::::
//konotabiwa- nusamo/toriaezu,tamukeyama-::::::::mo'mijino/nishiki,ka'mino/manimani-:::::::::::::::::::::::::::::::::::::::::::
//nanisiowaba- o-sakayamano,sanekadura-::::::::::hitoni/shirarede,kuru/yoshimogana-::::::::::::::::::::::::::::::::::::::::::::
//ogurayama- mi'neno/momijiba,koko'ro/a'raba-::::i'ma/hitotabino,miyuki/matanan-:::::::::::::::::::::::::::::::::::::::::::::::
//mikanohara- wakite/nagaruru,idumigawa-:::::::::itumikitoteka,ko'isi/karuran-:::::::::::::::::::::::::::::::::::::::::::::::::
//yamazatowa- fu'yuzo/sabisisa,masarikeru-:::::::hitomemo/kusa'mo,karento/omo'eba-:::::::::::::::::::::::::::::::::::::::::::::
//kokoroateni- ora'baya/ora'n,hatusimono-::::::::oki/madowaseru,shira'gikuno/hana-:::::::::::::::::::::::::::::::::::::::::::::
//ariakeno- turenaku/miesi,wakareyori-:::::::::::akatukibakari,u'ki/monowanasi-::::::::::::::::::::::::::::::::::::::::::::::::
//asaborake- ariakeno/tuki'to,mirumadeni-::::::::yo'shinono/satoni,fureru/shira'yuki-::::::::::::::::::::::::::::::::::::::::::
//yamagawani- kazeno/kaketaru,sigaramiwa-::::::::nagaremo/aenu,momiji/na'ri/ke'ri::::::::::::::::::::::::::::::::::::::::::::::
//hisakatano- hikarino/doke'ki,ha'runo/hi'ni-::::shi'du/kokoronaku,hana'no/chiruran-:::::::::::::::::::::::::::::::::::::::::::

##33~48首##
//hisakatano- hikarino/doke'ki,ha'runo/hi'ni-::::shi'du/kokoronaku,hana'no/chiruran-:::::::::::::::::::::::::::::::::::::::::::
//tareokamo- siru/hitonisen,takasagono-::::::::::ma'tumo/mukasino,to'mo/narana'kuni-:::::::::::::::::::::::::::::::::::::::::::
//hito'waiza kokoromo/shirazu,furusatowa-::::::::hana'zo/mukashino,ka'ni/nio'ikeru-::::::::::::::::::::::::::::::::::::::::::::
//natu'no/yo'wa mada/yoinagara,akenuruo-:::::::::ku'mono/idukoni,tuki'yadoru/ra'n-:::::::::::::::::::::::::::::::::::::::::::::
//siratuyuni- kazeno/fukisiku,a'kino/no'wa-::::::turanukitomenu,tama'zo/chi'rikeru-::::::::::::::::::::::::::::::::::::::::::::
//wasuraruru- mioba/omo'wazu,chika'itesi:::::::::hito'no/i'nochino,o'shikumo/arukana-::::::::::::::::::::::::::::::::::::::::::
//asaju-no- ononosinohara,sinoburedo-::::::::::::amarite/na'doka,hito'no/koisiki-::::::::::::::::::::::::::::::::::::::::::::::
//sinoburedo- iro'ni/idenikeri,waga/ko'iwa-::::::monoya/omouto,hito'no/toumade-::::::::::::::::::::::::::::::::::::::::::::::::
//koisucho- waganawa/madaki,tachinikeri-:::::::::hitoshirezukoso,omoisomesika-:::::::::::::::::::::::::::::::::::::::::::::::::
//chigi'rikina katamini/sodeo,simoritutu-::::::::suenomatuyama,nami/kosaji/towa-:::::::::::::::::::::::::::::::::::::::::::::::
//aimiteno- nochino/kokoroni,kurabureba-:::::::::mukasiwa/monoo,omowazarikeri-:::::::::::::::::::::::::::::::::::::::::::::::::
//aukotono- taetesinakuwa,nakanakuni-::::::::::::hitoomo/miomo,uramizaramasi-::::::::::::::::::::::::::::::::::::::::::::::::::
//a'waretomo- iubeki/hitowa,omooede-:::::::::::::mino/itadurani,narinubekikana-::::::::::::::::::::::::::::::::::::::::::::::::
//yuranotoo- wataru/funabito,kajiotae-:::::::::::yukuemo/siranu,ko'ino/michikana-::::::::::::::::::::::::::::::::::::::::::::::
//yaemugura- sigereru/ya'dono,sabisikini-:::::::: hito'koso/miene,a'kiwa/kinikeri-:::::::::::::::::::::::::::::::::::::::::::::
//kazeo/itami- iwautu/namino,onorenomi-::::::::::kuda'kete/monoo,omoukorokana-:::::::::::::::::::::::::::::::::::::::::::::::::

##49~64首##
//mikaki/moriejino/takuhino,yo'wa/moete::::::::::hiruwa/kietutu,monookoso/omo'e-:::::::::::::::::::::::::::::::::::::::::::::::
//kimigatame- osikarazarisi,i'nochisae-::::::::::nagakumoganato,omoikerukana-::::::::::::::::::::::::::::::::::::::::::::::::::
//kakutodani- eyawaibukino,sasimokusa::::::::::::sasimosirajina,moyuru/omo'io-:::::::::::::::::::::::::::::::::::::::::::::::::
//akenureba- kururumonotowa,sirinagara-::::::::::na'o/urameshiki,asaborakekana-::::::::::::::::::::::::::::::::::::::::::::::::
//nagekitutu- hitorinuruyono,akurumawa-::::::::::ikani/hisashiki,monotokawasiru-:::::::::::::::::::::::::::::::::::::::::::::::
//wasurejino- yukusuemadewa,ka'takereba-:::::::::kyo'-o/kagirino,i'nochitomogana-::::::::::::::::::::::::::::::::::::::::::::::
//taki'no/oto'wa- ta'ete/hisa'siku/narinu'redo-:: nako'so/nagarete,na'o/kiko'ekere-::::::::::::::::::::::::::::::::::::::::::::
//arazaran- konoyono/hokano,omoideni-::::::::::::i'ma/hito'dabino,aukotomogana-::::::::::::::::::::::::::::::::::::::::::::::::
//meguriaite- misiya/soretomo,wakanumani-::::::::ku'moga/kurenisi,yowano/tuki'kana-::::::::::::::::::::::::::::::::::::::::::::
//arimayama- inano/sakihara,kaze'/fu'keba-:::::::idesoyohitoo,wasureyawasuru-::::::::::::::::::::::::::::::::::::::::::::::::::
//yasurawade- nenamasi/monoo,sa'yo/fu'kete-::::::katabu'ku/ma'deno,tuki'o/mi'sikana-:::::::::::::::::::::::::::::::::::::::::::
//ohoeyama- ikunono/michino,to'okereba-::::::::::ma'da/fumi'momizu,a'mano/hashidate-:::::::::::::::::::::::::::::::::::::::::::
//inisieno- na'rano/miyakono,yaeza'kura::::::::::kyo'-/kokonoeni,nioinurukana-:::::::::::::::::::::::::::::::::::::::::::::::::
//yo'o/ko'mete torino/soranewa,haka'rutomo:::::::yo'ni/o-sakano,se'kiwayurusaji-:::::::::::::::::::::::::::::::::::::::::::::::
//i'mawatada- omoitaenan,toba'kario::::::::::::::hitodutena'rade,iu/yosimogana-::::::::::::::::::::::::::::::::::::::::::::::::
//asaborake- u'jino/kawagiri,taeda'eni-::::::::::arawa're/wata'ru se'zeno/ajirogi-:::::::::::::::::::::::::::::::::::::::::::::

##65~80首##
//urami/wabi- osanu/sodeda'ni,a'rumonoo-:::::::::ko'ini/kuchinan,na/ko'so/osikere-:::::::::::::::::::::::::::::::::::::::::::::
//morotomoni- a'wareto/omo'e,yamaza'kura:::::::::hanayori/hokani,siru/hitomo/nasi-:::::::::::::::::::::::::::::::::::::::::::::
//ha'runo/yo'no- yume/ba'karinaru,tamakurani-::::ka'inaku/tatamu,nako'so/o'sikere-:::::::::::::::::::::::::::::::::::::::::::::
//kokoronimo- a'rade/ukiyoni,nagaraeba-::::::::::ko'ishikarubeki,yo'wano/tuki'kana-::::::::::::::::::::::::::::::::::::::::::::
//a'rasi/fu'ku mimurono/yama'no,momijibawa:::::::ta'tutano/kawa'no,ni'shiki/na'ri/ke'ri::::::::::::::::::::::::::::::::::::::::
//sabishisani- ya'doo/ta'chi/i'dete,nagamu'reba-:i'dukomo/onaji,a'kino/yu-gure:::::::::::::::::::::::::::::::::::::::::::::::::
//yu-sareba- ka'dotano/i'naba,otodurete-:::::::::a'sino/maroyani,aki'kazezo/fu'ku-:::::::::::::::::::::::::::::::::::::::::::::
//otoni/kiku- ta'kasino/hama'no,adanamiwa-:::::::kake'jiya/sodeno,nuremoko'sosure-:::::::::::::::::::::::::::::::::::::::::::::
//takasogono- o'noeno/sakura,saki'ni/ke'ri-::::::to'yamano/kasumi,tatazumo/aranan-:::::::::::::::::::::::::::::::::::::::::::::
//ukarikeru- hitoo/hatuseno,yamaorosiyo-:::::::::hagesikaretowa,inoranumono-:::::::::::::::::::::::::::::::::::::::::::::::::::
//chigiriokisi- sasemoga/tu'yuo,i'nochinite-:::::awarekotoshino,a'kimo/inumeri-::::::::::::::::::::::::::::::::::::::::::::::::
//watanohara- kogiidetemireba,hisakatano-::::::::kumoini/magau,okitu/shiranami-::::::::::::::::::::::::::::::::::::::::::::::::
//se'o/haya'mi- iwa'ni/seka'ruru,taki'gawano-::::waretemo/sue'ni,awa'ntozo/omo-::::::::::::::::::::::::::::::::::::::::::::::::
//awajisima- kayou/chi'dorino,naku'/ko'eni-::::::ikuyo/nezamenu,su'mano/sekimori-::::::::::::::::::::::::::::::::::::::::::::::
//aki'kazeni- tanabi'ku/ku'mono,taemayori-:::::::moreiduru/tuki'no,ka'geno/sayakesa-:::::::::::::::::::::::::::::::::::::::::::
//nagakaran- koko'romo/shirazu,kurokamino-:::::::mida'rete/ke'sawa,mono'-/ko'so/omo'e::::::::::::::::::::::::::::::::::::::::::

##81~96首##
//hototogisu- nakituru/katao,nagamureba-:::::::::ta'da/ariakeno,tuki'zo/noko'reru-:::::::::::::::::::::::::::::::::::::::::::::
//omo'i/wabi sa'temo/i'nochiwa,a'ru/monoo::::::::u'kini/tae'nuwa,na'mida/na'ri/ke'ri:::::::::::::::::::::::::::::::::::::::::::
//yononakayo- michikoso/nakere,omo'iiru-:::::::::yamano/okunimo,sikazo/nakunaru-:::::::::::::::::::::::::::::::::::::::::::::::
//nagaraeba- mata/konogoroya,sinobaren-::::::::::usitomishiyozo,imawa/ko'ishiki-:::::::::::::::::::::::::::::::::::::::::::::::
//yo'mo/sugara- monoomoukorowa,akeyarade-::::::::neyano/himasae,turenakarikeri-::::::::::::::::::::::::::::::::::::::::::::::::
//nageketote- tuki'ya/hamonoo,omowasuru-:::::::::kakochigaonaru,wa'ga/na'midakana-:::::::::::::::::::::::::::::::::::::::::::::
//murasameno- tu'yumo/ma'da/i'nu,ma'kino/ha'ni:::kiri/tachinoboru,a'kino/yu-gure:::::::::::::::::::::::::::::::::::::::::::::::
//naniwaeno- a'sino/karineno,hitoyo/yue-:::::::::mio'/tuku'shiteya,ko'i/watarubeki-::::::::::::::::::::::::::::::::::::::::::::
//tama'no/o'yo tae'naba/tae'ne,nagaraeba-::::::::sinobu'ru/kotono,yowa'rimozo/suru:::::::::::::::::::::::::::::::::::::::::::::
//misebayana- o'jimano/a'mano,sodeda'nimo-:::::::nurenizonuresi,iro'wa/kawarazu::::::::::::::::::::::::::::::::::::::::::::::::
//kirigirisu- naku'ya/shimoyono,samusironi-::::::koromokatasiki,hitorikamonen-:::::::::::::::::::::::::::::::::::::::::::::::::
//wa'ga/sodewa sioini/mienu,okino/isino-:::::::::hitokoso/sirane,kawa'ku/mamonasi::::::::::::::::::::::::::::::::::::::::::::::
//yono'nakawa- tunenimo/gamona,nagisakogu-:::::::a'mano/obuneno,tunade/kanasimo-:::::::::::::::::::::::::::::::::::::::::::::::
//miyosinono- yamano/akikaze,sa'yo/fu'kete-::::::furu'sato/sa'muku,koromoutunari-::::::::::::::::::::::::::::::::::::::::::::::
//ookenaku- ukiyono/ta'mini,ooukana-:::::::::::::wa'ga/ta'tu/so'mani,sumizomeno/sode:::::::::::::::::::::::::::::::::::::::::::
//hana'/sasou,a'rasino/niwano,yuki/na'rade-::::::furiyukumonowa,wa'gami/na'ri/ke'ri::::::::::::::::::::::::::::::::::::::::::::

##97~100首##
//ko'nu/hitoo- matuhono/urano,yu-nagini-:::::::::yaku'ya/mo'shiono,mimo'/koga'retutu:::::::::::::::::::::::::::::::::::::::::::
//kaze/soyo'gu- na'rano/ogawano,yu-gurewa-:::::::misogizo/na'tuno,sirusi/na'ri/ke'ru:::::::::::::::::::::::::::::::::::::::::::
//hitomooshi- hitomouramesi,ajikinaku-:::::::::::yoo/omouyueni,mono/omoumiwa-::::::::::::::::::::::::::::::::::::::::::::::::::
//momoshikiya- furuki/nokibano,sinobunimo-:::::::na'o/amariaru,mukashi/na'ri/ke'ri:::::::::::::::::::::::::::::::::::::::::::::

COMMENT

Kidspod運営チーム
Kidspod運営チーム2020/01/23 09:37:07

おお! ついに百人一首練習プログラムが! プログラムのコーディングもそうですが、データも力作ですね。目指せ名人!