トップページgamedev
990コメント416KB

ズブの初心者がゲーム作れるまで勉強するスレ

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。01/11/07 20:26ID:PFtlmWD9
【参加資格】
ズブの初心者以外お断りです。

なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
0480名前は開発中のものです。04/05/17 17:08ID:6yEm3iSB
なるほど、微妙につかめてきました。どうもです
MOTHERでいうと最初の電気スタンドを倒したところです
0481名前は開発中のものです。04/05/18 16:37ID:H7HjmD2r

すいません、elだとどんな感じになりますか?

bool ってのは真偽の為のものですよね?
0482名前は開発中のものです。04/05/18 17:57ID:mlpq/arS
boolが使えなかったら{
int isAlive;//弾の生存フラグ
で、isAlive=0が画面に出てないヤツ、isAlive=1が画面に出てるヤツとか、
2つの状態を区別できれば、型はなんでも大丈夫だよ
0483名前は開発中のものです。04/05/18 20:20ID:oOiAEM3V
el ってCベースというか、Cそのものだと思うんだが。
0484名前は開発中のものです。04/05/18 21:56ID:z93EQDk5
そのCがあまり分からないのです。

つまり作れないって事です
0485名前は開発中のものです。04/05/18 23:04ID:oOiAEM3V
作れないなら、まぁ、がんばれというか、勉強してください。

479さんの上げた例はCなので多分問題なくいけるはずですが。
使用言語の基本書式とか理解してないとゲーム以前の問題になりませんか。

「猫でもわかる」でぐぐったりしてもう少し基礎の所からはじめるのをお勧めします。
もしくはツクール。
0486名前は開発中のものです。04/05/19 02:06ID:39xvAhxl
Cできなかったらelもあまり分からないことないですか?
0487名前は開発中のものです。04/05/19 02:48ID:KEtzYPtB
>>486
学習ガイドライン
1.Cを覚える(教科書は「猫でもわかる〜」でOK)

2.elのサンプルコードを読む(判らない部分はとりあえずgoogleへ)

3.elのサンプルコードを改造する(一ヶ所変えるたびにコンパイルして実行)

4.本番(もう何も言うことはない)

途中のステップをとばすと「自分が何を判らないのか判らない」状態にはまるから
トータルで考えれば時間の無駄になるよん。
048847804/05/19 16:33ID:ryT9K2cQ
親切な助言どうもです。
Cは基礎は大丈夫だと思います。まあ、これも勉強します。

>2.elのサンプルコードを読む(判らない部分はとりあえずgoogleへ)

>3.elのサンプルコードを改造する(一ヶ所変えるたびにコンパイルして実行)

で、今ここら辺をやっているわけですがSc2のコードを見て弾の部分を理解しようと試みています。
余計なものが多くてややこしいですが、頑張ってれば理解できそうな感じです。
0489名前は開発中のものです。04/05/19 16:52ID:ryT9K2cQ
とと、いろいろいじってたらエラーの数も減ってきて遂に0に。
もう少し頑張ってみれば何とかなりそうです。

やっぱ成長するにはいろいろ悩まないと駄目ですね。
0490名前は開発中のものです。04/05/19 20:50ID:AQMqopBj
>>488 君は >>484 とは別人なのかな?
0491名前は開発中のものです。04/05/20 17:21ID:Mw1SlL99
>>490
いや、同じです
というか>>484以外はだいたい自分です、>>464です。
049246404/05/22 14:11ID:ptk8g+iv
>>479
最初は何のことだか解らなかったのですが、構造体ということがやっと解りましたw
これは便利ですね、少し賢くなりました。どうもです
049346404/05/25 16:53ID:QdGCgPCN
構造体と++のクラスってのは似たようなものですか?
0494名前は開発中のものです。04/05/25 19:01ID:FiBx1oTV
struct X
{
  int a;
};


class X
{
public:
  int a;
}:
はかなり似てます。
0495名前は開発中のものです。04/05/25 19:02ID:FiBx1oTV
あ・・・・・・・。

誤) }:
正) };
049646404/05/26 22:39ID:U7ffWaSi
どうもです
0497HSPビギナー04/06/21 18:45ID:CIr1o5ig
初めまして。今日からHSPを学ぼうと思っております。初心者ですがよろしくお願いします。
それで、さっき5時間くらいかけて初めて数当てゲームぽいものできたのですが、ここにソース貼り付けたら何かアドバイスしていただけるのでしょうか?
0498名前は開発中のものです。04/06/21 23:04ID:M6UaUL66
>>497
数当てゲーム程度の規模だとあまり工夫の余地がないのでアドバイスしにくいかもなあ。
「上手く動かない」とかならともかく
0499HSPビギナー04/06/21 23:32ID:CIr1o5ig
>>497
レスありがとです。そですか〜、では次に簡単なものって何があるか分かります?テトリスとかですかねぇ・・?
0500HSPビギナー04/06/21 23:35ID:CIr1o5ig
連レススマソ
上の>>497>>498の間違いです_| ̄|○
0501名前は開発中のものです。04/06/23 12:50ID:MYfPkn/Q
>>500
15パズル。
数当てで使ってると思われるinputなどのコントロールを使わないやつを練習すべし。
0502HSPビギナー04/06/30 20:16ID:vWGgncp3
一週間ぶりにカキコします_| ̄|○
15パズル作ろうとしてるんですが、どうやったら作れるのかまだ分かりません。
自分的に考えているのは↓
1.まず○を → ○○○○
         ○○○○
         ○○○

