home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1997 March
/
VPR9703A.ISO
/
FFILLY
/
FILLY18F
/
SKIP.TFY
< prev
next >
Wrap
Text File
|
1996-12-05
|
4KB
|
150 lines
//TOFFYシナリオのひな型
//作品情報(""内を書き換えて下さい)
#info INAM "Cast Sample"
#info ICMT "左クリックしてね。右クリックで終了"
#info ISBJ "スキップ冬里ちゃん"
#info IART "ともゆん"
#info ICOP "ともゆん"
#info ICOP "(c)Tomoyuki.Uchida"
#info VIDO "640x400; 256"
#info GRPC "Tomoyuki,SDI00687@niftyserve.or.jp"
int musi_pic, tatumaki_pic, skip_pic, base_pic,base_pic_x, base_pic_y; //このようにグローバルに取らないと各関数から見えなくなります
//シナリオ本体
main(){
//ここからシナリオを書き始めて下さい
int BackPic, PicLeft, PicRight, PicTop, PicBottom;
BackPic=LoadPic("yun_245.bmp");//背景を読み込みまーす
base_pic=CreatePic(0); //背景と同じサイズのピクチャーを生成(中は汚いけどね(^^;)
PutCast(0,base_pic,0,0);//背景を設定(透明色は無しモード)
base_pic_x=PicWidth(BackPic);
base_pic_y=PicHeight(BackPic);
PicLeft=(WinInfo(0)-base_pic_x)/2-1;
PicRight=(WinInfo(0)+base_pic_x)/2-1;
PicTop=(WinInfo(1)-base_pic_y)/2-1;
PicBottom=(WinInfo(1)+base_pic_y)/2-1;
CapTitle(""); //ウィンドウの上のキャプションバーを消します。
OpenWin( base_pic,
-1, //スクリーンの左上隅からちょっとだけ左
-1, //スクリーンの左上隅からちょっとだけ上 (ウィンドウの枠を消したいので)
WinInfo(0), //スクリーンの横幅と同じ大きさのサイズ
WinInfo(1), //縦の高さのサイズ
-PicLeft+1, //ピクチャーの表示を画面の中央に、、、
-PicTop+1, //同じく
0); //バックグラウンドを黒に
musi_pic=LoadPic("tb.bmp");//虫さんキャスト元データ
tatumaki_pic=LoadPic("tb2.bmp");//竜巻
skip_pic=LoadPic("skip.bmp");//スキップ
mes(LBDOWN){
if(MesP2>=PicLeft&&MesP2<PicRight&&MesP3>=PicTop&&MesP3<PicBottom){
PlayWAVE("pom.wav");
i=Random(3);
if(i==0){
Skip(MesP2-PicLeft, MesP3-PicTop);//マウスクリックでスキップ始め
}else{
if(i==1){
Musi(MesP2-PicLeft, MesP3-PicTop);//マウスクリックで虫始め
}else{
Tatumaki(MesP2-PicLeft, MesP3-PicTop);//マウスクリックで竜巻始め
}
}
}else{
PlayWAVE("shuu.wav");
}
}
//ここまでに書いてください
}
Skip(int xpos, int ypos)
{
int skip_cast;
xpos=xpos-50;
ypos=ypos-100;
skip_cast = PutCast( skip_pic, base_pic, xpos, ypos, 0xffffff, 0, 0, 1, 104,195, 0, 0 );//0xffffは背景色の白色
mes(TIME){
step( 4 ) {
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 0,0 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 104,0 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 208,0 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 312,0 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 416,0 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 0,200 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 104,200 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 208,200 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 312,200 ); ,
MoveCast( skip_cast, skip_pic, xpos, ypos, 0, 104, 195, 416,200 );
}
step(100){,
DelCast(skip_cast);
del_me;
}
step(4){
xpos=xpos+Random(5)-25;
ypos=ypos+Random(5)-5;
if(xpos<-50||ypos<-100){
DelCast(skip_cast);
del_me;
}
}
}
}
Musi(int xpos, int ypos)
{
int musi_cast, diffx, diffy, basex, basey;
xpos=xpos-PicWidth(musi_pic)/2;
ypos=ypos-PicHeight(musi_pic)/2;
musi_cast = PutCast( musi_pic, base_pic, xpos, ypos, 0xffffff );//0xffffffは背景色の白色
mes(TIME){
step( 4 ) {
if(xpos<-50||xpos>=base_pic_x||ypos<-50||ypos>=base_pic_y){
DelCast(musi_cast);
del_me;//画面から外れたら終了
}
MoveCast( musi_cast, musi_pic, xpos, ypos );
xpos=xpos+Random(50)-25;
ypos=ypos+Random(50)-25;
}
step(100){,
DelCast(musi_cast);
del_me;
}
}
}
Tatumaki(int xpos, int ypos)
{
int tatumaki_cast;
xpos=xpos-PicWidth(tatumaki_pic)/2;
ypos=ypos-PicHeight(tatumaki_pic)/2;
tatumaki_cast = PutCast( tatumaki_pic, base_pic, xpos, ypos, 0xffffff );//0xffffffは背景色の白色
mes(TIME){
step( 6 ) {
if(xpos<-50||xpos>=base_pic_x||ypos<-50||ypos>=base_pic_y){
DelCast(tatumaki_cast);
del_me;//画面から外れたら終了
}
MoveCast( tatumaki_cast, tatumaki_pic, xpos, ypos );
xpos=xpos+Random(30)-15;
ypos=ypos+Random(30)-15;
}
step(100){,
DelCast(tatumaki_cast);
del_me;
}
}
}