| 
 | マップについて
  投稿者 : napo(eAc1Agt024.tky.mesh.ad.jp) - 2003/07/20(Sun) 23:51 
  No.3969
 |  | 
 |  | 
 
 | 
 | 全マップの絵をしらべて○○があったら その1つ上のマップの絵を××にかえる。
 というふうにしたいのですがどうすればできますか?
 
 | 
 
 
 | Re: マップについて
  投稿者 : JAM(pl077.nas313.okayama.nttpc.ne.jp) - 2003/07/21(Mon) 23:56 
  No.3972
 |  | 
 |  | 
 
 
 | mxをマップの横のパターン数,myをマップの縦のパターン数として, for(i=0 ; i<my ; i++){
 for(j=0 ; j<mx ; j++){
 m=$map.get(mx,my);
 if(m==$pat_○○) $map.set(mx,my,$pat_××);
 }
 }
 を「その場のマップを換える」 の基本として,
 for(i=0 ; i<my ; i++){
 for(j=0 ; j<mx ; j++){
 m=$map.get(mx,my);
 if(m==$pat_○○) $map.set(mx,my-1,$pat_××);  //myをmy-1に
 }
 }
 でどうでしょう.
 注意として,マップの1段目,2段目……と調べて行っているため,
 「1つ上のマップを換える」 では正しく動作しますが,
 これが「1つ“下” のマップを換える」 では
 ○○が縦に2つ並んでいる場合正しく動作しませんのでお気を付けを.
 
 | 
 
 
 | Re: マップについて
  投稿者 : napo(eAc1Ags133.tky.mesh.ad.jp) - 2003/07/22(Tue) 08:27 
  No.3973
 |  | 
 |  | 
 
 
 | 次のように入れると文法エラーとなりました どこか間違っているのでしょうか?
 
 extends SecretChar;
 
 while(1){
 for(i=0 ; i<my ; i++){
 for(j=0 ; j<mx ; j++){
 m=$map.get(mx,my);
 if(m==$pat_LIFE+4) $map.set(mx,my,$pat_LIFE+7);
 }
 }
 を「その場のマップを換える」 の基本として,
 for(i=0 ; i<my ; i++){
 for(j=0 ; j<mx ; j++){
 m=$map.get(mx,my);
 if(m==$pat_LIFE+4) $map.set(mx,my1,$pat_LIFE+7);
 //myをmy-1に
 }
 }
 
 update();}
 
 | 
 
 
 | Re: マップについて
  投稿者 : JAM(pl019.nas322.okayama.nttpc.ne.jp) - 2003/07/23(Wed) 01:46 
  No.3975
 |  | 
 |  | 
 
 
 | Tonyuのよりよい理解のために基本の形を示してから実用としての命令文を書いたんですが, そういうのは余計だったようなのでそのものずばりを書きます.
 スペースを押すと変わります.
 
 extends SecretChar;
 mx=16; my=12;
 while(1){
 if(getkey(32)==1) {
 for(i=0 ; i<my ; i++){
 for(j=0 ; j<mx ; j++){
 m=$map.get(j,i);
 if(m==$pat_LIFE+4) $map.set(j,i-1,$pat_LIFE+7);
 }
 }
 }
 update();
 }
 | 
 
 
 | Re: マップについて
  投稿者 : napo(eAc1Ags219.tky.mesh.ad.jp) - 2003/07/23(Wed) 15:35 
  No.3976
 |  | 
 |  | 
 
 
 | Re: マップについて
  投稿者 : ひよ(i146042.ap.plala.or.jp) - 2003/10/06(Mon) 04:35 
  No.4539
 |  | 
 |  | 
 
 
 | 私も試したのですが、リアルタイムゲームではとても遅くて つかえません。(ミスタードリラーみたいなゲーム)
 もっとすばやく、すべてのパネルを調べる方法はないのでしょうか??
 それとも、豆乳では、ミスタードリラーは、作れないのでしょうか??
 | 
 
 
 | Re: マップについて
  投稿者 : 通りすがり(211.128.87.100) - 2003/10/07(Tue) 12:40 
  No.4550
 |  | 
 |  | 
 
 
 | Tonyuの一番の欠点は動作速度の遅さですので、しかたがない気がしますね^^; 私も何度もRPGを作ろうとしてあらゆる遅さに苦労しました(結局挫折)
 | 
 
 
 | Re: マップについて
  投稿者 : N.(xfw2.hc.cc.keio.ac.jp) - 2003/10/07(Tue) 13:40 
  No.4554
 |  | 
 |  | 
 
 
 | 以前にも同じ問題がありましたが、あたり判定のあるパターンはオブジェクトで作ったほうがよい場合もあります。 オブジェクトなら、親クラスを使って、調べるオブジェクトを限定できるからです。
 マップパターンを使うと、マップ上のすべてのパターンを調べなければなりません。原理上早くしようがないのです。
 | 
 
 
 | Re: マップについて
  投稿者 : ひよ(t112138.ap.plala.or.jp) - 2003/10/08(Wed) 07:54 
  No.4568
 |  | 
 |  | 
 
 
 | なるほど、ご回答ありがとうございます。 大変恐縮ですが、管理人さん何とか改良できないでしょうか?
 新しい命令として何か、追加ははできないでしょうか??
 これができなきゃ意味がない
 | 
 
 
 | Re: マップについて
  投稿者 : ひよ(t112138.ap.plala.or.jp) - 2003/10/08(Wed) 12:52 
  No.4570
 |  | 
 |  | 
 
 
 | <これができなきゃ意味がない 言葉を追加します。
 (今まで私が組んだプログラムの)++意味がない
 という意味です。
 言葉足らずでたいへん失礼しました、、、(汗
 
 
 
 | 
 
 
 | パソコン環境
  投稿者 : nuntora(wtpp-p-144-134-205-126.prem.tmns.net.au) - 2003/10/08(Wed) 15:38 
  No.4571
 |  | 
 |  | 
 
 
 | コンピュータのCPUが早くなれば処理も早くなります。しかし、他のユーザーがCPUの遅いコンピュータを利用していればゲームとして成立しないと言うことになります。 コンンピュータの処理速度の向上は近年目覚しいものがあります。大量のデータベースを取り扱うようなものでも、CPUが100GHzくらいまで行けば高速処理を可能に出来ると思われます。ゲームに至っても同様のことが言えると思います。
 しかし、N.さんも一部言及された通り、処理速度を速くするよりもむしろ「ゲームを作るプログラムの時点」で解決を計る、つまりはプログラムの効率化を目指した方が将来的にも価値があると思われます。
 面倒だと思いますが、オブジェクトを使用したりすることも試してみてください。
 | 
 
 
 | Re: マップについて
  投稿者 : ひよ(t119216.ap.plala.or.jp) - 2003/10/10(Fri) 08:51 
  No.4580
 |  | 
 |  | 
 
 
 | ご回答ありがとうございました。 
 豆乳は本当にすばらしいから、あと少しと欲が出るのかもしれませんね、、
 自分なりに今後勉強したいです。
 | 
 |