ゲームの効率的な作り方について への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 チョコボ  (小学生)
投稿日時
2009/4/22 08:14:24
タイマーイベントも全部コツコツ掲載してみてください。
投稿者 チョコボ  (小学生)
投稿日時
2009/4/22 08:06:49
ん~ラキシスさんのプログラムを検証しょうとしてますけど。
JPGのネットファイルはGIFになってますが^^
JPGのネットファイルはGIFになってますが^^
投稿者 チョコボ  (小学生)
投稿日時
2009/4/22 02:39:38
タイマーコンポーネントが6個あるのは?とか
部分的なんで検証できないけど^^
でも動いてるですよね?
ちょっと、ぼくも作ろうかなぁ^^
部分的なんで検証できないけど^^
でも動いてるですよね?
ちょっと、ぼくも作ろうかなぁ^^
投稿者 ラキシス  ()
投稿日時
2009/4/20 21:43:07
単純にまとめるとこんな感じかな。
Dim g As Graphics
Dim gb As Graphics
Dim bitmap As Image
Dim flag As Boolean = True
Dim x = 450, y = 0
Dim dx = 0, dy = 100
Dim olddx, olddy As Integer
Dim maru As New Bitmap("maru.gif") 'ボウル(影が右から左にある)
Dim maru2 As New Bitmap("maru2.gif") 'ボウル(影が左から右にある)
Dim netto As New bitmap("netto.gif") 'ネット
Dim n1, n2, n3, n4, n5, n6 As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
g = PictureBox1.CreateGraphics
gb = PictureBox1.CreateGraphics
gb.DrawImage(netto, x, y, netto.Width, 450)
Timer1.Enabled = True
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False
Randomize()
n1 = Int(Rnd() * 3)
If n1 = 0 Then
Timer6.Interval = 30
ElseIf n1 = 1 Then
Timer1.Interval = 80
ElseIf n1 = 2 Then
Timer1.Interval = 40
End If
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
g.FillRectangle(Brushes.White, olddx, olddy, maru.Width, maru.Height)
g.FillRectangle(Brushes.White, olddx, olddy, maru2.Width, maru2.Height)
gb = PictureBox1.CreateGraphics
gb.DrawImage(netto, x, y, netto.Width, 450)
olddx = dx
olddy = dy
If dx < 600 Then
dx = dx + 15
dy = dy
Else
dx = dx + 10
dy = dy + 10
End If
If dy > 350 Then
Timer1.Enabled = False
SoundFileName = """kk.wav"""
mciSendString("Play " & SoundFileName, vbNull, 0, 0) 'BGMを鳴らす
'BGMが鳴ったら得点
End If
flag = Not flag 'ボールを回転させる
If flag = True Then
Dim destRect As New Rectangle(dx, dy, maru.Width, maru.Height)
Dim srcRect As New Rectangle(0, 0, maru.Width, maru.Height)
g.DrawImage(maru, destRect, srcRect, GraphicsUnit.Pixel)
Else
Dim destRect As New Rectangle(dx, dy, maru2.Width, maru2.Height)
Dim srcRect As New Rectangle(0, 0, maru2.Width, maru2.Height)
g.DrawImage(maru2, destRect, srcRect, GraphicsUnit.Pixel)
End If
End Sub
投稿者 チョコボ  (小学生)
投稿日時
2009/4/10 03:29:33
ありゃ、なんかシーンとしちゃいましたが。。
皮肉とかではなくて、本当に難しいんですよ。
例えば、サーブを打つルーチンにしても...
方程式で落下地点を制御するのか、データリードによる落下地点場所のルートを20種類用意するとか、
これでも2つの方法があるわけですけど。
フロチャート的には1番最初に作るルーチンですね。
次がコム側、あるいは対戦プレイヤー側のレシーブ及びトス等のルーチンです。
6人居ますからねぇ、バレーボールわ。
このルーチンは難しいね^^
皮肉とかではなくて、本当に難しいんですよ。
例えば、サーブを打つルーチンにしても...
方程式で落下地点を制御するのか、データリードによる落下地点場所のルートを20種類用意するとか、
これでも2つの方法があるわけですけど。
フロチャート的には1番最初に作るルーチンですね。
次がコム側、あるいは対戦プレイヤー側のレシーブ及びトス等のルーチンです。
6人居ますからねぇ、バレーボールわ。
このルーチンは難しいね^^
投稿者 デジタルチョコボ  (小学生)
投稿日時
2009/4/9 02:53:53
挑戦自体はすごいですよ。
バレーボールやサッカーゲームは、ものすごく難しいものです。
トスボタンとか、アタックボタン等とか
あと、手のどの部分にボールが当たるとジャストミートするのか。とか。
これは、難しい~
サーブルーチンくらいしか、僕はつくれそうにないけど。
レシーブとかむずかしいなぁ~^^
バレーボールやサッカーゲームは、ものすごく難しいものです。
トスボタンとか、アタックボタン等とか
あと、手のどの部分にボールが当たるとジャストミートするのか。とか。
これは、難しい~
サーブルーチンくらいしか、僕はつくれそうにないけど。
レシーブとかむずかしいなぁ~^^
投稿者 (削除されました)  ()
投稿日時
2009/4/8 19:08:15
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2009/4/8 15:58:05
(削除されました)
投稿者 チョコボ  (小学生)
投稿日時
2009/4/8 05:26:32
すごいなぁ~
ほんとにつくったんですか^^
トスとかレシーブとかボールと手の接触範囲数とかあるんでしょうか?
魔球スマッシュとか・・
sin,
cos
で。
暇でしたら、ちょっと書いてみてください。(^~^)
ぼくも作りたいなぁ。
ほんとにつくったんですか^^
トスとかレシーブとかボールと手の接触範囲数とかあるんでしょうか?
魔球スマッシュとか・・
sin,
cos
で。
暇でしたら、ちょっと書いてみてください。(^~^)
ぼくも作りたいなぁ。
投稿者 葉月  (社会人)
投稿日時
2009/4/7 06:09:02
単純にまとめました。
Case 0
Timer1.Enabled = True
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False
Case 1
Timer1.Enabled = True
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False
Case 2
Timer1.Enabled = True
Timer2.Enabled = False
Timer3.Enabled = False
Timer4.Enabled = False
Timer5.Enabled = False
Case0-2は、.Interval の値だけしか違いませんね。
関数でまとめられます。
If dx < 600 Then
'省略
ElseIf dx >= 600 Then
'省略
End If
省略の中は、dxとdyの値が違うだけです。
ここも引数を与えるだけで、関数化できます。
ここのスレッドも一読しておくといいかもしれません。
http://rucio.groupsite.jp/commu/ThreadDetail.aspx?ThreadId=9048
投稿者 (削除されました)  ()
投稿日時
2009/4/7 05:33:30
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2009/4/7 04:17:51
(削除されました)
投稿者 (削除されました)  ()
投稿日時
2009/4/7 04:12:58
(削除されました)
たぶん、でフォルトさんは他の言語では相当にデキルんですよね?
バレーボールゲームは、かなり難しいです。
個人的にはプヨプヨとか、テトリスより上のランクですよ。
vbに関しては、かなり、まだまだ始めたばかりですよね?
テニスか卓球にした方がいいように思いますが。