と表示し、
2.次に○のなかに数字を振り分け、

3.最後にクリックすれば○が無い方向に動く

というようにすればできると思うのですがどうなのでしょうか?

これであっているのなら、まず初めのどうやったら○が並ぶのかがいまいち分かりません_| ̄|○
教えて君ですいませんが、お願いします。

P.S 長文&読みにくい文章でスマソです_| ̄|○
0503HSPビギナー04/06/30 20:24ID:vWGgncp3
連レススマソ

○○○○
○○○○
○○○
と表示させたかったのですがずれました_| ̄|○
0504名前は開発中のものです。04/07/01 02:59ID:Er33M+6r
>>502
01020304<改行>
05060708<改行>
09101112<改行>
131415■<改行>
HSPはしらないけど、↑みたいに表示すれば文字だけでも表示できる。
上下左右を押すと■がその方向の数字と入れ替わるようにすれば充分かと。
050550104/07/01 16:23ID:Uuze0tzS
>>502
504の言うように、空白が移動方向のパーツと入れ替わるようにすればいい。
ポイントは配列変数、空白の座標の管理だな。
表示は各パーツごとに表示する。こんな感じ。テキトーに改行してくれ。

//パーツの表示サイズ
#define PARTX 32
#define PARTY 32
#const PARTBX PARTX-2
#const PARTBY PARTY-2

dim part,4,4:px=3:py=3//配列宣言と空白の座標

//配列に数値を格納
i=1:repeat 4:y=cnt:repeat 4:part.cnt.y=i:i++:loop:loop
part.px.py=0//空白部分は0にする

//表示してみる
color:boxf
repeat 4:y=cnt:repeat 4
if part.cnt.y {
xx=cnt*PARTX:yy=y*PARTY
color ,,255:boxf xx,yy,xx+PARTBX,yy+PARTBY
color 255:pos xx,yy:mes part.cnt.y
}
loop:loop

stop
0506名前は開発中のものです。04/07/02 12:25ID:u1M+Bkgk
フリーでRPGには何が必要ですか?
win98を使っています
0507名前は開発中のものです。04/07/03 21:18ID:dqxJIYXl
自分が考えていることを的確に相手に伝える文章力
0508名前は開発中のものです。04/07/04 02:44ID:/gx8vrG/
知性
0509HSPビギナー04/07/12 01:52ID:NjMiC/7h
>>505
自分なりに解釈してみました。

