ズブの初心者がゲーム作れるまで勉強するスレ
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
01/11/07 20:26ID:PFtlmWD9ズブの初心者以外お断りです。
なおアドバイス等はプロのかたでも結構です。
初心者は聞く耳を持ちプロもわかりやすく教えてやってください。
0002名無しさん@お腹いっぱい。
01/11/07 20:28ID:???0003名無しさん@お腹いっぱい。
01/11/07 20:28ID:???0004名無しさん@お腹いっぱい。
01/11/07 20:32ID:bEnmjzL70005名無しさん@お腹いっぱい。
01/11/07 20:33ID:???●初心者歓迎 スレを立てる前にここで質問を
http://game.2ch.net/test/read.cgi/gamedev/1005038203/
0006名無しさん@お腹いっぱい。
01/11/07 20:34ID:ClGYxpg6何か初心者にお勧めなソースはありませんか?
0007名無しさん@お腹いっぱい。
01/11/07 20:37ID:3UOikNmf0008名無しさん@お腹いっぱい。
01/11/07 20:41ID:???いきなりわからないことがある。
mesとprintの違いってなに?
0009名無しさん@お腹いっぱい。
01/11/07 20:43ID:mfMymfYHそのコンパイラとは?
それが分からないとソースは探せないよ。
0010名無しさん@お腹いっぱい。
01/11/07 20:45ID:BmDeF3mohttp://pc.2ch.net/test/read.cgi/tech/1004855513/
0011名無しさん@お腹いっぱい。
01/11/07 20:46ID:mfMymfYHHSP?だったら同じらしいよ、2つとも。
でもみんなmes命令を使うしサンプルなんかもprint命令使ってるもの
は見たことないからmesでやってみれば?
0012名無しさん@お腹いっぱい。
01/11/07 20:48ID:???とりあえず、こっちでやってくれんか。な。
http://game.2ch.net/test/read.cgi/gamedev/1005038203/
0014名無しさん@お腹いっぱい。
01/11/07 20:56ID:???自分で削除依頼出すか?それとも俺が出そうか?
0015名無しさん@お腹いっぱい。
01/11/07 20:57ID:???0016名無しさん@お腹いっぱい。
01/11/07 20:58ID:???ほっときゃ下がる。とりあえず>>12のスレをあげろ。
0017名無しさん@お腹いっぱい。
01/11/07 20:58ID:???>>12
0018名無しさん@お腹いっぱい。
01/11/07 21:05ID:???0019名無しさん@お腹いっぱい。
01/11/07 21:07ID:???>>12
0020続く
01/11/07 21:20ID:???screen 0,640,480,16
objsize 200
mes"2ちゃんねるゲーム"
mes"正しいレスを返さないとあぼーんされますよ"
mes"問題"
mes"逝ってよし"
button "オマエモナー", *q1ok
button "(;´Д`)", *gameover
button "(=゚ω゚)ノぃぃょぅ", *gameover
stop
*q1ok
mes" ビクッ ∧ ∧ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes" Σ(゚Д゚;≡;゚д゚) < 所詮、削除されるまでの命さ"
mes" ./ つ つ \_________________"
mes" 〜(_⌒ヽ ドキドキ "
mes" .ブッ ω)ノ `Jззз"
mes""
mes"嵐じゃないのよ嵐じゃ"
stop
end
0021続き
01/11/07 21:21ID:???mes"/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes"| 削除以来出てますけど。"
mes"\ "
mes"  ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes" ∧_∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"
mes" ( ・∀・) ∧ ∧ < こ、これくらいいいじゃねーか。"
mes" ( ⊃ ) (゚Д゚;) \____________"
mes" ̄ ̄ ̄ ̄ ̄ (つ 1つ"
mes" ̄ ̄ ̄日∇ ̄\ | BIBLO |\"
mes"  ̄ ======= \"
mes""
mes"スレは大切にね!!"
stop
0022名無しさん@お腹いっぱい。
01/11/07 21:25ID:???>>4に反応してつくってみました。
とりあえず>>12のQ&Aに貼ると迷惑な気がしてこっちに貼ったけどそれも違うような。
うーん、どうしよう。ソースを貼るスレも趣旨が違うようだし困ったぞ。
0023名無しさん@お腹いっぱい。
01/11/07 21:29ID:???あのー・・・
それ実行したら分かると思うけど"\n"が無いと
全部の行が画面端まで横並びに表示されるよ。
マニュアル読んで出直してきな。
ってかネタか・・・
0024名無しさん@お腹いっぱい。
01/11/07 21:33ID:??????
HSPで動作確認してからUPしてます。
つか確かにマニュアルはしっかり読んでないけど変な動きした?
0025名無しさん@お腹いっぱい。
01/11/07 22:17ID:???0026名無しさん@お腹いっぱい。
01/11/07 22:17ID:???所詮はHSPなんて初心者用の言語。
改行なんて自動でやってくれるんだとさ。
0027名無しさん@お腹いっぱい。
01/11/07 22:24ID:???002823
01/11/07 22:24ID:???あ、そうなんだ・・・thx
厨房言語に憶測レスしたのが間違いだったか・・・
改行も入れずに命令文ズラズラ並べるなんて
微笑ましい光景だね。HSPらしいよ。うん。
0029名無しさん@お腹いっぱい。
01/11/07 22:29ID:???Rubyマンセー
0030名無しさん@お腹いっぱい。
01/11/07 22:31ID:???あなたも昔はやってたクセにぃ?
N88?Hu?
改行したくない時は;つけなきゃ逝けないよ(;´Д`)
0031名無しさん@お腹いっぱい。
01/11/07 22:41ID:???Javaにもprintln()という自動で改行をつけてくれるメソッドがありますので、
Javaもやっぱ、初心者用の言語なんですね。
つか、RubyRubyとうるさい奴が居るので、言うが、
Rubyにもputs()という自動で改行してくれメソッドがありますので、
これまた、Rubyも初心者用の言語なんですね。
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");
}
■ このスレッドは過去ログ倉庫に格納されています