easy-Cの入門書 [レベル14]
ノート
もんだい
- [14-1]
いかのプログラムはタイピングゲームです。
ECHWIN(30,10);
GPRINTF(0,0,7,0,"TIME=%03d",0);
GPRINTF(2,4,7,0,"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z");
FOR (CLRKEY; INKEY(0)==0; ) { WAIT(100); }
K=0;
FOR (T=0; T<=999; T=T+1) {
GPRINTF(0,0,7,0,"TIME=%03d",T);
I=INKEY(1);
IF (I==K+'A') {
GPRINTF(2+K,5,6,0,"%c",I);
K=K+1;
IF (K==26) { BREAK; }
}
WAIT(100);
}
ECHWIN(47,32); ECHBOX(47,31,0,1,1,2,0); ECH(1,2,0,0,0);
FOR (I=0; I<1000000; I=I+1) {
A=RND(23)*2+1; B=RND(15)*2+2; IF (GETECH(A,B)>0) { CONTINUE; }
FOR (J=0; J<9; J=J+1) {
K=RND(4);
IF (K==0 && A> 1 && GETECH(A-2,B)>0) { ECH(A-1,B,0,0,0); A=A-2; ECH(A,B,0,0,0); J=0; }
IF (K==1 && A<45 && GETECH(A+2,B)>0) { ECH(A+1,B,0,0,0); A=A+2; ECH(A,B,0,0,0); J=0; }
IF (K==2 && B> 2 && GETECH(A,B-2)>0) { ECH(A,B-1,0,0,0); B=B-2; ECH(A,B,0,0,0); J=0; }
IF (K==3 && B<30 && GETECH(A,B+2)>0) { ECH(A,B+1,0,0,0); B=B+2; ECH(A,B,0,0,0); J=0; }
}
}
にゅうりょくしたら RUN してみましょう。
なぜこれでめいろができるのかせつめいします。
さいしょに、キャラクタをかくためのがめんをよういして、うえいちぎょうだけをのこしてみどりのしかくでうめます。
うえいちぎょうをあけておくのは、13-2でここにもじをかきたいからです。そしてひだりうえにいちますだけ、みどりのしかくがないばしょをつくります。
つぎは100まんかいのくりかえしです。・・・なにを100まんかいもくりかえすのかをいまからかきます。
まずらんすうでAとBをきめて、そのばしょがくうはくじゃなければらんすうでえらびなおしです。
つぎに9かいのくりかえしがかいてありますが、そこはまだきにしないで、さきをよみます。
Kをらんすうできめます。これがめいろのあなほりのほうこうになります。
K==0ならあなをひだりにほります。ほっていいのは、あながひだりはしじゃなくて、2マスさきがまだうまっているばあいだけです。
オーケーなら、あなを2マスほってJを0にします。
K==1ならあなをみぎにほります。
K==2ならあなをうえにほります。
K==3ならあなをしたにほります。
ここでへんすうJのいみをせつめいします。Jはあながれんぞくでほれなかったかいすうです。あながほれたらJ=0にしているのはそのためです。
Jが9になったら、たぶんもうこのばしょからほりすすめることはできないので、Jのくりかえしをぬけて、AとBをらんすうできめるくりかえしにもどります。
これをぜんぶやりきると、めいろがかんせいします。
いままでのめいれいをくみあわせるだけで、こんなめいろをかくこともできるのです。

- [13-2]
(これはすこしむずかしいです。)
このめいろと12-2のプログラムをうまくくみあわせて、たからさがしゲームをつくります。
めいろのなかにおちているのは、100えんだまではなくて「きんか」です!だからきいろのまるにしてください。きんかのかずも、30こにふやしましょう!
ニコニコのいろはしろにしましょう。スタートちてんはA=1;B=2;にします。
じかんも999ではたりないとおもうので、9999にしてください。
ヒントをかいておきます。ニコニコをひだりにうごかすぶぶんはこうなります。
IF (K==4132 && GETECH(A-1,B)!=1) { A=A-1; }
うまくできたら RUN してみましょう。クリアするのはたいへんですが、おもしろいですよ!
こめんと欄