//パーツの表示サイズ(定義しておく)
#define PARTX 32 //PARTXは32である
#define PARTY 32 //PARTYは32である
#const PARTBX PARTX-2 //PARTBXはPARTX-2である(つまりこの場合は30である)
#const PARTBY PARTY-2 //PARTBYはPARTY-2である(つまりこの場合は30である)
dim part,4,4 //配列宣言(part 0,0 から3,3 まで使用できるようにする)
px=3:py=3 //空白の座標
//配列に数値を格納
i=1 //とりあえずiに1を代入
repeat 4 //4回繰り返す
y=cnt //とりあえずyにcntを代入(初めのリピートについての回数になる)
repeat 4 //4回繰り返す
part.cnt.y=i //part.cnt.yの座標の値はi(この場合のcntは後の方のリピートについての回数)
i++ //iに1を加える
loop //後のrepeatについてのループ
loop //初めのrepeatについてのループ
part.px.py=0 //空白部分は0にする(つまりpart 3.3は0)
0510HSPビギナー04/07/12 01:55ID:NjMiC/7h
//表示してみる
color //色の設定(ここでは黒)
boxf //塗りつぶし(指定していないので背景が塗りつぶされる)
repeat 4 //4回繰り返す
y=cnt //yにcnt(ループ回数)を代入
repeat 4 //4回繰り返す
if part.cnt.y { //もしpart.cnt.yなら
xx=cnt*PARTX //cnt*PARTXをxxとする
yy=y*PARTY //y*PARTYをyyとする
color ,,255 //ここでは青色に設定している
boxf xx,yy,xx+PARTBX,yy+PARTBY //(xx,yy)と(xx+PARTX,yy+PARTBY)を左上、右下の点として、矩形(四角形)を塗りつぶす。
//描画色は、color命令で設定されたものになる。
color 255 //色の変更(ここでは赤色にしてある)
pos xx,yy //カレントポジションを(xx.yy)に指定
mes part.cnt.y //カレントポジションからpart.cnt.yを表示
} //上のことをまとめてする(xx=からmesまで)
loop //後のrepeatについてのループ
loop //初めのrepeatについてのループ
stop //プログラムの実行を一時中断
一行ごとに説明入れてみたので長くなりました_| ̄|○
違ってたら指摘おねです_| ̄|○
(ってかこんな説明いれるのに凄い時間がかかった俺って・・・| ̄|○)
051150104/07/12 21:06ID:Fg4Dow09
>>510
あってる。準備と表示の基本がわかったと思う。
あとは表示部分をサブルーチンにしてしまい、以下の段取りで作っていけばいいかと。
*スタート
・準備。(配列に数字を格納する)
・最初の配置表示。(表示サブルーチンを呼ぶ)
・キー入力を待つ。(いわゆるスタートボタンを待つ待機)
 この時、開始のキーを画面に表示してアナウンスするのが望ましい。
 例:「クリックでスタート」とか。
・シャッフル開始。(空白を300回くらいランダム移動させる)
・シャッフル後の配置表示。(表示サブルーチンを呼ぶ)
 この時、シャッフルで空白を一回動かす度に呼べば、
 プレイヤーにシャッフル中の画面を見せる事になる。そこはお好みで。
*メインループ
・プレイヤーのキー入力を待つ。(マウスでもキーボードでもお好きに)
・空白が動いたら配置表示。(表示サブルーチンを呼ぶ)
・揃ったかどうか判定。
・揃ったらメインループを抜ける。(*揃ったへ)
・揃ってなければ *メインループへ。
*揃った
・揃ったうまを表示。
・プレイヤーのキー入力を待つ。
・*スタートへ。(繰り返し遊べるようにする)

メインループは当然無限ループになるから、waitかawaitは忘れずに。
わからなくなったらまた聞いてくれ。
0512HSPビギナー04/07/13 22:14ID:OxDPuipy
ありがとうございます。
で、いきなりなんですが空白と移動方向のパーツをどうすれば入れ替わるのかが分かりません・・・
repeat
await 10
stick key,0
if key!0 : gosub *keyget
loop
*keyget
if key=1 :
if key=4 :
if key=2 :
if key=8 :
return

ifの後に空白と移動方向のパーツの入れ替えを行いたいのです。
よろしくお願いします。(表示は504にあるソースを引用させてもらってます)
0513名前は開発中のものです。04/07/13 22:43ID:N2yNRIPu
焦る気持ちは解るが、もう少し自分の力で試行錯誤してみようとは思わないのかね?
0514名前は開発中のものです。04/07/13 23:14ID:hVT4K+XE
o 自分が初心者であることを全面に出す
o 「よろしくお願いします」

これも嫌われるのでやめた方がいいですよ
0515HSPビギナー04/07/14 06:24ID:MKaeeCfq
>>513,514
そうですね・・以後気をつけますλ....
0516名前は開発中のものです。04/07/14 08:33ID:x4u7RW7f
>>515
自分のやりたいことを実現するには、作業を細分化して考えるんだ。
表示方法、盤の状態をどんなデータで持つか、どんな条件の時は入れ替えないのか。
データの入れ替え自体はそんなに面倒でもないだろ?
0517HSPビギナー04/07/15 23:33ID:fffn1Y5+
試行錯誤を繰り返した結果エセ8パズルできました。(8ができたら15ができるとおもったので^^;)
とりあえず数字のみが動くようにしました。一応はっときます↓
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazru.as
ぐちゃぐちゃですが「こうしたほうがいいよ」みたいなことがあればレスおねです。
051850104/07/16 05:25ID:KYwEYXqC
>>517
これらの命令を調べてくれ。エディタで命令を書いて、そこでF1を押せば説明が出る。
・gosub、return、repeat、loop、gcopy
すぐに使うことになるから、よくわからなくても説明だけは読んでおく事。
できれば、「これらの命令を使えば物凄くソースが短くなるかも」という事に気が付いてもらいたい。

