[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 05/09 12:29 / Filesize : 147 KB / Number-of Response : 504
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【アリス】system4.0【御用達】



1 名前:名前は開発中のものです。 [2006/11/05(日) 19:38:18 ID:cVqN/Dcb]
アリスソフトのゲーム開発で使われているsystem4.0のスレです。

長所 
・フリー
・C/C++ JAVAっぽい(オブジェクト指向 仮想マシン)
・ゲーム製作に特化している
・ADV、SLG、3Dダンジョン、なんでも作れる
・同梱されているチュートリアルが親切、解りやすい
・実際にアリスソフトで使用されている言語なので、力さえされば同じレベルのものが作れる

短所
・使用者が少ないため、参考にするサイトが少ない
・専用エディタが無い

アリスソフト公式 ユーザークラブ専用ページからDL可(登録無料)
ttp://www.alicesoft.com/

272 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:15:28 ID:OkpVoOWr]
>>267
最近なくなってきたけどキャラが八個までとか
十個までしかアイテム持てないタイプのシステム。
アイテム用の配列をつくるんじゃなく、キャラクターデータの配列に
(他のパラメーターと同じように)所持アイテムの要素を加えているもの。

273 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:16:17 ID:OkpVoOWr]
おっと>270。

274 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:19:48 ID:xaL6FU+C]
>>272
なんとなくイメージが掴めました。

すると、ままにょにょのように(2*2マス)アイテムとかをセットしていくのは、
多次元配列っぽい扱いで組むと良い・・・感じになるのでしょうか。

275 名前:名前は開発中のものです。 mailto:sage [2007/09/18(火) 23:23:06 ID:nh0I3KRl]
キャラデータに二次元配列でも持たせる。
0=装備不可、1=装備可、2=装備中として
2,2,1,1,0
2,2,1,1,0
1,1,1,0,0
みたいな感じにして装備時の判定に使う。
画面表示につかう装備位置とか種類はキャラごとにリストとして持っておく。

ぱっと思いついたのを適当にまとめようとしたら
中途半端になりそうだったのでここだけ。
というか、アイテムリストとかの作り方とかから関係してそうだし、
効率とかは別としていろんなパターンありそうだが。


276 名前:名前は開発中のものです。 mailto:sage [2007/09/20(木) 23:28:58 ID:20DvfK8F]
txtファイルやバイナリファイルの
読み込み方がわからない・・・
誰か教えて下さい。

277 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 06:04:07 ID:9fbbqFiF]
それが何らかの構造体に対応する形式なら(設定データとか)File.dll使用。

と書いててふと思ったけど、
stringのみの構造体にFile.dllで全部読み込ませて
自前で文字列分割すればいける?。
File.dllで書き出したものしかダメかもしんないけど。

278 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 11:26:28 ID:Tv3x8N6Q]
DATAアクセスのDATA.hllってどうやって使うん?
変換ツールの使い方すらよくわからんorz

279 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 20:31:35 ID:9fbbqFiF]
使ったこと無いから違うかも。

変換はドラッグアンドドロップ。
iniファイルに書かれたフォルダに全部変換されるからNL5でリンク。

Openでデータを開いてReadで指定された構造体へ読込。
書いてないがRead毎に一つのデータを読むのかも。

サンプルデータ.txtだと多分構造体は
struct Data{
string; //名前
int; //性別
int; //体力
int; //攻撃
int; //魔法
int; //防御
int; //魔抵
string; //特技
int; //属性
};
こんな感じだと思われ(変数名とかはめんどいので省略)
データの#defineが効くのは変換時だろうし。


280 名前:名前は開発中のものです。 mailto:sage [2007/09/21(金) 20:33:45 ID:9fbbqFiF]
改行多すぎたorz

int result;
Data param;
result = Open(リンク番号);
if(result == 1)
{
if(Read(param) == 1)
{
// 成功
}
Close();
}
これをちゃんと動くように書き直して試してみたらなんとかなるかも。
サンプルデータ.txt使ってランスが読み出せたら正解。



281 名前:名前は開発中のものです。 mailto:sage [2007/09/22(土) 01:34:26 ID:5k6/7BO3]
ああ、iniファイルに指定されたフォルダ作ってドラッグドロップすれば良かったのか。
exeだけ実行しても何も起きないはずだorz

サンキュー、これでデータ組み込み&修正が楽になりまする。


