ichigolatte版 海水浴wave の画面表示をpancake で表示してみました。
かなり海の雰囲気になったので楽しんでください!
変更履歴
181007 効果音をbeepからpancakeのサウンドに変更。女の子のポーズを波に押されているときはバンザイに変更しました。
181014 波に押されているときはキー操作無効にしました。一回さわったときのパラソルの戻る量を少なくしました。ゲームオーバーでサウンドを鳴らすようにしました。

//WAVE LATTE&PANCAKE VER
var w=new Array(15);
var x,y;
var px,py;
var i,s;
x=7;y=4;px=16;i=0;
while(i<15){
w[i]=0;
i=i+1;
}
function snd(s0,s1){
uart(0x80,0x0b,0x09,4,s0,5,s1,4,255,5,255);
}
function spc(i,ch){
uart(0x80,0x05,0x07,i,ch);
}
function spm(i,cx,cy){
uart(0x80,0x06,0x08,i,cx,cy);
}
function cw(i,wt){
var j;
j=i*2;
if(w[j+1]==0){
if(rnd(10)>8){
w[j+1]=-rnd(2)-1;
w[j]=14;
}
}else{
if(wt%w[j+1]==0){
w[j]=w[j]-(w[j+1]<0)+(w[j+1]>0);
if(w[j]<1){
w[j+1]=-w[j+1];
}
if(w[j]>14){
w[j+1]=0;
spc(i,0xff);
}
}
}
}
function prw(i){
var j;
j=i*2;
var lp=0;
var dw;
if(i>0){
dw=w[j]-w[j-2];
if(dw*dw<2){
lp=lp+1;
}
if(i==py){
dw=w[j]-px;
if(dw*dw<2){
lp=lp+1;
}
}
}
if(i<7){
dw=w[j]-w[j+2];
if(dw*dw<2){
lp=lp+1;
}
if(i+2==py){
dw=w[j]-px;
if(dw*dw<2){
lp=lp+1;
}
}
}
if((w[j]==x)*(i+1==y)*(lp>0)){
snd(14,3+lp*(rnd(2)+1));
spc(9,0x08);
x=x+(w[j+1]>0)-(w[j+1]<0);
s=s+lp;
w[14]=w[14]+1;
lc(9,7);
log(s);
lc(16,7);
log("やっほー!");
}
if(lp<1){
spc(i,0x53);
}
if(lp==1){
spc(i,0x5b);
}
if(lp>1){
spc(i,0x30);
}
spm(i,w[j]*5,i*5+5);
}
function me(){
var k;
if(w[14]<1){
k=inkey();
}else{
k=0;
}
if(k!=0){
lc(16,7);
log(" ");
spc(9,7);
}
x=x+(x<14)*(k==29)-(x>0)*(k==28);
y=y+(y<7)*(k==31)-(y>1)*(k==30);
spm(9,x*5,y*5);
}
function pal(){
if((px==x)*(py==y)){
px=px+6;
spm(8,px*5+2,py*5);
}
if(px>14){
py=rnd(7)+1;
}
if((px>-1)*(rnd(7)==0)){
px=px-1;
spc(8,0x4e);
spm(8,px*5+2,py*5);
}
if(px<0){
lc(8,11);
log("は゜らそるとんし゛ゃった!\n");
snd(9,1);
sleep(1000);
snd(255,255);
break();
}
}
function main(){
cls();
uart("PC SPRITE START 04\n");
spc(9,0x07);
spm(9,x*5,y*5);
s=0;
lc(7,7);
log("S 0");
var wt=0;
while(1){
i=0;
while(i<7){
cw(i,wt);
if(w[i*2+1]!=0){
prw(i);
}
i=i+1;
}
me();
w[14]=0;
wt=(wt+1)%3;
sleep((s<1001)*(100-s/10));
snd(255,255);
pal();
}
}
main();