・シャッフルについて
このシャッフル法だと絶対に解けない場合が出てくる。空白をランダムに移動させる方法をとるべし。

配列変数ってのは、小学校とかに下駄箱あるじゃん?あれが配列変数。
横と縦のそれぞれ何番目かを指定する必要があるが、マス目で並んでるので便利。
4x4の配列変数を作った場合、15パズルと見た目が同じになるから使わない手はない。
当然9パズルの時は3x3の配列変数を作ればよい。
配列変数の作り方は・・・。詳しくはマニュアル読んでくれ。
ちなみに3x3の配列変数を作るには dim 変数名,3,3 と書く。
こうするとメモリに
□□□
□□□
□□□
というふうに変数が並ぶ。(下駄箱ができると思えばいい)
左上にアクセスするには、変数名.0.0。一番下の段の真中は、変数名.1.2。

とりあえず、意地でも配列変数を使ったバージョンに書き直してほしい。
(これができないと、ロールプレイングもシューティングも作れないから)
0519HSPビギナー04/07/16 20:47ID:Y+cW3MUc
dim関数を使ってシャッフル法も変えてみました
使い方合ってるかどうか分かりませんが一応形になったので乗せます
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazuru02.as
少しは短くなったような気はしますがまだまだ多いです_| ̄|○
reprat,gosubあたりをもう少し効率よくつかえればなぁ・・・
0520名前は開発中のものです。04/07/16 22:07ID:70qYYQBd
>>519
「字下げ」も覚えたほうがいいだろうねぇ。(解らなかったらぐぐってみてね)

ところで自分でリストを見直してみて、ほとんど同じような処理を
延々と書き続けていることには気が付いているかい?
何故そう書くことになったのか考えてみよう。
共通の処理で済ませるにはどうしたらいいかな。

まったく同じcolor命令がずらずら並ぶのをなんとかしてみよう。
052150104/07/17 03:55ID:GnjMzHwj
>>519
ソース見せてもらった。だいぶスッキリしたじゃないか。
あのラベルとifの羅列は自分でもなんとかしたいだろう。
そのためには、パーツ移動の考え方を変える必要がある。
つまり、入れ替える方法だな。
上のレスで配列変数を小学校の下駄箱に例えたが、入れ替える方法もそのまんまだ。
□□□  □□□
□□□→□□□
□□■  □■□
黒い所に自分の靴が入っているとする。それを左に移したい場合どうするか?
519ならどうする?
まず、動かしたい靴を自分の手に持たないか?
つまり、一旦別の場所に保管するわけだ。プログラミングで値を保管したい場合どうする?
変数に入れるだろう。答えは、「一時保管用の変数を用意」するだ。
2箇所の靴を入れ替えたい時は?・・・両手を使うだろう。保管用の変数が2個必要ってこった。
何も難しい事はないだろう。

サブルーチン(gosubで飛んだ先の事)の中でgotoはやってはいけない。これはプログラマーの暗黙の了解。
俺は519が作った数当てゲームのソースを見ていないから15パズルを薦めたが、荷が重かっただろうか。
0522名前は開発中のものです。04/07/17 16:51ID:NsP+EN2X
>>519
*za02から*xy802までがまるまるコピーしたルーチンだね。
まるっきり無駄なのは本人もわかってるんだろうケド。
0523HSPビギナー04/07/20 22:25ID:E/KOizbb
gosubのなかでgotoすれば、もしかしたらループから外れてしまうかもしれないのですね・・
少し直してみました。変数を使ってやってみましたが、考え方はこれであってるのでしょうか?
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazuru03.as
そもそもクリックの座標の取り方を変えなきゃだめですかねぇ・・
052450104/07/21 20:06ID:KwUOdNli
>>523
考え方はあってると思うが、無駄が多いのは確か。
お題変えていいか?15パズルはまだ無理だと判断したぜ。
休憩がてらにこの課題をやってみてくれ。
523の実力がどんなもんかを把握しておきたい。