282 名前:名前は開発中のものです。 mailto:sage [2007/09/22(土) 20:55:43 ID:lCiDoZD6]
>>279
NL5って何?

283 名前:名前は開発中のものです。 mailto:sage [2007/09/22(土) 21:02:08 ID:lCiDoZD6]
すまん、調べたらすぐでてきた

284 名前:名前は開発中のものです。 mailto:sage [2007/09/23(日) 14:51:39 ID:1iwE3MFE]
>279,280

おかげさまでデータ読み込みまで出来るようになりましたアリガト!(´▽`)

予想通りreadコマンドで読めるの一行だけみたいでしたけど、
配列構造体に格納しつつエラーが出るまで読み続ければOKでした。

これでデータがかなり整理できまする(;つД`) タスカッタ

今まではエクセルのリストから初期化用定義文吐きだしてコピペ。
一個ずつ代入してくって面倒なコトしてたw

285 名前:名前は開発中のものです。 mailto:sage [2007/09/23(日) 17:44:12 ID:gTMsvm9z]
>>284
できればソースを見せてくれませんか?
僕もやっているのですがうまくいかなくて

286 名前:284 mailto:sage [2007/09/24(月) 01:33:40 ID:wQrq8l22]
>>285
こんなんす。
ループが入っているだけで、教えてもらったのとほとんど一緒です。

===
void ★ReadData(void){
int No = 0;

if(Data.Open(1) == 1) {
while(true) {
No++;
if(Data.Read(g_ReadData[No]) == 1) {
// 読み込み成功

//system.MsgBox("No = " + g_ReadData[No].nNo.String() + ":名前 = " + g_ReadData[No].sName);

} else {
//system.MsgBox("データの読み込みを終了しました。");
break;
}
};

Data.Close();
} else {
system.MsgBox("データのロードに失敗しました。");
}

}

287 名前:284 mailto:sage [2007/09/24(月) 02:16:10 ID:wQrq8l22]
あ、そだそだ。
データチェックとか色々してたんでwhile文とif文分かれてますけど、
普通に作る分にはwhileだけで問題ないです。

うちも最終的には直すんで。


288 名前:名前は開発中のものです。 mailto:sage [2007/09/24(月) 15:02:52 ID:PLTvhaxX]
>>286
サンクス。
286のやつでやってもうまくいかないから
Data.dllかNL5でのリンクがうまくいってないみたいだ

289 名前:名前は開発中のものです。 mailto:sage [2007/09/30(日) 00:54:23 ID:jYQSajes]
「Data.dll」→RUN\DLLフォルダ
「Data.hll」&「Data.inc」→HLLフォルダ
この三つをそれぞれのフォルダに置いてSys42IDEの"HLLを追加"で追加したけれど
【Open】関数は定義されていません となって使えません
もしかして追加の仕方が間違ってるのでしょうか?

290 名前:名前は開発中のものです。 mailto:sage [2007/09/30(日) 07:39:52 ID:DbtRC+b1]
ちゃんと「エイリアス名.Open」にしてるか。
System40.iniをしてるか。

この辺。



291 名前:名前は開発中のものです。 mailto:sage [2007/10/09(火) 22:50:08 ID:q9E93AE4]
hosyu

292 名前:名前は開発中のものです。 mailto:sage [2007/10/20(土) 01:07:20 ID:+048CWqr]
0乗は1になるのかー。初めて知った。

293 名前:名前は開発中のものです。 mailto:sage [2007/10/23(火) 23:14:01 ID:g6dhJWeE]
過疎だ……。
誰かRPGとか作っている人います?

294 名前:名前は開発中のものです。 mailto:sage [2007/10/24(水) 00:35:21 ID:xn+nw84C]
今パズル作ってるけど業務が忙しくなって丸2ヶ月くらい触ってない・・・

295 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 00:31:39 ID:Zn6cpkxM]
よさげな戦闘システム思いついたけど実装できなくて放置中

296 名前:名前は開発中のものです。 mailto:sage [2007/10/25(木) 16:27:46 ID:vNqY00up]
>>295
晒したら誰か助言くれるかもよ

297 名前:sage [2007/10/26(金) 12:02:12 ID:/MaVV48B]
今ボードゲームタイプのRPGモドキを作ってる。

最近はwikiの更新が多くて嬉しい。
wiki充実させたいけど、面白い関数とかのネタも特にない。
どういう情報が載ってれば便利なのかな。

