[過去ログ] Delphiゲームプログラミング相談室 (976レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
259: 名前は開発中のものです。 [sage] 03/03/09 05:10 ID:wV9yoKdK(1) AAS
 ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ 
 ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ 
 ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ 
 ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ 
 ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ 
 ‖ ‖ ‖\/‖ ‖ ‖\/終 ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ 
 ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ 
 ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ 
 ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ 
 ‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖\/‖ ‖ ‖ 
  \_/\_/\_/\_/\_/\_/\_/\_/\_/ 
   _________________________ 
 /|                                     |\ 
             \だからさぁクソスレ立てんなって言っただろ/ 
  ?パチパチ?パチパチ  ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄?パチパチ? 
   ∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧ 
  ∧_∧∧_∧∧_∧∧_∧ ( ´∀`)∧_∧∧_∧∧_∧ 
   _∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧ 
     ∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧∧_∧ 
     (    )    (    )    (    )    (    ) 
260(1): 名前は開発中のものです。 [sage] 03/03/14 11:00 ID:thVf9ZMh(1) AAS
 QuadrupleD新版キタ━━━━━━(゚∀゚)━━━━━━ !!!!! 
 3月12日更新なのに気づくの遅いよ俺!! 
  
 Xsimplify.exeの更新のみの模様 
 これでやっと自前の3Dオブジェクトを表示させることができますヨ 
 チュートリアルなどドキュメント類の誤記は放置のようですのでこれから始める人は要注意 
 過去ログで指摘されてる以外にもいくつかありますがスペルミス程度のものばかりです 
 TCanvasを使う苦労に比べれば屁みたいなものです 
 メタセコとの連携が強化されつつあるのでMLもチェキ 
261: 名前は開発中のものです。 [sage] 03/03/14 17:28 ID:izl2yPsz(1) AAS
       / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
       | このスレは終了よ 
       \_____  _________________ 
              // 
  
         ∧_∧         ∧__∧ 
        ( ´∀`)        ( ・∀・) 
         〉   <、  n       ,> 〈 
       イ´γ  、ヽ ,||、    ,,ノ,_i⌒)  __/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 
       (⌒r´⌒y/ f々)   (;:..(..:::;ノ /   \  ここまでよくがんばったわね。 
        ハ::,;、::::ノ〈//`´   (二二ノノ     |   もう楽におなりなさい… 
        |ノ:::::::〈\./      (_ミ:::〈      \__________ 
       ィf::::::::::;ヽ、        〈;::::::;::ヽ 
       (ミ:::;;:::;;:::::}         〉;;;::::)::) 
       人;;;;;y;;;;;;ノ       /^i;;:イ;;;ノ 
         | / /       / /| / 
         `y /       〈 <  | | 
         || |        ヽ `ヽ| i 
          | ト.、        \`ヾ:| 
          | |/^〉        ノ ^〉| 
         ノ__.|ヘ;|        しヘ;|_ 〉 
        ∠_ノL!         ∠_ノL!          ≪完≫ 
262: 名前は開発中のものです。 [sage] 03/03/14 23:52 ID:P8VP96MI(1) AAS
 >>260 
 サンキウ 
263: 名前は開発中のものです。 [sage] 03/03/15 21:27 ID:pMn3G4mp(1) AAS
                         _ 
             ♪      ┌―─┴┴─―┐ ♪ 
           ♪  ヽoノ    │   終 了    |    ♪ ヽoノ 
              へ).    └―─┬┬─―┘      ( ヘ 
               く         ││            > 
                           ゛゛'゛'゛    
264(1): 名前は開発中のものです。 [] 03/05/12 23:46 ID:+3okumJP(1) AAS
 QuadrupleDのDDPDを使っているのですが添付されているチュートリアルのサンプルが動作しません 
 セッションの新規作成はできるのですが参加しようとするとタイムアウトしてしまいます 
 どなたか心当たりのある方お願いします 
265: 名前は開発中のものです。 [sage] 03/05/13 01:23 ID:H4JTHQ9J(1) AAS
                      ┌────┐ 
      ┌──────┐    ┌┤┌───┘ 
      └──┐┌─┬┤    │││ 
            ││  ││    ││└──┐ 
            ││  │└──┘│┌──┘ 
            ││  │┌──┐││ 
            ││  ││    ││└────┐ 
    ┌───┤├┐││    │├────┬┘ 
    │┌──┤├┴┼┘    ││┌──┐└┐ 
    ││    └┤  └┐    └┤│    └┐└┐ 
    ││      │┌┐└┐    ││      └┐│ 
    │└──┐││└┐└┐  ││        ││ 
    │┌──┘││  └┐└┐││        ││ 
    ││      ││    └┐└┤│        ││ 
    │└───┴┴┐    └┐││      ┌┘│ 
    └────┬┬┘      └┤│    ┌┘┌┘ 
              └┘          │└──┘┌┘ 
                      └────┘  
266: 名前は開発中のものです。 [sage] 03/05/13 01:25 ID:oZ/KPfMd(1) AAS
 >>264 
 ageるな馬鹿。 
 やっとこのスレが静かになったきたというのに。 
267: 名前は開発中のものです。 [sage] 03/05/14 18:04 ID:szUEpmG0(1) AAS
 上位100スレぐらいが荒らしの射程範囲なので、あげちゃだめ。 
268(4): 名前は開発中のものです。 [sage] 03/05/16 00:10 ID:DnbgCy8r(1) AAS
 HEXはどうやるんですか? 
269: 名前は開発中のものです。 [sage] 03/05/16 06:42 ID:pbS0hPxo(1) AAS
 >268 
  
 もちっと詳しく書かないとHEXの何をどうしたいのかがわからんぞ
270(2): 268 [sage] 03/05/17 02:34 ID:IP6oP4NN(1) AAS
 2HEX間の距離(HEXの数)を数えたいのです。 
271(1): 名前は開発中のものです。 [sage] 03/05/17 15:57 ID:LhaqdzNz(1/4) AAS
 >>270  
 ああ、HEXマップをいじっている時に私もつまづいたなぁ…。  
 とりあえず、私の使っている方法。  
  
 ”HEXマップにおける距離”=”ユニット(コマ)が進む数”だから、 
   0  1  2  3 
  ┌─┬─┬─┬─┬ 
 0│  │  │  │  │ 
  └┬┴┬┴┬┴┬┴ 
 1  │  │  │  │ 
  ┌┴┬┴┬┴┬┴┬ 
 2│  │  │  │  │ 
 …のように、レンガ壁状のマップで考えます。 
 そして、この1コマを4分割。 
  □□□□□□□□ 
  □□□□□□□□ 
    □□□□□□□□ 
    □□□□□□□□ 
  □□□□□□□□ 
  □□□□□□□□ 
 あとは、直線の距離を出して、2で割ればOK。
272(4): 名前は開発中のものです。 [sage] 03/05/17 15:58 ID:LhaqdzNz(2/4) AAS
 >>271 の続き 
 (x0,y0)〜(y1,y0)の距離を出したかったら、 
  
 xq0 := (x0 * 2)+(x0 mod 2);    yq0 := y0 * 2; 
 xq1 := (x1 * 2)+(x1 mod 2);    yq1 := y1 * 2; 
 xlen := Abs(x1-x0)+1;    ylen := Abs(y1-y0)+1; 
 hexlen := Sqrt( xlen*xlen + ylen*ylen ) / 2 + 1; 
  
 で、算出できるはずです。(メンドいから整数と実数の変換は略)
273: 名前は開発中のものです。 [sage] 03/05/17 16:01 ID:LhaqdzNz(3/4) AAS
 >>272 
 ゴメン、間違えた。 
 × xlen := Abs(x1-x0)+1;    ylen := Abs(y1-y0)+1; 
 じゃなくて 
 ◎ xlen := Abs(xq1-xq0)+1;    ylen := Abs(yq1-yq0)+1; 
 ね。 
274(1): 272 [sage] 03/05/17 16:16 ID:LhaqdzNz(4/4) AAS
 >>272 また訂正。 何やってるんだ俺は……。(恥) 
 xq0 := (x0 * 2)+(y0 mod 2);    yq0 := y0 * 2; 
 xq1 := (x1 * 2)+(y1 mod 2);    yq1 := y1 * 2; 
 xlen := Abs(xq1-xq0)+1;    ylen := Abs(yq1-yq0)+1; 
 hexlen := Sqrt( xlen*xlen + ylen*ylen ) / 2 + 1; 
275(2): 268 [sage] 03/05/18 00:57 ID:RcPQLtqQ(1) AAS
 4分割は新鮮でしたが、 
 (0,0)-(1,3) が 5 になるのですけど。 
  
 x0 = 0; 
 y0 = 0; 
 x1 = 1; 
 y1 = 3; 
 xq0 = 0; 
 yq0 = 0; 
 xq1 := (1 * 2) + (3 mod 2) = 3; 
 yq1 := 3 * 2 = 6; 
 xlen := Abs(3)+1 = 4; 
 ylen := Abs(6)+1 = 7; 
 hexlen := Sqrt(4*4 + 7*7) / 2 + 1 = 5.03; 
276: 272 [sage] 03/05/18 02:18 ID:MA7QNrHO(1) AAS
 >>275 
 ホンマや…。 ちょっと昔のソース探してみます。 
277(2): 名前は開発中のものです。 [sage] 03/05/18 03:31 ID:mv38V9jc(1/2) AAS
 今適当に思いついた奴だけど、 
 □■□□□   ■=移動軸、★=目標、☆=自分 
  ★■□□■ 
 □□■□■ 
  □□■■□ 
 ■■■☆■ 
 をちょっとずらして 
 □■□□□ 
   ★■□□■ 
   □□■□■ 
     □□■■□ 
     ■■■☆■ 
 とすると、ヘックスの移動が、普通の四角マスでの 
 ・縦移動(HEXの右上左下方向の移動) 
 ・横移動(HEXの横方向の移動) 
 ・左上右下移動(HEXの左上右下方向の移動) 
 に対応することになる。 
 で、目標から上下左右(斜めは考慮する必要なし)にある一番近い軸までの距離と、 
 軸との交点から自分(中心)までの距離を足せば、移動距離となる、ハズ。 
  
 上の例だと斜めの軸までの距離が1、☆までが3、合計の移動距離が4が結論ということになる。 
  
 でも、障害物とか地形効果とか考えると単純に距離だけ求めても、とか思うんだけどどうだろ?
278: 名前は開発中のものです。 [sage] 03/05/18 03:32 ID:mv38V9jc(2/2) AAS
 行頭の半角スペースは無視されるんだった…。 
  □■□□□   ■=移動軸、★=目標、☆=自分 
   ★■□□■ 
  □□■□■ 
   □□■■□ 
  ■■■☆■ 
 こうね。 
279(1): 268 [sage] 03/05/18 05:00 ID:enzpE3WK(1) AAS
 >>277 
 移動させるときはリアルタイムストラテジースレにあるA*アルゴリズムを考えています。 
  
 なんか、ちんぷんかんぷん。 
  
  654444456 
  543333456 
  543222345 
  432112345 
  432101234 
  432112345 
  543222345 
  543333456 
  654444456 
  
 654444456 
 543333456 
 543222345 
 432112345 
 432101234 
 432112345 
 543222345 
 543333456 
 654444456 
280(1): 272@眠 [sage] 03/05/18 05:59 ID:GM64wXCS(1/2) AAS
 >>270 >>275 
 昔のソース見たら、やはり Sqrt を使った >>274 の方法だった…。 
 よく、動いていたな〜。 この直線距離は単なる目安だったからかも。 
 それで、やっと”コマを動かす距離”を出せましたわ…。 コレでいいはず。 
  
       xlen := Abs(x1-x0);  ylen := Abs(y1-y0); 
       if xlen <= (ylen div 2) then hexlen := ylen 
         else hexlen := xlen + ylen - (ylen div 2); 
  
 0 1 2 3 4 
  1 2 3 4 5  ← 1つずらしレンガ状の移動距離を… 
 2 2 3 4 5 
  3 3 4 5 6 
  
 0 1 2 3 4 
 1 2 3 4 5  ← 整えるとこうなる。 
 2 2 3 4 5 
 3 3 4 5 6
281: 272@眠 [sage] 03/05/18 06:05 ID:GM64wXCS(2/2) AAS
 >>279 
 経路探索は、ちゃんとやっていたんですけどね。(笑) 
 ちゃんと消費移動量出して。 
282(2): 名前は開発中のものです。 [sage] 03/05/18 23:17 ID:Vqiijavw(1) AAS
 >>280 
 今度は(1,0)-(0,1)で2になります。 
  
 x0=1; 
 y0=0; 
 x1=0; 
 y1=1; 
 xlen = Abs(0-1) = 1; 
 ylen = Abs(1-0) = 1; 
  
 1 <= (1 div 2) が成立しないので、 
 hexlen := 1 + 1 - (1 div 2) = 2; 
  
 最終的にこれでいけました。 
 function GetHexLen(const P1, P2: TPoint): Integer; 
 var 
  W, H: Integer; 
 begin 
  W := Abs(P2.X - P1.X); 
  H := Abs(P2.Y - P1.Y); 
  if H <= W * 2 then 
  begin 
   if (Odd(P1.Y) and (P1.X >= P2.X)) or 
    ((not Odd(P1.Y)) and (P1.X <= P2.X)) then 
    Result := H + W - H div 2 
   else 
    Result := W + H div 2 
  end else 
   Result := H; 
 end;
283: 272 [sage] 03/05/19 00:13 ID:xetwIoTi(1) AAS
 >>282 
 あう。 何度も何度もすいませんでした。 
 (0,0)からしか検算していなかった私のミスです。 
上下前次1-新書関写板覧索設栞歴
あと 693 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s