課題:キーボードの十字キーで●を動かすプログラム。
シューティングの自機を動かす練習でもあり、メインループという仕組みを学ぶ事もできる。
stop命令を使わずにこの課題をクリアしてみそ。
0525HSPビギナー04/07/22 17:45ID:fcznb9Aj
>>524
こんなもんでしょうか
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/idou.as
0526名前は開発中のものです。04/07/22 18:56ID:O9iIDjrW
>>525
それができるなら>>523のソースはありえないと思うんだが……
052750104/07/23 21:20ID:QxYTfUZ3
>>525
あのさ、526に同意だぜ。それができるなら523のソースはありえんかと。
メインループってのがわからない人かと思ってた。
自分で考えたよな?どっかのサイトのをコピペしたんじゃないよな?
悪いけどコピペしたように見えちまうぜ。
メインループもしっかりしているし、どの部分をサブルーチンにするかの選別も完璧だ。
画面外処理にも気をつかってるようだし、523のソース書いた人と同じとは信じがたい。レベルアップしたって事なら心から祝福するが・・・。
とりあえず自分で考えたって事で話を進めるぜ。実力はわかった。
ここまでできれば15パズルなんざ屁でもないはず。
メインループを使って組んでみてくれ。
0528HSPビギナー04/07/27 22:13ID:MycCT3Ob
コピペではないのですが、顔が移動するっていうソースを参照したのは確かです。。
http://www66.tok2.com/home2/ankokunosyoujo/cgi-bin/up/source/9pazuru04.as
いつdim関数を入れ替えればいいのかがまだ理解できません_| ̄|○
052952004/07/28 08:06ID:dtD/YKE5
大分スッキリしてきたね。(^^
でもまだ似たような処理が複数あるし、ループ内で行う処理の流れも把握し切れてないみたいだ。

たとえば『*move』で行う処理を単純化して変数keyの値(stick命令で得た情報)をもとに
「→が押されたときの処理」など別のサブルーチンに飛ばすだけにしてみたらどうだろう。
その飛び先で例外処理(528の『if n>358』みたいな場合、処理前にそのサブルーチンから抜ける)を行う。
配列内の値(マスの数字)はそこで入れ替えればいい。

ただし、この方法で行うにしてもメインループから『*sub』が毎回呼ばれるようでは
配列内の数値が毎回初期化されてしまうよね? 
それは『*sub』内で配列に数値を入れているからだよね?
だからループ内で行うべき処理とそうでない処理を分割してみよう。
053050104/08/07 01:45ID:2Nt1AYKG
>>528
マイルール作ろうぜ。
if key=8と書いてる所とif key = 128と書いてる所があるが、イコールの前後に空白を開けるか開けないか決めたほうがいい。
あと、変数の名前の付け方とかも決めたほうがいいな。
それを決めるとプログラミングの上達が速いから。騙されたと思って統一させてみな。
いつdim関数を入れ替えるか?中身をいつ入れ替えるかってこと?
当然空白が移動した時。順番はこう。
1、空白が移動できるなら元の位置を捨て変数に代入して移動。移動できなければ何もしないでメインループに戻る。
2、元の位置と現在の位置の中身を入れ替える。
3、画面に反映させる。(描画サブルーチンを呼ぶ)
こんな感じ。
空白の位置がどこかは配列を調べていってゼロの場所を探せばいいが、
>>505の俺のサンプルでは空白の位置をわざわざpx,pyに格納してるよね。なんでだと思う?
>>528の修正版ではわけもわからずpx,pyを使ってるみたいだね。
こうやって空白の位置を専用の変数に入れてるのは、こうしたほうが入れ替えが楽だから。
カーソルキーを押した時に変化させる数値はpx,pyって事。
空白はRPGの主人公と同じ意味。とりあえず今回はこんだけのヒントでなんとかなるかも。
0531名前は開発中のものです。04/08/10 13:20ID:GK5zdL7G
マインスィーパを作りたいのですが、何をはじめていいかさっぱり・・・_| ̄|○
ご助言を受け賜りたいです。
0532名前は開発中のものです。04/08/10 13:49ID:hjsHi1LT
>>531
使用する言語は何かわからんけど
とりあえず絵の表示とキー入力の取得が先かな
まぁ、これはマインスィーパに限った話じゃないが
0533名前は開発中のものです。04/08/11 09:34ID:2huBTHVu
>>531
何がわからないのか書いてくれないと答えようが無いんだが……。
ホントになにもできないなら>532の言うとおりになる。

とりあえず
配列を用意して機雷を配置 (機雷が規定個数入った配列を用意して乱数で並び替え)
配列を順にチェックして、空欄の時は周囲8マス内にある機雷の数を入れる
マスが隠されているか開いているかの状態を表す配列を用意(531ができるなら上と同じ配列を使って処理しても良い)
クリックしたマスが隠されたマスなら中身を表示(機雷ならゲームオーバー)

周囲の機雷が0だったときの処理はひとまずおいといて、
ここまでやってみれ。
0534名前は開発中のものです。04/09/11 21:03:54ID:6KaBvFrn
ウインドウをいくつか開く事を前提としたプログラムなのですが
プロシージャは窓ごとに別に持つのでしょうか
0535名前は開発中のものです。04/09/12 17:41:51ID:1J5Jinh8
持たずに制御できるんなら別に
0536名前は開発中のものです。04/09/12 20:34:36ID:Fy//4hU/
という事は持つのが普通で
それでかまわないという事でしょうか
遠まわしにありがとうございます
0537('Д`)04/10/09 00:24:07ID:lQ9GPwTv
このスレ使わせてもらいま。
最近VC++はじめた。
とりあえずC、C++勉強しつつ、パイナッポみたいなゲームを作ろうと思う。
0538('Д`)04/10/09 00:32:13ID:lQ9GPwTv
パイナッポについては下記サイトのコンテンツを参照してくださいね
ttp://www.mercury.sannet.ne.jp/yy3_yudai/freegame_guide/pinappo_guide/pinappo_index.htm

ダウンロードはvectorからドゾー(C&Cランタイムが必要)
ttp://www.vector.co.jp/games/soft/win95/game/se257409.html
0539名前は開発中のものです。04/10/09 12:02:19ID:YEj74aTw
http://ccfa.info/cgi-bin/up/src/up6841.png
通常
http://ccfa.info/cgi-bin/up/src/up6842.png
撃ち
http://ccfa.info/cgi-bin/up/src/up6843.png
http://ccfa.info/cgi-bin/up/src/up6844.png
歩き
0540名前は開発中のものです。04/10/09 17:00:00ID:wN3VFUnf
アゲ
0541('Д`)04/10/09 20:05:23ID:lQ9GPwTv
>>539
ありがとう。
0542名前は開発中のものです。04/10/09 23:11:08ID:5Wk9KMOv
http://ccfa.info/cgi-bin/up/src/up6863.png
右向き
http://ccfa.info/cgi-bin/up/src/up6865.png
右向き(歩き
http://ccfa.info/cgi-bin/up/src/up6864.png
左向き
http://ccfa.info/cgi-bin/up/src/up6866.png
左向き(歩き
http://ccfa.info/cgi-bin/up/src/up6868.png
上向き
http://ccfa.info/cgi-bin/up/src/up6869.png
上向き(歩き
0543名前は開発中のものです。04/10/10 02:19:16ID:LGf+Gaaw
Cでタイピングゲームを作ろうと思っているんですが、
参考になるサイトってありませんか?サンプルソースとかがあったりしたらサイコーです。
アルゴリズムとかがなかなか思いつかない。
0544名前は開発中のものです。04/10/10 02:54:41ID:XFGTmMvI
>>543
昔ベーマガに載ってた記事
ttp://www.marchen.to/_old/bm15.pdf
054554304/10/10 16:51:20ID:V6ewNBHZ
>>544
すげぇっスこのサイト。
参考にします!ありがとうございま!!
0546('Д`)04/10/11 10:37:25ID:wxx0x9uV
とりあえず自機移動まで(適当です)
スペースキーで弾も出るけど動きはなし
今はクラスの継承とマクロ定義?なるものを勉強中
それと素材くれた方ごめんなさい
http://gamdev.org/up/img/1528.zip
0547名前は開発中のものです。04/10/11 20:26:42ID:6Zwl7lU+
0548名前は開発中のものです。04/11/04 19:38:23ID:vl8uXPTK
このスレの100あたりに載ってた宝探しゲーム面白すぎる・・・
0549DelphiでSLG製作中04/12/18 12:47:10ID:iheJYytz
マスの描画で悩んでいるんですけれども、ご教授願います。
今、ヘクス型のSLGを作成していてマウスの乗っているヘクスに枠を乗せたい訳です。
しかし、どうしても画面のちらつきが発生してしまい困っています。
Form1.DoubleBuffered := True;
にもしているんですがちらつきを抑えられません。
因みにヘクス枠の描画方法は、表示するイメージとは別の、枠の無いイメージを用意し、マウスがポイントするヘクスが移動する度にそこから前にマウスがあったヘクスの部分を切り取って表示するイメージに貼り付けし、新しいヘクスに枠を書き込むという方法です。

コードはこちら
if (X3 <> X4) or (Y3 <> Y4)
then
begin //外枠描画
Image1.Canvas.CopyRect(Rect(X4,Y4,X4+48,Y4+48),Image2.Canvas ,Rect(X4,Y4,X4+48,Y4+48));
Image1.Canvas.Draw(X3,Y3,MouseTip);
X4 := X3;
Y4 := Y3;
end;

X3,Y3…マウスが乗っているヘクス
X4,Y4…その前にマウスが乗っていたヘクス
Image1,2…1が表示するイメージ、2が非表示のイメージ
Mousetip…ヘクス枠のBitmap名
0550DelphiでSLG製作中04/12/18 16:11:49ID:iheJYytz
追記
ちらつきというのは、ずっと画面がちらつくというのではなく
新しい枠を描画する毎にちらつきの様なものが発生するという意味です。

その為、
procedure TMainForm.WMEraseBkgnd(var m : TWMEraseBkgnd);
begin
m.Result := LRESULT(False);
end;
をやってみましたが効果はありませんでした。
0551騎士の紋章 ◆H611rReG66 04/12/19 03:36:31ID:mkdjQU32
私も参戦させて下さい。
とりあえず、目の前の問題解決から。
A  Cでコンソールによるファイルの入出力。
B  自動ダンジョンもどき(ファイル出力)。
C  数当て。
0552騎士の紋章 ◆H611rReG66 04/12/19 04:19:14ID:mkdjQU32
とりあえず、 「A  Cでコンソールによるファイルの入出力。」は出来た。
でも、ソースをUpできない・・。(Gamedevに繋がらない。
0553名前は開発中のものです。04/12/22 11:38:48ID:zs0cHsG2
373 名前: ◆NZ9myhrGS6 投稿日: 04/12/22 10:55:01 ID:y04a6POy
俺にポポロクロイス物語シリーズの最新作を任せてほしい
Tを上回る史上最高の傑作を作る自信がある。どうですかソニーさん
今のPS2になり余計なことばかりして自家撞着してるポポロを俺が
世紀の名作に戻してあげますよ。
その点では幻想水滸伝も同じか・・・Tであれほど名作だったのに続編になるごとに
退化を続け、PS2版になると完全に別のゲームに成り果ててファンを引き裂いた幻想水滸伝
あれも俺に最新作を任せてもらえれば完全にもとの輝きを取り戻してあげますよ、どうですかコナミさん
×××@hotmail.co.jp連絡はここまでお願いします

しかしRPG不作の時代は続きますねー PS2になって5年も経つというのに
PS2でのRPGの名作はまだゼロ。佳作としてグローランサーWがあるぐらいですかね
ちょっと肉付けしてシナリオとストーリーを変えるだけで新たに遊べるのに、
そのレベルにすらいかない。退化を続けるRPGの歴史に歯止めをかけたい
0554名前は開発中のものです。04/12/22 19:03:53ID:JZkoDinq
>>549
一度、画面に表示するまえにTBitmapを作ってそこに描画する
すべて描画が完了したら実際にformに表示する
0555名前は開発中のものです。04/12/23 12:28:15ID:Pdlo8kEQ
DoubleBufferedをScrollBoxでなくてFormにしてました。
すいませんでした。
0556名前は開発中のものです。05/01/20 01:22:23ID:cRp2WmOq
これからプログラム勉強して(C言語とか)
ゲーム作ろうとしている初心者以前の存在なんだけど
ゲーム製作に必要なソフトって何?
「RPGツクール」とかはなしで
0557名前は開発中のものです。05/01/20 08:04:01ID:yg5XQfov
メモ帳とコンパイラ
0558名前は開発中のものです。05/01/20 20:10:57ID:ah8XuYc5
はっきり言ってRPGツクールをなめすぎ。
まずはツクール体験版落として使ってみろ、絶対挫折する
0559名前は開発中のものです。05/01/20 22:28:46ID:cRp2WmOq
>>558
もう持ってる
0560名前は開発中のものです。05/01/20 22:45:05ID:ArQp7Ull
>556
Cの基本的なプログラミングの流れは
テキストエディタでソースファイルにC言語で記述する(コーディング)
ソースファイルをコンパイラを使ってオブジェクトファイルに変換する(コンパイル)
オブジェクトファイルやライブラリをリンカを使って実行可能ファイルに変換する(リンク)
流れがわかれば何が必要なのかわかるだろってこれくらいは調べろよ

入門書も初心者向けサイトもそろってるこのご時世に掲示板でわざわざそんな
基本的なことを質問するのは恥じと知れ!
0561名前は開発中のものです。05/01/20 23:10:10ID:Qn0XB5We
むしろ2chで聞くのを恥と知るべき
0562名前は開発中のものです。05/01/21 10:10:43ID:Cb/R40jt
>>1
0563名前は開発中のものです。05/01/22 00:06:50ID:peyOAfhZ
#include <windows>

int WINAPI_WinMain(
HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow
){
MessageBox(NULL,"シャイニングアギト","メッセージです", MB_OK);
return 0;
}

エラー発生するんだが何がおかしいかわからない…助けてくれ
0564名前は開発中のものです。05/01/22 00:14:31ID:SMeoGQLY
>>563
>#include <windows>
#include <windows.h>

>int WINAPI_WinMain(
int WINAPI WinMain(
0565名前は開発中のものです。05/01/22 00:20:00ID:peyOAfhZ
>>564
Error: 外部シンボル '_main' が未解決
だそうだ、言われた通り直してみたが。

すまん、感謝してるが直らんようだ。
とりあえずぐぐってみる
0566名前は開発中のものです。05/01/22 00:38:51ID:asf0tt+t
>565
VCか?プロジェクトはWin32プロジェクトで作ってるか?
BCCあたりならコンパイルオプションはつけてるか?
0567名前は開発中のものです。05/01/22 00:43:46ID:peyOAfhZ
>>566
それだ。BCC使用中
オプション付け方わからんがそれは調べながらやってきます
0568名前は開発中のものです。05/01/22 01:10:00ID:peyOAfhZ
ありがとう、コンソールのままコンパイルしていたよ
そりゃうごかねぇわ
0569名前は開発中のものです。05/01/22 01:35:13ID:asf0tt+t
>586
オメ
0570名前は開発中のものです。05/01/24 00:41:22ID:Ezc4NcwJ
#include <iostream>
using namespace std;

int main()
{
double a;


do{

cout<<"何フィートか入力。0で終了";
cin>>a;
cout<<a*12<<"インチです。\n";

}while (double !=0.0);

return 0;
}

main関数のエラーらしいが…色々替えてみても解決しないんだが誰か助けてくれないか
0571名前は開発中のものです。05/01/24 00:48:20ID:PdrGtBBl
>>570
>}while (double !=0.0);
}while (a !=0.0);
0572名前は開発中のものです。05/01/24 01:04:52ID:Ezc4NcwJ
>>571
あり得ないほど単純なミスの指摘ありがとうございましたorz
0573名前は開発中のものです。05/01/28 16:24:28ID:NMVzdjq4
>>572
色分けできるエディタでも使ってみたらどうだい?
0574名前は開発中のものです。05/01/31 02:08:04ID:ywW+fA0q
>>572
サクラエディタがイイ感じ
0575名前は開発中のものです。2005/04/29(金) 23:05:09ID:pQOGYAUX
質問です。作成環境はVCなのですが、
WINAPIで文字列を描画するさいに行間、字間をあけると指定したRECT構造体の範囲に入りません
SetTextCharacterExtra()で幅を決めていますがどうしてもずれてしまいます。
何かうまい方法は無いでしょうか?
0576名前は開発中のものです。2005/04/29(金) 23:25:20ID:Ltz+njiU
フォントがまずいんでねーの?
詳しくはしらんが、等幅フォントとプロポーショナルフォント(文字によって幅が違う)
ってのがあるから、そのへん見てみたら?
0577名前は開発中のものです。2005/04/29(金) 23:29:35ID:pQOGYAUX
クリエイトフォントでピッチを固定幅にしたら字幅0では解決しました
ですがなぜか字幅を増やせば文字が重なる、という状況に。
やっぱりソースコード全部乗っけた方が良いでしょうかそれともどこかにUPする方でしょうか
0578名前は開発中のものです。2005/05/01(日) 10:22:06ID:O5JkL057
C言語使用中
AVGで画面のサイズを取得してテキストの量と比較して一ページ、というのを作り出す
っていうのは改行の回数を取得してやるしかないんでしょうか?
0579名前は開発中のものです。2005/05/01(日) 11:42:19ID:WfF8UdlQ
質問の答えじゃないんだけど一つ。
同じページ内の情報が場合によって変わるようになると、
変な位置で改ページが挟まることになって可読性が落ちてしまわないか?
■ このスレッドは過去ログ倉庫に格納されています