298 名前:名前は開発中のものです。 mailto:sage [2007/10/26(金) 13:27:24 ID:+vtTpZVu]
あのゲームのこういうとこはこういう風にして動いててsystem4で書くとこうなるんですよ
的な解説とか面白そう&便利そう

299 名前:名前は開発中のものです。 mailto:sage [2007/10/26(金) 23:39:08 ID:HBlQXi9f]
ゲームそのものの解説になるけど、そういうサイト自体少ないからな。


それより、wikiの更新が途切れないのはいいんが
あの独特のインデント・カッコの使い方は修整してもいいんだろうか?
まぁコード書いてる本人が判ってるなら別に文句を言う筋はないんだが
あんなスタイル始めて見た

300 名前:名前は開発中のものです。 mailto:sage [2007/10/27(土) 00:00:22 ID:94TX4bJ6]
いいよー。もともと我流の上に、普段からTAB使いなんで
WIKIだと自分でも分かりにくいなと思ってる。




301 名前:名前は開発中のものです。 mailto:sage [2007/10/29(月) 22:11:56 ID:F5r4jyoq]
今更思ったんだけど……。
RPGの制作って解説に向いて無い?
ソースの増え方が天井知らず。

302 名前:名前は開発中のものです。 mailto:sage [2007/10/30(火) 00:03:44 ID:c1631LRa]
RPGでソースが増えるのは仕方ないかと

jafじゃなくてtxtファイルにしてくれたらブラウザで読めて便利かなと思った
ファイル数多いと落とすのがちょっと大変
まあ勝手な言い分なのでやりやすい形で続けてくれ

303 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 00:12:05 ID:mCtKzBY/]
システム4.0でシューティングは作れるのだろうか
グラディウスやR-TYPEのレベル

304 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 00:29:38 ID:v32JWrVo]
システム4.0でシューティングのサンプル、見たことありますよ。

305 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 00:43:59 ID:mCtKzBY/]
すげぇ
突き詰めればかなり融通が効くのだろうか

306 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 07:09:28 ID:53sZItNQ]
タスクシステムサンプルならスゲスゴにあると思う。

融通が効くというか、関数ポインタを構造体に持たせられるなら、
STGもACTもRPGもSLGもSRPGもそれほど変わらないような作り方で出来る。
処理の重さがネックだけど。

307 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 07:17:14 ID:mCtKzBY/]
関数どころか算数が出来ないレベルに落ちたぜ

最低限は可能だが(プラスマイナスかけるわり算)
それ以上の方程式という高度なレベルは
学生時代から投げ出していたぜ

そんな自分でもシステム4.0を構築出来なくはないレベルなのだろうか

308 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 11:16:48 ID:4l261QOy]
大丈夫でしょ。
面倒な計算はそれこそPCにさせればいい。

309 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 11:33:17 ID:mCtKzBY/]
何という恐怖
システム4.0を突き詰めれば
大概のゲームが作れるとわ…

数学分からないとか言い訳せず
頑張ってみる

310 名前:名前は開発中のものです。 mailto:sage [2007/11/01(木) 19:34:57 ID:gkLUOEZ3]
究極に突き詰めたら、
最初にゲームシステムDLLを呼び出したまま最後まで返ってこなくなる気がする。
まあそこまで行ったら他のフリーライブラリのほうがいいんじゃね?とも思うが。



311 名前:名前は開発中のものです。 mailto:sage [2007/11/02(金) 17:38:20 ID:LI5jfqFF]
俺はアリス儲だからsystem4.0でやる事に意義がある
まあたいしたもん作ってないけどさw

312 名前:名前は開発中のものです。 mailto:sage [2007/11/02(金) 23:44:46 ID:n3OSdW5H]
ユーザークラブのZEROは「こういうのも作れます」
のよい見本だと思う。

313 名前:名前は開発中のものです。 mailto:sage [2007/11/05(月) 22:47:48 ID:eDoMJSU2]
うー実行時に

【HLLからIString::Set()が呼ばれましたが、stringの実体は一時オブジェクトです】

と出る……。
これがintの場合は大丈夫なのに何故でしょう。

314 名前:名前は開発中のものです。 mailto:sage [2007/11/06(火) 21:18:33 ID:dVZUWYYT]
>313
ふと思ったんだが、dll.func("ABC")とかやってない?
ref stringで。
いや、参照じゃなくてもこれができるかはわかんないし、
intなら大丈夫の意味もわかんないんだけど。

