home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 February
/
VPR9602A.ISO
/
ffilly
/
tamb_y_a
/
tamb_y_a.tfy
< prev
next >
Wrap
Text File
|
1995-10-01
|
4KB
|
198 lines
//作品情報
#info INAM "「リードタンバリンは君だ!(256色編)」"
#info ISBJ "絵合わせゲームです。"
#info IART "miya,HCA01236@niftyserve.or.jp"
#info ICOP " miya; Atsuko; 胡麻,JCC00325@niftyserve.or.jp ;河西 恒,KGH03570@niftyserve.or.jp"
#info GENR "music; sound; graphic"
#info MDFY "NO"
#info TRNS "Ask me"
#info INST "GS"
#info VIDO "640x480x256"
#info GRPC "Atsuko; 胡麻,JCC00325@niftyserve.or.jp ;河西 恒,KGH03570@niftyserve.or.jp"
#info CONT "miya"
#info COMP "miya"
#info SEQR "miya"
#info EFCT "miya"
int PicNo[];
//シナリオ本体
main(){
PlayMIDI("TAMB_Y_R.MID"); //音源の初期化
BgColor(0,255,255);
TextColor(255,0,0);
nYOKO=20; //X方向の分割数
nTATE=10; //Y方向の分割数
PicLAST=174; //コース3で最後に表示するコマナンバー
i=j=k=0;
//画像ロード
LoadPic("TAMB_Y_A.BMP"); // "0"
for(i=0;i<nYOKO*nTATE;i=i+1){
PicNo[i]=i; //PicNoの初期値(0~マス目数)をセット
}
for(i=0;i<nYOKO*nTATE*3;i=i+1){ //シャッフル!
j=Random(nYOKO*nTATE-2)+1;
k=Random(nYOKO*nTATE-2)+1;
if(j==PicLAST || k==PicLAST){ }else{
PicNo[nYOKO*nTATE-1]=PicNo[j];
PicNo[j]=PicNo[k];
PicNo[k]=PicNo[nYOKO*nTATE-1];
}
}
PicNo[nYOKO*nTATE-1]=PicLAST;
PicNo[PicLAST]=(nYOKO*nTATE-1);
//ウインドウ表示
Scr_W=WinInfo(0);
Scr_H=WinInfo(1);
OpenWin(0,Scr_W/2-320,Scr_H/2-240,640,480); // " 0 " スクリーンの中心に表示
sW=640/nYOKO;
sH=400/nTATE;
mes(LBUP){
if(MesP2<310){
if(MesP2>27 && MesP3>24 && MesP2<108 && MesP3<70){ //コース1設定
nCOURSE=1;
cMIDI=0;
PlayMIDI("TAMB_Y_1.MID");
eX=0;
eY=80;
sX=eX;
sY=eY+400;
i=j=0;
MovePic(0,130,25,(750-666),2,0,25,25);
MovePic(0,130,25,2,(69-24),0,25,25);
}
if(MesP2>127 && MesP3>24 && MesP2<211 && MesP3<70){ //コース2設定
nCOURSE=2;
cMIDI=0;
PlayMIDI("TAMB_Y_2.MID");
eX=0;
eY=80;
sX=eX+640;
sY=eY;
i=j=k=l=0;
MovePic(0,230,25,(750-666),2,0,130,25);
MovePic(0,230,25,2,(69-24),0,130,25);
}
if(MesP2>226 && MesP3>24 && MesP2<310 && MesP3<70){ //コース3設定
nCOURSE=3;
cMIDI=0;
PlayMIDI("TAMB_Y_3.MID");
eX=0;
eY=80;
sX=eX+640;
sY=eY+400;
i=j=0;
MovePic(0,25,25,(750-666),2,0,230,25);
MovePic(0,25,25,2,(69-24),0,230,25);
}
}//end if()
}//end mes(LBUP)
mes(LBDOWN){
if(fClick_timing==1 && i<nYOKO*nTATE && MesP2>508 && MesP3>18 && MesP2<606 && MesP3<76){
MovePic(0,sX,sY,sW,sH,0,eX,eY);//画像転送
i=i+1;
if(nCOURSE==1){ //コース1の画像転送
j=i*3;
if(j>nYOKO*nTATE){
j=j-nYOKO*nTATE;
if(j>nYOKO*nTATE){
j=j-nYOKO*nTATE;
}
}
eX=sW*(j%nYOKO);//余りを計算
eY=sH*(j/nYOKO)+80;//除を計算
sX=eX;
sY=eY+400;
}
if(nCOURSE==2){ //コース2の画像転送
k=j%4; //k=0~3
l=j/4; //周回数
if(k==0){
eX=eX+sW;//単純増加
//eY=eY;//固定
if(eX==640-(l+1)*sW){
j=j+1;
}
}//end if()
if(k==1){
//eX=eX;
eY=eY+sH;
if(eY==480-(l+1)*sH){
j=j+1;
}
}
if(k==2){
eX=eX-sW;
//eY=eY;
if(eX==l*sW){
j=j+1;
}
}
if(k==3){
//eX=eX;
eY=eY-sH;
if(eY==80+(l+1)*sH){
j=j+1;
}
}
sX=eX+640;
sY=eY;
}
if(nCOURSE==3){ //コース3の画像転送
j=PicNo[i];
eX=sW*(j%nYOKO);//余りを計算
eY=sH*(j/nYOKO)+80;//除を計算
sX=eX+640;
sY=eY+400;
}
}else{
if(MesP3<70){
if(MesP2>27 && MesP3>24 && MesP2<108){ //コース1の選択
MovePic(0,666,24,(750-666),2,0,25,25);
MovePic(0,666,24,2,(69-24),0,25,25);
PlayWAVE("KACHA.WAV");
}
if(MesP2>127 && MesP3>24 && MesP2<211){ //コース2の選択
MovePic(0,666,24,(750-666),2,0,130,25);
MovePic(0,666,24,2,(69-24),0,130,25);
PlayWAVE("KACHA.WAV");
}
if(MesP2>226 && MesP3>24 && MesP2<310){ //コース3の選択
MovePic(0,666,24,(750-666),2,0,230,25);
MovePic(0,666,24,2,(69-24),0,230,25);
PlayWAVE("KACHA.WAV");
}
}//end if(MesP3)
}//end else
}//end mes(LBDOWN)
mes(MIDI_TIME){
cMIDI=cMIDI+1;
cMIDI2=cMIDI%8;
if(cMIDI2>=0 && cMIDI2<5){ //1小節を2分割して計算する。
fClick_timing=1;
TextWrite("NOW!",0,345,0);
}else{
if(fClick_timing==1){
fClick_timing=0;
TextWrite(" ",0,345,0);
}
}//end else()
}//end mes(MIDI_TIME)
}//end main()