ズブの初心者がゲーム作れるまで勉強するスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/07 20:26ID:PFtlmWD9ズブの初心者以外お断りです。
なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
0032名無しさん@お腹いっぱい。
01/11/07 22:55ID:???MES"ー十ー十ー十ー"
MES" | | |"
MES"ー十ー十ー十ー"
MES" | | |"
次は3目並べをつくってみます。
0033名無しさん@お腹いっぱい。
01/11/07 22:56ID:???ソースコード上で別行なのに
出力したら繋がってるなんて
(広義の)インターフェースとしてクソ
いちいち"\n"入れないと改行しないなんて
プログラマに負担掛けるだけの非効率仕様
そんなんで「俺は文字列を自在に操っている!」
とかホザいてたら痛すぎ
003432
01/11/07 22:56ID:???ジョイパッドとかに対応させるべきかな。
0035名無しさん@お腹いっぱい。
01/11/07 23:36ID:???pos 100, 100: button "A1", *a1
pos 180, 100: button "A2", *a2
pos 260, 100: button "A3", *a3
pos 100, 180: button "b1", *b1
pos 180, 180: button "b2", *b2
pos 260, 180: button "b3", *b3
pos 100, 260: button "c1", *c1
pos 180, 260: button "c2", *c2
pos 260, 260: button "c3", *c3
line 170, 60, 170, 320
line 250, 60, 250, 320
line 60, 170, 380, 170
line 60, 250, 380, 250
stop
*a1
boxf 60, 60, 170, 170
goto *check
*a2
boxf 170, 60, 250, 170
goto *check
*a3
boxf 250, 60, 380, 170
goto *check
*b1
boxf 60, 170, 170, 250
goto *check
*b2
boxf 170, 170, 250, 250
goto *check
*b3
boxf 250, 170, 380, 250
goto *check
*c1
boxf 60, 250, 170, 380
goto *check
*c2
boxf 170, 250, 250, 380
goto *check
*c3
boxf 250, 250, 380, 380
stop
*check
stop
0036名無しさん@お腹いっぱい。
01/11/08 00:11ID:???;配列変数を覚えた。
;次は勝ち判定をつけようとおもう。
pos 100, 100: button "A1", *a1
pos 180, 100: button "A2", *a2
pos 260, 100: button "A3", *a3
pos 100, 180: button "b1", *b1
pos 180, 180: button "b2", *b2
pos 260, 180: button "b3", *b3
pos 100, 260: button "c1", *c1
pos 180, 260: button "c2", *c2
pos 260, 260: button "c3", *c3
line 170, 60, 170, 320
line 250, 60, 250, 320
line 60, 170, 380, 170
line 60, 250, 380, 250
dim ban,4,4
player=2
goto *check
0037続き
01/11/08 00:11ID:???if ban.1.1>0: goto *pass
ban.1.1=player
boxf 60, 60, 170, 170
goto *check
*a2
if ban.1.2>0: goto *pass
ban.1.2=player
boxf 170, 60, 250, 170
goto *check
*a3
if ban.1.3>0: goto *pass
ban.1.3=player
boxf 250, 60, 380, 170
goto *check
*b1
if ban.2.1>0: goto *pass
ban.2.1=player
boxf 60, 170, 170, 250
goto *check
*b2
if ban.2.2>0: goto *pass
ban.2.2=player
boxf 170, 170, 250, 250
goto *check
*b3
if ban.2.3>0: goto *pass
ban.2.3=player
boxf 250, 170, 380, 250
goto *check
*c1
if ban.3.1>0: goto *pass
ban.3.1=player
boxf 60, 250, 170, 380
goto *check
*c2
if ban.3.2>0: goto *pass
ban.3.2=player
boxf 170, 250, 250, 380
goto *check
*c3
if ban.3.3>0: goto *pass
ban.3.3=player
boxf 250, 250, 380, 380
stop
*check
player=3-player
boxf 100,20, 400, 40
color player*100, player*100, player*100
pos 100, 20: mes"player"+player+"の番です。"
*pass
stop
0038名無しさん@お腹いっぱい。
01/11/08 00:22ID:Qeo8WtK2・マウスの位置
マウスのクリックを監視→システム変数(mousex,mousey)を参照で可能です
・ジョイパッド
プラグインで可能ですよ〜
0039名無しさん@お腹いっぱい。
01/11/08 00:42ID:???ありがとうございますm(__)m
実はボタンぺたぺたでつくってました。
これで見栄え良くできそう。
プラグイン使うとココに貼り付けてるやつだけで動かないんでどうしようか思案中
あ、こんなのコピペでやってくれる人はDLぐらいしてくれるか。
よし!使います。
使い方調べなきゃ(^^;
う、その前に3目並べにジョイパットはやりにくかなぁ。
とりあえず遊べるようにしてから悩もう。
ありがとうございました。
0040名無しさん@お腹いっぱい。
01/11/08 02:58ID:???;すると、あらビックリ!!ひとつ前のよりだいぶすっきりしました。
;見栄えもだいぶ良くなったし、ひとまず完成!!
;HSPをダウンロードして約7時間ほどでした。早っ!!
次はなにつくろうかなぁ。
今日は眠たくなったので寝ます。おやすみなさい。
;3moku2.as
screen 0, 384, 384
*restart
dim ban,3,3
dim col,2,3
cls
line 0, 128, 384, 128
line 0, 256, 384, 256
line 128, 0, 128, 384
line 256, 0, 256, 384
*keywait
getkey k, 1
if k=1: goto *lclick
wait 1
goto *keywait
*lclick
x=mousex/128
y=mousey/128
if ban.x.y > 0: goto *keywait
ban.x.y=player+1
boxf x*128, y*128, x*128+127, y*128+127
repeat 3
if (ban.0.cnt + ban.1.cnt + ban.2.cnt) = ((player+1)*3): goto *win
loop
repeat 3
if (ban.cnt.0 + ban.cnt.1 + ban.cnt.2) = ((player+1)*3): goto *win
loop
if (ban.0.0 + ban.1.1 + ban.2.2) = ((player+1)*3): goto *win
if (ban.0.2 + ban.1.1 + ban.2.0) = ((player+1)*3): goto *win
if (ban.0.0 + ban.1.0 + ban.2.0 + ban.0.1 + ban.1.1 + ban.2.1 + ban.0.2 + ban.1.2 + ban.2.2) = 21: goto *draw
player=3-player
color player*255, 0, 0
goto *keywait
*win
mesa="Player"
mesb=player/3+1
mesc="の勝利です。"
winmes = mesa+mesb+mesc
dialog winmes, 1
goto *restart
*draw
dialog "引き分けです。", 1
goto *restart
004140
01/11/08 03:02ID:???コメントのマーク(;←コレ)つけわすれてる行がある。
あぼーんしておこう。かちゅ〜しゃで。
こんどこそおやすみなさい。
なんかむかつく
0043名無しさん@お腹いっぱい。
01/11/08 06:31ID:???Stringがなければ文字列つかえないようなヤツのこと気にすんなよ。
0044名無しさん@お腹いっぱい。
01/11/08 16:52ID:???;3moku2.as
screen 0, 384, 384
*restart
player=0
dim ban,3,3
dim col,2,3
cls
line 0, 128, 384, 128
line 0, 256, 384, 256
line 128, 0, 128, 384
line 256, 0, 256, 384
*keywait
if player=3: goto *com
getkey k, 1
if k=1: goto *lclick
wait 1
goto *keywait
*lclick
x=mousex/128
y=mousey/128
if ban.x.y > 0: goto *keywait
*setkoma
ban.x.y=player+1
boxf x*128, y*128, x*128+127, y*128+127
repeat 3
if (ban.0.cnt + ban.1.cnt + ban.2.cnt) = ((player+1)*3): goto *win
if (ban.cnt.0 + ban.cnt.1 + ban.cnt.2) = ((player+1)*3): goto *win
loop
if (ban.0.0 + ban.1.1 + ban.2.2) = ((player+1)*3): goto *win
if (ban.0.2 + ban.1.1 + ban.2.0) = ((player+1)*3): goto *win
if (ban.0.0 + ban.1.0 + ban.2.0 + ban.0.1 + ban.1.1 + ban.2.1 + ban.0.2 + ban.1.2 + ban.2.2) = 21: goto *draw
player=3-player
color player*255, 0, 0
goto *keywait
*win
mestemp=player/3+1
winmes = "Player"+mestemp+"の勝利です。"
dialog winmes, 1
goto *restart
*draw
dialog "引き分けです。", 1
goto *restart
*com
rnd x, 3
rnd y, 3
await 1
if ban.x.y > 0: goto *com
goto *setkoma
0045名無しさん@お腹いっぱい。
01/11/09 05:04ID:???;さて、次は連珠つくらなきゃ。
;3moku2.as
screen 0, 384, 384
*restart
player=0
dim ban,3,3
dim col,2,3
cls
line 0, 128, 384, 128
line 0, 256, 384, 256
line 128, 0, 128, 384
line 256, 0, 256, 384
*keywait
if player=3: goto *com
getkey k, 1
if k=1: goto *lclick
wait 1
goto *keywait
*lclick
x=mousex/128
y=mousey/128
if ban.x.y > 0: goto *keywait
*setkoma
ban.x.y=player+1
boxf x*128, y*128, x*128+127, y*128+127
repeat 3
if (ban.0.cnt + ban.1.cnt + ban.2.cnt) = ((player+1)*3): goto *win
if (ban.cnt.0 + ban.cnt.1 + ban.cnt.2) = ((player+1)*3): goto *win
loop
if (ban.0.0 + ban.1.1 + ban.2.2) = ((player+1)*3): goto *win
if (ban.0.2 + ban.1.1 + ban.2.0) = ((player+1)*3): goto *win
if (ban.0.0 + ban.1.0 + ban.2.0 + ban.0.1 + ban.1.1 + ban.2.1 + ban.0.2 + ban.1.2 + ban.2.2) = 21: goto *draw
player=3-player
color player*255, 0, 0
goto *keywait
*win
mestemp= player/3+1
winmes = "Player"+mestemp+"の勝利です。"
dialog winmes, 0
goto *restart
*draw
dialog "引き分けです。", 0
goto *restart
*com
rnd x, 3
rnd y, 3
await 1
if ban.x.y > 0: goto *com
goto *setkoma
0046名無しさん@お腹いっぱい。
01/11/09 10:22ID:???反論できなければ「むかつく」ですか。ははは。
>>43
「cout << "message" << endl;」でも同じ事だろ。
あぁ、でもこの場合endlが\nと同じようなモンか・・・
要するに文字列をどうあつかうかで「高級言語<>厨房言語」とかいってるのが
オサムイねってことよ。
0047名無しさん@お腹いっぱい。
01/11/09 15:37ID:???0048名無しさん@お腹いっぱい。
01/11/14 20:24ID:???HSPってのはできること減らした分で
きちんと開発の早さとか分かりやすさ優位に立ってる。
(外部DLLを使えば大概のことはできそうだが)
欠点増やした分でちゃんと利点を作ってるんだから
厨房言語ってことはないと思われ。
0049名無しさん@お腹いっぱい。
01/11/15 02:26ID:???その厳選された命令がツカエネェって話だと思うが。
特に分岐やループがつかえないし簡単でもない。
0050名無しさん@お腹いっぱい。
01/11/15 19:16ID:N6GHtlAZ言語の善し悪しなんてどうでもいいだろ。
俺だってBASICがなかったら、今の俺は無かったろうさ。
要はモノを作るってことをやり遂げられるかだろ?
その点32は頑張ってると思うぞ。
言語なんてのはその都度覚えていけばいいんだ。
開発環境が変われば言語も変わるんだし。
がんばれ! >>32
0051名無しさん@お腹いっぱい。
01/11/15 19:23ID:???いい事いうねぇ。
言語の良し悪しをどうこういうヤツはメンドクサガリ屋なんだろ。
どんな事柄においてもね・・・。
0052名無しさん@お腹いっぱい。
01/11/15 19:29ID:N6GHtlAZ本職だったしね。(^^;
#エロげーばっかだったが・・・(鬱
0053名無しさん@お腹いっぱい。
01/11/15 20:11ID:rfRVyC2Pメモ帳はなんとか作れましたが、ゲームは良くわからないっす
とりあえずbmpファイルはあるんで、それを画面に表示して動かしてみたいです
0054名無しさん@お腹いっぱい。
01/11/15 21:32ID:RRPopQguImageコンポーネントをフォームにぺたっと貼って、
Pictureプロパティにイメージを読み込んで、
LeftプロパティやTopプロパティを操作します。
005553じゃないよ。
01/11/16 01:22ID:nKarEaJddelphiの事はよくわからんが、イメージはなんとなく分かるな。
デバイスコンテキストにbmp読み込んでクライアント領域に張り付けて
表示座標いじるようなもんか。
0056名無しさん@お腹いっぱい。
01/11/16 01:41ID:ZgDDdgZXhttp://www.amazon.co.jp/exec/obidos/ASIN/4894711303/ref=sr_aps_d_1_1/249-6665820-0500317
こういう本もあります
005753
01/11/16 04:49ID:lU86qPrAぺたっとやったらできました
これをカーソルキーで表示位置を動かせるようにはできますか?
>>56
なるほど、ちなみに厚さはどれくらいですか?
0058名無しさん@お腹いっぱい。
01/11/16 08:22ID:P4w93E0Kコンポーネントのプロパティ凝視すればわかるよ。
top,leftいじってみ。
005953
01/11/16 08:37ID:sMi8XlU9マジすか?
プロパティだけで[→]キー押したら右に動くようにできます?
直感でフォームのイベントのOnKeyDownの所に名前入れてリターン押したらメッセージが出せるようになったんですが
上下左右のキーで画像の表示座標を変えたいんですよ
0060名無しさん@お腹いっぱい。
01/11/16 09:45ID:dc03umabそこからかい(w
OnKeyDown でキーコード(引数key?)拾って、Image1.left++;みたいな。
0061名無しさん@お腹いっぱい。
01/11/16 09:51ID:QGZlYshcこんな感じでどう?
かっこの中にいれるのは「仮想キーコード」でヘルプ探せばすぐでてくる。
procedure TForm1.Timer1Timer(Sender: TObject);
var
speed: integer;
begin
speed:=8;
if GetKeyState( VK_LEFT ) < 0 then image1.Left := image1.Left-speed;
if GetKeyState( VK_RIGHT ) < 0 then image1.Left := image1.Left+speed;
if GetKeyState( VK_UP ) < 0 then image1.top := image1.top-speed;
if GetKeyState( VK_DOWN ) < 0 then image1.top := image1.top+speed;
end;
end.
0062初
01/11/16 17:46ID:???是非受けたいんだすが。
0063名無しさん@お腹いっぱい。
01/11/16 17:50ID:gGtA8+lG0064名無しさん@お腹いっぱい。
01/11/16 17:54ID:???Windowsが起動してからのミリ秒を4294967296で割った余り
0065名無しさん@お腹いっぱい。
01/11/16 18:01ID:???ありがとっす。
ゲームで使うときどんな実装のし方していますか?
それともこれ使うのはマズイ?!
0066名無しさん@お腹いっぱい。
01/11/16 19:16ID:???何らかの処理
t2 = timeGetTime();
t2 - t1 で、この処理に要したミリ秒がわかる
006753
01/11/16 21:52ID:QAvUh6auどうも、お二方
で、入力タイマーを適当にぺたっと貼って
61さんのを実行してみた所、最初一秒ごとにしか進まなかったのです
ので、ターマーのプロパティのIntervalを10にしてみたらスススーと行きました
が、このままだと結構ちらつくんですよね
なんとかしたい金曜日です
0068名無しさん@お腹いっぱい。
01/11/16 21:58ID:???procedure TForm1.FormCreate(Sender: TObject);
begin
form1.DoubleBuffered:=true;
end;
end.
006953
01/11/16 22:02ID:QAvUh6au[エラー] Unit1.pas(38): 未定義の識別子 : 'FormCreate'
ですって・・・
0070名無しさん@お腹いっぱい。
01/11/16 22:04ID:???フォームをダブルクリックする。
↓
form1.DoubleBuffered:=true;と入力。
↓
ウマー
form1ってのはデフォルト名だが変更してればそれに変える。
007153
01/11/16 22:10ID:QAvUh6au成功です!チラつかないです!
画像の透明色はパレット番号で決まるんですか?
あとキャラの画像が↓みたいにつながってるbmpファイルで
この○の部分だけ表示して、○と◎の部分でアニメーションさせる事はできますか?
┌――┐
│○△│
│◎▲│
└――┘
0072名無しさん@お腹いっぱい。
01/11/16 22:24ID:???0073名無しさん@お腹いっぱい。
01/11/16 22:34ID:???そこであらかじめ画像貼り付けとく。
imagelist1.GetBitmap(0, image1.Picture.Bitmap);
で0を1,2,3,4とか変える。
007453
01/11/16 22:45ID:QAvUh6auprocedure TForm1.Timer1Timer(Sender: TObject);
begin
if GetKeyState( VK_LEFT ) < 0 then
begin
imagelist1.GetBitmap(1, image1.Picture.Bitmap);
end;
if GetKeyState( VK_RIGHT ) < 0 then
begin
imagelist1.GetBitmap(3, image1.Picture.Bitmap);
end;
if GetKeyState( VK_UP ) < 0 then
begin
imagelist1.GetBitmap(2, image1.Picture.Bitmap);
end;
if GetKeyState( VK_DOWN ) < 0 then
begin
imagelist1.GetBitmap(0, image1.Picture.Bitmap);
end;
Image1.Refresh;
end;
0075名無しさん@お腹いっぱい。
01/11/16 22:53ID:???0076名無しさん@お腹いっぱい。
01/11/16 22:57ID:???キャラクターのアニメーションはタイマーを別にしたほうがよくないかい?
007753
01/11/16 23:31ID:QAvUh6auタイマー2のIntervalはとりあえず350にしました
で、キャラの移動なんですが、61の方法では失敗しました
var
Form1: TForm1;
ch,key,chtim : Integer;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if GetKeyState( VK_LEFT ) < 0 then key :=1;
if GetKeyState( VK_RIGHT ) < 0 then key :=3;
if GetKeyState( VK_UP ) < 0 then key :=2;
if GetKeyState( VK_DOWN ) < 0 then key :=0;
imagelist1.GetBitmap(ch, image1.Picture.Bitmap);
Image1.Refresh;
end;
procedure TForm1.Timer2Timer(Sender: TObject);
begin
if chtim=8 then chtim:=0
else chtim:=8;
ch := key+chtim;
end;
0078名無しさん@お腹いっぱい。
01/11/17 00:55ID:???0079名無しさん@お腹いっぱい。
01/11/17 01:12ID:???このスレの主旨から言えばなら問題ないと思う。
0080名無しさん@お腹いっぱい。
01/11/17 03:03ID:???失敗ってのはどんな風になった?
008153
01/11/17 03:39ID:s4sRLZboキャラクターがパッと消えました
008253
01/11/17 04:28ID:???ch := key+chtim;
imagelist1.GetBitmap(ch, image1.Picture.Bitmap);
Image1.Refresh;
に修正しました
メインルーチンの位置は基本的にタイマーで良いんですかね?
あと、画像の背景が透過されてるので、画面にゴミが残ります
008453
01/11/17 06:53ID:???ch := key+chtim;
image1.canvas.brush.color:=RGB(128,255,0);
image1.Canvas.FillRect(rect(0,0,image1.width,image1.height));
imagelist1.GetBitmap(ch, image1.Picture.Bitmap);
Image1.Refresh;
0085名無しさん@お腹いっぱい。
01/11/17 21:10ID:???STG?ACT?それともRPGか?
008653
01/11/17 22:02ID:???008753
01/11/18 01:11ID:zl0z4KJcロマサガ1のイメージで
0089名無しさん@お腹いっぱい。
01/11/18 01:34ID:???昔のTVゲームを真似て作るのが良いよ。
0090名無しさん@お腹いっぱい。
01/11/18 01:39ID:???009153
01/11/18 02:01ID:uY6igSYuそうかもしれないです。ただパックマンもロマサガも
・マップを表示させてキャラクターを動かす
・敵キャラとの接触によってイベントを起こす
みたいな基本的な部分は一緒だと思うんですよ
だから今のレベルじゃパックマンも作れないっす
>>90
ドット絵は毎日コツコツ書き溜めてあります・・・
これをなんとか動かして使ってみたいですよ
0092名無しさん@お腹いっぱい。
01/11/18 11:32ID:???0093名無しさん@お腹いっぱい。
01/11/18 13:22ID:???何とまぎれてるの?
ロケットランチャーなのか、それともAS/400とかのアレか…
0094age
01/11/19 01:16ID:???0095名無しさん@お腹いっぱい。
01/11/19 01:30ID:???0096M
01/11/19 01:34ID:???こんなんでよければ公開するよ〜 Cだよ〜
Cは Cmachine が超初心者専用、、現在フリーのBORLANDC++
やVBよりいいって言う人多いDERPHIもコンパイラとしてイケテルよ〜
作成に2時間ほどの宝探しゲームのソース↓ 昔のでしょぼいっス、、
#include<stdio.h>
#include<stdlib.h>
void main(){
int x,y,kawari,ki,rp=0,dora=60,tka,si=1,i,p,h=0,tokuten=0;
int tax[3],tay[3];
x=0;y=0;
0097M
01/11/19 01:35ID:???do{
tax[1]=rand();tay[1]=rand();
tax[0]=(tax[1]+h)%10;tay[0]=(tay[1]*2*h)%10;
}while((x==tax[0])&&(y==tay[0]));
do{
do{
printf("進む方向を決めてくらさい。\n");
printf("1:↑\n");
printf("2:↓\n");
printf("3:←\n");
printf("4:→\n");
scanf("%d",&ki);
rewind(stdin);
switch(ki){
case 1:
kawari=y+1;
break;
case 2:
kawari=y-1;
break;
case 3:
kawari=x-1;
break;
case 4:
kawari=x+1;
break;
}
h++;
if(dora==0) break;
}while((kawari<0)||(kawari>9)||(ki>4)||(ki<1));
if((ki==1)||(ki==2)) y=kawari;
if((ki==3)||(ki==4)) x=kawari;
tax[2]=tax[0]-x;
tay[2]=tay[0]-y;
if(tax[2]<0) tax[2]=tax[2]*(-1);
if(tay[2]<0) tay[2]=tay[2]*(-1);
tka=tax[2]+tay[2];
///////////////////
for(i=10;i>-2;i--){
for(p=-1;p<11;p++){
0098M
01/11/19 01:38ID:???{
case -1:
if((p==-1)||(p==10)){
printf("|");
}else{
printf("_");
}
break;
case 0:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 1:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
0099M
01/11/19 01:39ID:???if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 3:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 4:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
0100M
01/11/19 01:40ID:???if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 6:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 7:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
0101M
01/11/19 01:41ID:???if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 9:
if((p==-1)||(p==10)){
printf("|");
}else{
if((y==i)&&(x==p)){
printf("◎");
}else if((tka==1)&&(tax[0]==p)&&(tay[0]==i)){
printf("宝");
}else{
printf(" ");
}
}
break;
case 10:
if((p==-1)||(p==10)){
printf("|");
}else{
printf(" ̄");
}
break;
}
}
printf("\n");
}
0102M
01/11/19 01:42ID:???printf("現在地(%d,%d)\n",x,y);
if(tka!=0){
printf("タカラ(株)との距離は%dです\n",tka);
dora=dora-1;
printf("のこりのドラヤキは%d個です\n",dora);
}else{
printf("ドザエモンはドラヤキを手に入れた!\n");
dora=dora+5;
rp=1;
tokuten=tokuten+h;
}
if(dora==0) break;
}while(rp==0);
rp=0;
if(dora==0) break;
}while(si==1);
printf("ゲーム叔母ーです\n");
printf("\x1b[34m");
printf(" ___ \n");
printf("ドラヤキ%3d個うめぇ〜 (゚P゚)\n",tokuten);
printf(" 〇| |〇 \n");
printf(" 凸凸 \n");
printf("\x1b[37m");
scanf("%d",&si);
}
0103M
01/11/19 01:45ID:???このソースプラス 、CコンパイラでDOSの宝探しゲームできます。
軽いCMACHINEだかはVECTORにあったかな、、
0104名無しさん@お腹いっぱい。
01/11/19 01:48ID:???ソースを上げるスレッドの方が適当じゃないかな。もう遅いけど。
0105大まかな流れだよ(一例)
01/11/19 02:07ID:???<グラフィックデータ編>
ドット絵は仮絵(かろうじて何の絵か分かるレベル)でOK。
プログラムがある程度形になってから、きちんと描いたやつに
差し替えよう。音楽・効果音も同様です。
<設計編>
実際のプログラミングにとりかかる前に、データ(マップ&イベント配置・
シナリオデータ・モンスター・魔法・アイテムetc)フォーマットは
曖昧にせず、きちんと決めておきましょう。
自機キャラのパラメータ要素はいろんな場面で必要になってくる
ので特に慎重に設計しましょう。
<データ入力編>
モンスター・魔法・アイテムのデータ入力は表計算ソフトを使うと楽です。
それをそのまま使うなり、独自形式にコンバートするなり。
マップ入力はマップエディタを使います。手間を考えると、専用エディタ
の自作をお勧めしますが、しんどければフリーソフトを探しましょう。
RPG用途だから、マップの配置だけでなく、上位何Bitかに自由に
数字を入れられるものがいいです(そこにイベントの配置を割り当てる)。
やっぱりそれをそのまま使うなり、独自形式にコンバートするなり。
<プログラム編>
マップ表示部分を心行くまで作ったら、メニュー処理・戦闘処理・
イベントや会話処理…etc、場面別に一つづつプログラムを組んでは、
マップ表示部分から呼び出せるようにしてあげます。
OPやEDやビジュアルシーンなど、演出を強化する部分は最後に作ります。
予想よりもずっとしんどい作業になると思います。頑張って下さい。
0106名無しさん@お腹いっぱい。
01/11/19 13:47ID:???例えが渋いな・・・
ATMも対戦車ミサイルにしか見えない漏れ・・・
AS400か。去年までRPGでコード書いてたよ(藁
0107名無しさん@お腹いっぱい。
01/11/20 04:31ID:yODdoyPq0108名無しさん@お腹いっぱい。
01/11/20 04:49ID:???ハァ?
テメェがマニュアル読んで出直して来い
0110名無しさん@お腹いっぱい。
01/11/21 20:21ID:???011153
01/11/29 01:52ID:???0112名前は開発中のものです。
01/12/16 15:18ID:0Fpf1AlI0113名前は開発中のものです。
01/12/17 00:28ID:???Mゥ〜?
まさかココのM?
ttp://game.2ch.net/test/read.cgi/gamedev/1005323011/
0114名前は開発中のものです。
02/02/10 14:20ID:???0115名前は開発中のものです。
02/02/13 00:06ID:jlORD8b3%2dを受けつけてくれないのよ
数字を右寄せ表示するにはどしたらいいの?
0116名前は開発中のものです。
02/02/13 03:05ID:???0117名前は開発中のものです。
02/02/13 06:14ID:???もの凄ぇ亀レスだな、俺もだけど
0118名前は開発中のものです。
02/02/13 09:24ID:???cout<<setw(2)<<x;かな?
<iomanip.h>をインクルードしなきゃいけないみたいだけど
インクルードできない
そもそもこんなヘッダ見たことない
0119名前は開発中のものです。
02/03/23 22:24ID:UKJQHvTc糞スレ立てんなヴォケ
0120名前は開発中のものです。
02/03/23 23:07ID:hSR28MHk正しいけどおそすぎるって。
0121名前は開発中のものです。
02/03/28 11:50ID:luhBBlnn0122名前は開発中のものです。
02/03/28 14:44ID:???0123名前は開発中のものです。
02/03/28 15:54ID:luhBBlnn0125名前は開発中のものです。
02/04/23 23:06ID:???0126126
02/05/10 19:45ID:OvKq4PFU今から俺がゲーム作るまで勉強するのでおまえら見ててください。
目標:DirectX使って3Dゲー(迷路みたいの)
使える言語:Basic, Java, C, C++, いずれもちょっとずつ。
まずは、開発環境からだ!
DirectX SDKとBorland C++を落とすよ。
0127126
02/05/10 19:55ID:OvKq4PFUはじめたばっかりで悪いけどダウソしながら飯食ってくるわ。
0128名前は開発中のものです。
02/05/10 20:04ID:???グーグルワラタ
0129126
02/05/10 22:20ID:OvKq4PFUやっぱりHelloWorld系のことをやりたいのだが、まずどこを読むかだな。
MSDNをちょっとさわり読んでみたんだが、わけがわからなかった。簡単なサンプルを
眺めるほうがいいかな・・・
DirectX 8.0 日本語ドキュメントって別に落とさないといけないのかな。
>128
誰もカキコしてくれないかと思った。ありがとう。
0130名前は開発中のものです。
02/05/10 23:37ID:???でももちょっと丁寧に喋ったほうがレスつくと思われ。
0131名前は開発中のものです。
02/05/11 00:16ID:???開発環境そろえてからすれ立ててほしかった。
>>130
同意
>>129
>DirectX 8.0 日本語ドキュメントって別に落とさないといけないのかな。
うん、別。
http://www.microsoft.com/downloads/release.asp?ReleaseID=26072&area=search&ordinal=2
■ このスレッドは過去ログ倉庫に格納されています