もし自前DLL作ってるなら、
どういう風に呼び出してるかとかHLLとか出してみてよ。
(そのままじゃなくてもいいから)

315 名前:名前は開発中のものです。 mailto:sage [2007/11/06(火) 23:18:45 ID:cZ2R0MB+]
それが自作のDLLを使用しているわけではないんです。
全体のソースをはらせていただきます。

wikiwiki.jp/system4/?plugin=attach&pcmd=open&file=Source.zip&refer=%CB%DC%A5%B9%A5%EC%A3%D1%A1%F5%A3%C1%A4%DE%A4%C8%A4%E1

無駄に量はありますが、エラーの条件は

RPG \ CHAR_MAKE \ tagObject.jaf

にある、object構造体のコンストラクタの一行です。
同ファイルの先頭にあるg配列の

array@object asChar[20];

の要素数の倍、実行時にエラーメッセージが出るようですが、原因の見当がつきません。
ローカルでoName_baseを呼ぶ分には問題ないようです。
もし宜しければ教えて下さい。

316 名前:名前は開発中のものです。 mailto:sage [2007/11/06(火) 23:23:09 ID:cZ2R0MB+]
あれ……テキストは直リンクできるのにZIPは出来ない?
このファイルです。

wikiwiki.jp/system4/?plugin=attach&pcmd=info&file=Source.zip&refer=%CB%DC%A5%B9%A5%EC%A3%D1%A1%F5%A3%C1%A4%DE%A4%C8%A4%E1

317 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 20:40:19 ID:aH1Zfske]
ええとごめん、時間がないからエラーの出る場所だけで。

game_main>asChar_Data>oCharMakeと辿っていって、
最終的にans_t::SString関数内の
if(szX != szA){asY[nL] = szX;return asY[nL];}
の行でエラーが出る。
asChar_Dataを呼ぶ前にAコマンドで止めて、
ブレークポイント使ってステップ実行するとわかると思う。

ただ、使い方が間違ってるのかどうかまではわかんない。
(ライブラリの作者さんならわかりやすいのかな)
あと、intなら大丈夫の意味も未だにわかんない。

318 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 22:25:35 ID:aH1Zfske]
ふと思いついて、
if(szX != szA){asY[nL] = szX;return asY[nL];}

if(szX != szA){asY.Erase(nL);asY.Insert(nL, szX);return asY[nL];}
としたらエラーはなくなったんだが、
これは>313、ライブラリ作者さん共に正しい動作になってるか?

319 名前:名前は開発中のものです。 mailto:sage [2007/11/07(水) 23:13:39 ID:xpaYlRaB]
>>317-318
どうも有り難うございます。エラー箇所は分かったのですが、
何故エラーになるのかがどうしても分かりません。

>>318
まことに申し訳ないのですが、正しい動作になりません……。
第二引数に何を入れてもマウンテンデューが返ってくるようです。
「intなら大丈夫」というのはこういうことです。

//テスト
void game_main(void)
{
ans_t MS;

//MS.nSet("keyword",100);
//MS.nSet("keyword",200);
//N(MS.nGet("keyword"));A;//正常な動作だと200が出力

MS.ssSet("keyword","じむ");
MS.ssSet("keyword","がんたんく");
S(MS.ssGet("keyword"));A;//正常な動作だと"がんたんく"が出力
}

nSetはans_tのメソッド、SNumとほぼ同等のメソッドです。
ssSetはans_tのメソッド、SStringとほぼ同等のメソッドです。
SNumとSStringの違いは、int配列に入れるかstring配列に入れるかというだけで、
操作はほとんど同じです。

しかしnSet(上のコメントアウトしている方)は正常に動作し、
下のssSetの方は単独では前述のエラーメッセージが出ます
(コメントアウトを外し、先にnSetの方を動かすとssSetの方も正常に動きます)
どうしてこんな違いが出るのかに大混乱です。

320 名前:318 mailto:sage [2007/11/08(木) 19:54:53 ID:mXVUOzqf]
あ、InsertはPushBackしないのか。
>318の修正を
if(szX != szA){asY.Insert(nL, szX);asY.Erase(nL+1);return asY[nL];}
にしてみて。
修正前は文字列を直接置き換えてたっぽいから、
新しい文字列をその位置に挿入した後、後ろに一つずれた以前の文字列を削除するようにしてみた。

