地形Gen Pythonの制約 -- python フィールド と game-engine フィールド 関連 問題

terrain gen python constraints












1
vote

問題

日本語

私はテキストベース/ ASCIIを構築しています(今のところ)不正なゲーム(質問の文脈なので関連) 現時点では、世界で使用される地形/部屋を生成しようとしています。 世界は「無限」であるべきです。

ランダム地形の生成は大きな問題ではありません。 私は、次のような制約を保守的に追加する方法を見つけるのに苦労しています。 「平野は山の隣にはいけない」

私は大きなデシデンスツリーを構築することができます、しかし、これはcurrenttile == plain:山の隣にならず、if currentTile ==山:平文へのテキストではない場合を意味します。

これは保守可能ではなく、すべての規則は2か所に実装されなければならないからです。

このタイプの問題に対する標準的な解決策が存在するのは疑問に思いますか?

挨拶

英語

in my free time I'm making a text-based/ascii(for now) rogue-like game as a study(relevant because context for question) At the moment, I'm trying to generate the terrain/the rooms that will be used in the world. The world should be 'endless'.

Generating random terrain isn't the big issue. I'm struggling with finding a way to maintainably add constraints like: 'plains can not be next to mountain'

I could build a big decisiontree, however, this would mean an if currentTile == plain: if not next to mountain and an if currentTile == mountain: if not text to plains.

this not maintainable, since every rule has to be implemented on 2 places.

I'm wondering what standard solutions for this type of issues exist?

Greetings

</div
     
   
   

回答リスト

1
 
vote
vote
ベストアンサー
 

私はあなたの例の抜粋に従うことが完全には抜いていませんが、それぞれが許可されていない組み合わせを含む2つの要素セットのリストを持つことができます。それからあなたは

を見ることができました <事前> <コード> View view = inflater.inflate(R.layout.frag_one, container, false); 0
 

I'm not entirely sure I follow your example excerpt but you could have a list of 2 element sets, each containing disallowed combinations. Then you could look up

disallowed = [set(plain, mountains)] if set(currentTile, newTile) not in disallowed:     #rest of code 
</div
 
 
 
 

関連する質問

0  CCDで無限回転  ( Endless rotating in ccd ) 
heya. 私は現在、私の学位最終年プロジェクトに取り組んでいます。これは、2部a)良い3DエンジンとB)を作成し、IKシステムを実装し、IKの解決の数式を評価します。 CCD(巡回座標降下)は、私が始めたところ、私は問題に遭遇しました。 私は多くの情報源を...

1  私の箱は衝突していません  ( My boxes are not colliding ) 
私はJavaでゲームエンジンを作り、別々の軸定理を使って衝突を行います。衝突を登録しない場合に間違ったものがあります。誰もが私の衝突プログラムに何か問題を見ていますか? <事前> <コード> public PolygonCollisionResult Poly...

0  Love2DのQuadはどのようにNILの価値を持っていますか?  ( How does my quad in love2d have a nil value ) 
私は私の試合で私の試合でLove2Dで2回目のパワーアップを作っています私はそれが最後に衝突するパドルを成長させることです。しかし、それは私にエラーを与えました: <事前> <コード> Error powerups/PaddleGrow.lua:64: ba...

8  相互運用性の仕組み  ( How interoperability works ) 
ビデオゲームなどの多くの大規模アプリケーションが複数の帯域を使って作成されていることを知っています。たとえば、ゲーム/物理学のエンジンがC ++で書かれている可能性があります。ゲームプレイタスクは、PythonやLUAのようなものに書かれています。 私はなぜ...

1  C ++ OpenGLゲームメニューをリンクします  ( C opengl game menu linking objects ) 
ねえ、私は現在C ++とOpenGLを使ってゲームを開発しようとしています。メニューから始めて、2つの別々のファイルがあります。 C ++で書かれた最上位ステートマシンとOpenGLのメニューのように機能するためのオルソビューの5ボックスのレンダリング。 それ...

1  RpyThonのサポートを持つゲームライブラリ  ( Game library with support for rpython ) 
RPYTHONのサポート付きのPythonゲームライブラリ(Pygame、Pygletなど)はありますか?またはRPYTHONのために特別に作られたゲームライブラリ? Rpythonのゲームライブラリのためのバインディング? ...

0  ゲームエンティティの種類とサブタイプのための良いパターンまたはアーキテクチャ?  ( Good pattern or architecture for types and subtypes of game entities ) 
ゲームに惑星を持っているとしましょう、私はまた宇宙船を持っています。私は海賊である宇宙船を持っています、そして私は宇宙船であるシャトルを持っています。私は海賊惑星の惑星もあります。明らかに、各タイプのスイッチを追加してサブタイプを追加することができますが、それ...

-3  Minecraftのような3Dグラフィックでアクションゲームを作る方法は?  ( How to make an action game with 3d graphics like minecraft ) 
プレイヤーが迷路の中にあるアクションゲームを作りたいのですが、脱出している間、他の選手/モンスターを殺さなければならない。ゲームはWindows上で利用可能になります。 どこから始めるのかわかりません。 私はC ++とDirectX9を見ましたが、それは私にと...

2  拡張現実感のためのゲームエンジン  ( Game engine for augmented reality ) 
拡張現実感プロジェクト高解像度ライブカメラフィードを表示したい。その後、このように私はリアルタイムで操作(翻訳、ストレッチなど)よりもモデルを表示したいです。 私は OpenScenegraph 上記の機能をサポートするであろう彼らの経験からゲームエンジンを...

3  HTML5とモバイルゲームの開発  ( Developing html5 and mobile games ) 
私はJavaに特別に非常に経験豊富な開発者です。最近、HTML5とモバイルゲームの両方を作成するためにScirra.comから「構築2」を使用しました。私は「構築2」はただ素晴らしいと思います。 2Dゲーム開発をとても簡単にします。しかし、私は「構築2」が非常...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有