>319でもエラーは出ないし、
RPGの方も「無人」とか「勇者」とか出るようになったからちゃんと動いてるとは思う。

原因はわかんない。
stringの配列要素に直接代入するところが特殊仕様かもしれないけど、
ちゃんと動くこともあるからSystem4.0のバグなのかなぁ。
エラーが出るときもそうでないときも
デバッガに出るans_t変数の現在値は変わらないように見えるし。



321 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 19:56:16 ID:NpNB32t6]
代入はできませんが、加算代入はできるようなので、とりあえず↓こういう形でしのぐことにしました。

とはいえ、何故「asY[nL] = " "」が出来ないのかは未だに分からないので、
もし分かる方がいたらいつでもいいので教えて下さい。一定の条件のもと、
stringの代入が不可になるというのは、条件が分からないままだと困りそうです……。


//stringエラー対策用の代入式
void ADD(ref string szX,string szY)
{
int nLength = szX.Length();
szX += szY;
int nL;

for(;nL < nLength;nL++)
{
szX.Erase(0);
}
}

//文字列から要素を検索し、szXを返します。[asXが要素の役割]
string SString(string szX,string szV = szA,string szY = "Renew")
{ ans_ReAlloc;
int nL;for (nL = 0;nL < asX.Numof(); nL++)
{if(szX == asX[nL]){if(szV == szA){return asY[nL];}
if(szV != szA){ADD(asY[nL],szV);return asY[nL];}
}
} if(szY == "Renew" && szV != szA)
{asX.PushBack(szX);asY.PushBack(szV);return szV;}
return szA;
}

322 名前:名前は開発中のものです。 mailto:sage [2007/11/08(木) 20:02:41 ID:NpNB32t6]
>>320
どうも有り難うございますー。上手くいきました。
値に干渉するのはよくて代入だけ駄目というのは本当何なんだろう……。

323 名前:名前は開発中のものです。 mailto:sage [2007/11/10(土) 18:30:17 ID:EfYdmYW2]
まとめwikiからHLLshotcat.zipをダウンロードしたんだがパスが解らん
送られてきた会報のメールを確認してユーザーID入れてるんだが上手くいかないorz


324 名前:名前は開発中のものです。 mailto:sage [2007/11/10(土) 18:34:59 ID:EfYdmYW2]
と思ったら出来た
スレ汚しスマソ

325 名前:名前は開発中のものです。 mailto:sage [2007/11/13(火) 07:08:47 ID:E7kpa99+]
気がつくとWIKIもグーグルの1ページ目だなあ。内容は
初心者向けなのか上級者向けなのか分からないところはあるが……。

326 名前:名前は開発中のものです。 mailto:sage [2007/11/19(月) 00:19:07 ID:5fRgCIrj]
いいってことよ

327 名前:名前は開発中のものです。 mailto:sage [2007/11/28(水) 23:43:23 ID:GQA8QXik]
最近、関数や機能の整理ためにクラス使い出したんだけど、
クラス内のメソッド関数にデフォルト引数って使えんの?

「メソッド定義にデフォルト引数は使用できません」

ってエラーになっちゃうんだけど。

マニュアルのデフォルト引数の説明見る限りは使えるっぽいんだけどなあ。

328 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 01:38:38 ID:YNi9MS+N]
メソッドを分割して定義してるなら、上に定数を入れたらできたよ。

329 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 06:18:36 ID:Z4mGFDpB]
メソッド定義って出てるからそっちに書いてるんじゃない?
実装側に書かないと。

330 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 06:23:12 ID:Z4mGFDpB]
ごめん、違ってた。
忘れてorz



331 名前:名前は開発中のものです。 mailto:sage [2007/11/29(木) 21:24:17 ID:vAxuvCot]
おお、なるほど。
クラスの定義側で定数入れて、
実装側は引数の宣言だけしておけばいいのか。

定義と実装両方同じにしておかないといけないと思ってましたorz


332 名前:名前は開発中のものです。 [2007/12/10(月) 19:19:39 ID:MKJaX+BI]
age

333 名前:名前は開発中のものです。 mailto:sage [2007/12/11(火) 18:39:15 ID:usuyb1bv]
>>25みてarray@int@4 asasas[1000][1000][1000][1000];とかやってみたら超絶重くて大爆笑した

334 名前:名前は開発中のものです。 mailto:sage [2007/12/16(日) 16:32:57 ID:F9amJRpt]
mp3使えない事に気付かず一日を無駄にした(;´Д`)

335 名前:名前は開発中のものです。 mailto:sage [2007/12/17(月) 20:52:51 ID:LmPKFuIU]
>>333
 array@int asasas[1000000000000];
と消費メモリは同じですからね。大抵応答待ちで固まる。

WIKIの方も更新感謝。ところで、

>プロジェクトファイルがあるフォルダの下に、"Shortcut" という名前のフォルダを作成し、
>その中にショートカットファイルを入れておくことで、統合環境のプロジェクトワークスペースの
>ファイルタブのショートカットフォルダにショートカットの一覧が表示されます。
>それらをダブルクリックすることで、そのショートカットを実行できます。

とマニュアルに書いてあるのですが、これはどういうファイルが実行されるんでしょう?

336 名前:名前は開発中のものです。 mailto:sage [2007/12/19(水) 22:49:07 ID:tM4C1oFz]
やってみれば解るけどそのショートカット元のプログラムが実行されるよ

っつーか今まで知らなかったけどこれ便利だな
とりあえず電卓は常に入れておく事にしよう

337 名前:名前は開発中のものです。 mailto:sage [2007/12/24(月) 10:38:52 ID:TLPoSiAJ]
戦国ランスのソースとかってないのか?
戦国みたいなゲーム作りたいがどこがどうなってるのかよく分からん(´・ω・`)

338 名前:名前は開発中のものです。 mailto:sage [2007/12/25(火) 21:41:17 ID:rTg9VkUH]
ない。

具体的に、ココがこう判らん、という話なら
教えるなり議論するなり、話の種くらいにはなるかもしれないが

339 名前:名前は開発中のものです。 mailto:sage [2007/12/26(水) 05:49:19 ID:ZQpX3LBN]
ココがこう判らん
それがわかれば問題の8割は解決済みだ

340 名前:名前は開発中のものです。 mailto:sage [2007/12/26(水) 06:02:44 ID:iWoIrrsz]
プログラムの常識かsysytem4の仕様か分かんなくてうやむやなとこが一番つまづいた



341 名前:名前は開発中のものです。 mailto:sage [2007/12/26(水) 20:03:45 ID:Mctx91sa]
「作りたい物」を分割&抽象化して、
ソースコードと対になる設計にまで持ち込む作業ってコーディングより難しい。
というか、そこまでがゲームプログラムのキモだし。今更言うようなこっちゃないけど。

なんで、とりあえずお題を決めて何か喋ろうぜ。

342 名前:名前は開発中のものです。 mailto:sage [2007/12/27(木) 10:15:46 ID:f6iZ7GYt]
お題
system4.0ですごいと思った所

343 名前:名前は開発中のものです。 mailto:sage [2007/12/27(木) 19:33:22 ID:2qgB1qG1]
マイナスが使えるところと65535以上まで使えるところかな……。あと配列があるんで
3.XとかNScript風の文字列設定にもできるところ。ネット機能が失われたのは残念。
そんな私は3.Xからの移行組。

344 名前:名前は開発中のものです。 mailto:sage [2007/12/28(金) 19:27:29 ID:Qh9aViXN]
エロゲのシステムを触ったことがないので、もしかしたら当たり前の機能なのかもしれないが・・・

変数の表示くらいならともかく、スタックを総ざらいしたり
ブレークポイントをかけたりできるのに感動した。
ある意味、もうVS&C++でいいぢゃんという流れになる諸刃の剣だが

345 名前:名前は開発中のものです。 mailto:sage [2007/12/28(金) 23:22:01 ID:KfUqS68a]
>>338
やっぱり無いのか(´・ω・`)

じゃあ質問なんだが
戦国で相手の行動パターンってどんなかんじで作ってあるんだ?
交戦状態のときとか兵数が一定以下になったら攻めるのをやめるみたいな感じなんだろうけど
どういう風に書けば良いのかわからん


346 名前:名前は開発中のものです。 mailto:sage [2007/12/28(金) 23:45:23 ID:MhwWZ8rw]
説明が難しいな……。国データと直結している。
多分国データの内部にある武将データが関係。

347 名前:名前は開発中のものです。 mailto:sage [2007/12/29(土) 00:35:25 ID:kfiiBsKO]
struct 武将{
 兵数
 種別(前衛or後衛)
}
struct 軍団プリセット{
 種別[6]
}
struct 国{
 武将配列、軍団プリセット配列
}
軍団プリセット 全部忍者 = {忍者、忍者、忍者、忍者、忍者、忍者}
軍団プリセット バランス[1] = {武士、僧兵、なし、弓、巫女}
軍団プリセット バランス[2] = ・・・

void ターン(){
 for(国ID=0 ; 国ID<国数 ++国ID){
  if(交戦中フラグ[国ID]){
   国行動( 国ID )
}}}
国行動( 国ID )
{
 if(合戦回数=1)
  rerurn 全部忍者
 
 for(int i=0 ; i<試行回数 ; ++i)
  if( 派遣できる?関数( 国データ,バランス[ramdom] ) ) return バランス[ramdom];
 return 待機
}

ごめんかなり適当に考えた
複数回行動は定数とか割合を基準にして適当に計算したら楽だけど
SLG作るならもっとスマートにやらなきゃいかんのかな・・・ 定数使うのは意外とアリだと思うけど

348 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 15:11:34 ID:8hcAIO7D]
SLG作る際に重要な機能ってなんだ?


349 名前:名前は開発中のものです。 mailto:sage [2007/12/30(日) 17:34:45 ID:iIx8r+UB]
構造体かな?
あと関数呼び出しのオブジェクト(関数ポインタだっけ)。
RPGでも重要だけど、思考ルーチンはSLGの方が重視されがちだし。

350 名前: 【末吉】 mailto:sage [2008/01/01(火) 01:34:40 ID:ZLqCplPi]
あけおめことよろ。
さて今年の開発進行はどうかなっと
おーみーくーじー



351 名前:名前は開発中のものです。 mailto:sage [2008/01/02(水) 18:38:49 ID:yjODYZJu]
構造体同士のメンバ変数全部加算させるみたいな事出来ないものか・・・

352 名前:名前は開発中のものです。 mailto:sage [2008/01/02(水) 22:03:35 ID:vVbqFkaY]
演算子のオーバーロードがやりたいなら、無理だ。

普通に、構造体を2つ渡す関数を用意するのじゃ駄目かね?

353 名前:名前は開発中のものです。 mailto:sage [2008/01/03(木) 00:22:17 ID:J9suxAsk]
初歩的な質問で申し訳ないけど……。
整数を16進数で返す方法ってありますか?

354 名前:名前は開発中のものです。 mailto:sage [2008/01/03(木) 09:20:17 ID:fZeOkcpH]
Sys4に限らないと思うけど、
2進数も10進数も16進数も、表記法が違うだけで中身は同じだよ。

10進数16が、16進数0x10という見た目になるだけであって
どちらもint型変数に格納できる。

355 名前:名前は開発中のものです。 mailto:sage [2008/01/03(木) 10:31:39 ID:J9suxAsk]
はい。つまり表記で返すやり方を知りたいのです。
例としては、整数65535 を 文字列"FFFF" で返すということです。

356 名前:名前は開発中のものです。 mailto:sage [2008/01/03(木) 16:11:12 ID:X7Gj3bxx]
>>355
プログラムの中で返したいの?

って、変換した奴だけ使いたいなら、いくらでもソフトあるか。

357 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 08:38:05 ID:bR+AzSYo]
>>355
いろいろ試してみたけどむずかしい。10→16なら簡単なんだけどね。
方法を予想してみると、とりあえず16進数の桁数だけ領域を取った一次元のint配列に
「1-15」までの要素を入れ、最後にくっつけるやり方がスマートかもしれない。10進数から
16進数の桁数を算出する方法と、要素に16進数での値を入れる方法さえ分かればできると思う。
(俺はわからない)

358 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 12:15:27 ID:Bc3fruj+]
"%x"とかじゃ駄目なんか

359 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 13:36:14 ID:ZvrZQLG7]
間違えた。16→10だ。
つまり"FFFF"を 65535 にするならWIKIを参考にできるんだが。

>>358
"%x"って何だっけ?
出力変換なら、そういうのは無かったように思う。

360 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 14:18:47 ID:Bc3fruj+]
適当にググったらCめいた出力変換が出来る様なことが書いてあったよ
ttp://www.geocities.jp/akt_trade/sys40/ScenarioVar.html
俺はsystem4.0使ってないから無責任な発言ですまんが



361 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 15:48:13 ID:VVEb3/k/]
れつとれさんとこのは使い方が違うような……
蛙のダンジョンさんとこのソースがいいんじゃない?

362 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 17:04:16 ID:i/Zwdvnb]
蛙のだんじょん!ところの人です。
頑張ってソース書いたけど、れつとれさん所の解説読んだら、出力変換できました。
以下ソース。(パラメータあんまりよく分かってません)

void 10→16進数(){
int 元=RAND(2147483647);
string 結果="%0X" % 元;
'10進数:'NH(元);R;
'16進数:'S(結果);A;
}

363 名前:名前は開発中のものです。 mailto:sage [2008/01/04(金) 19:34:30 ID:ZvrZQLG7]
おおほんとうだ。マニュアルには
int値変換%d float値変換%f string値変換%s char値変換%c bool値変換%b
しか書かれてなかったから試さなかった。すまん>358。

"%X"は2バイト文字ではなく大文字になるみたいだね。
ありがとう熾憂さん。

364 名前:名前は開発中のものです。 mailto:sage [2008/01/09(水) 20:42:47 ID:oVZERYj2]
>>356-363
遅くなりましたが有り難うございます。
おかげで型sz、引数intの関数をつくれました。

365 名前:名前は開発中のものです。 mailto:sage [2008/02/02(土) 22:57:39 ID:ykvhHgTN]
プログラマ募集キター!!!
腕に自身のある奴、行っとけ!

俺は無理orz

366 名前:名前は開発中のものです。 mailto:sage [2008/02/03(日) 00:14:39 ID:fzEiLEZm]
大阪まで通えません><

そもそも腕に自信もないがorz

367 名前:名前は開発中のものです。 mailto:sage [2008/02/14(木) 15:33:24 ID:lFvH5fEb]
SACT2関数の
REGISTER_MESSAGE_CALLBACKとSACT_MESSAGE_REGISTの
使い方が良くわかりません。
サンプルコードを試してみたがマニュアルにあるコードの実行例を再現できない。

ボスケテ

368 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 01:56:37 ID:OruBd+lh]
サンプルコードとは違うけど、コールバック関数内のreturnを消して、
一番最後にSACT_MESSAGE_REGISTを追加すれば、再現はできるよ。

369 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 02:16:48 ID:IniXt8yd]
ボス 決して走らず急いで歩いてきて そして早く僕らを助けて…か! むう lFvH5fEb…なんて難しい注文を!

蛙でございます。
//ユーザー定義コールバック関数
void game_message_callback(ref int nMsgNum,int nNumofMsg, ref string sText){
//メッセージが 主人公 という文字列であれば ランス に置き換える。
if(sText=="主人公"){
sText="ランス";
nMsgNum = -1;
}
SACT_MESSAGE_REGIST(nMsgNum, sText);
}
void 初期化(){
REGISTER_MESSAGE_CALLBACK(&game_message_callback);
}

SACT_MESSAGE_REGIST関数が''内の文字を表示させる関数っぽい。しかしmessage関数の処理を見たらユーザー定義コールバック呼出が設定されているときに、このSACT_MESSAGE_REGIST関数が処理されない感じだった(たぶん)。
SCAT弄るの嫌なのでユーザー定義のコールバック関数の方に追加。
なお、ソース見たらsact_message_callback_tは関数型だったので、REGISTER_MESSAGE_CALLBACKの引数はsact_message_callback_t型の関数を使えということだろうと。
多分マニュアルの単純な記述ミスだと思います。

関数型って何なんだ…って所から始めたので、正直合ってる自信がないけど、一応動いたことは動いたので、取りあえず動けばいいやってことでしたら。
正しい説明は他の人お願いします。

370 名前:名前は開発中のものです。 mailto:sage [2008/02/16(土) 10:06:39 ID:nq5dFx5j]
>>368-369
ありがとうございます。再現できました。



371 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 08:31:00 ID:SkvlBWml]
ニコ動に、作ったものを投稿したいのだけれど
sys4で録画する方法が分かりません。どうすればいいんでしょう。

372 名前:名前は開発中のものです。 mailto:sage [2008/03/09(日) 19:13:29 ID:Cz82xsvA]
sys4と関係ない一般的な話だから、Windows板かソフトウェア板にでも行って
DirectXでもキャプチャできるソフトを探せ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<147KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef