みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

このようなゲームで、的の範囲などを調整できるもの

プレイしている参考動画です
https://youtu.be/iY1MQuMsOaI

Shootというゲームです。
https://www.albinoblacksheep.com/flash/shoot
マウスの練習に使っています。
もっと狭い範囲だけにランダムに出てくれるとありがたいのですが。
例えばマウスカーソル1個分だけ横にズレる、を何回も、というような。

エクセルのマクロとか使ったものでも良いのですが。
よろしくお願いします。

投稿日時 - 2019-04-07 11:16:56

QNo.9604470

dov

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(6)

ANo.6

>>任意の間隔でオートクリック
自分で言っといてなんですが、セルのダブルクリックで編集モードに入りますね多分。
セルロックで選択不可にしたら対処可能かな。

投稿日時 - 2019-04-09 07:10:16

ANo.5

>>カーソルを合わせるだけで反応するように
処理的には出来なくはないのですが、ちょっと反応が重くなったりしそうです。
任意の間隔でオートクリックしてくれるフリーソフトなどを使ってみて下さい。
https://www.vector.co.jp/soft/win95/util/se420838.html
適当な間隔でクリックさればご希望のような形になるかと。

ちなみに今回の物はvbaのコードとしてはそんなに難しくないので、多少勉強すれば自由にカスタムできると思います。
VBA関連ならこのOKWAVEで質問してもいいですし、下記のような入門サイトも多数ありますので、興味があればどうぞ。
http://officetanaka.net/excel/vba/

投稿日時 - 2019-04-08 22:20:37

ANo.4

興が乗ったのでちょっとスコア的な物も足して作ってみました。
図形を大小2つ挿入して、それぞれの名前を「的大」「的小」にして、下記のマクロをどちらにも登録して下さい。
セルのB2が横方向、B3が縦方向の移動範囲指定、セルのB4を規定回数の指定枠に使ってますので、ご自由に指定して下さい。
規定回数クリックすると終わりになって、B8に規定回数の所要秒が算出されます。
数字関係をB列にしてるので、A列に項目名でも任意で入れとくと使いやすいかと。

Sub 的移動2()
Dim SH As Shape
Dim i As Long, s As Long, c As Long, α As Long, β As Long, SHW As Long, SHH As Long
Dim R As Range
Dim Ti1 As Double, Ti2 As Double
i = Range("B2").Value '移動範囲の指定 縦方向
s = Range("B3").Value '移動範囲の指定 横方向
c = Range("B4").Value '規定回数の設定
Set R = Range("G30") '的の基点位置指定

Range("B7") = Range("B7").Value + 1
If Range("B7") = 1 Then
 Ti1 = Timer
 Range("B8") = Ti1
 Range("B5") = 0
 Range("B6") = 0
End If
If Range("B7") >= Range("B4") Then
 MsgBox "終わり"
 Range("B7") = 0
 Ti1 = Range("B8")
 Ti2 = Timer
 Range("B8") = Ti2 - Ti1
End If

If Application.Caller = "的大" Then Range("B5") = Range("B5").Value + 1
If Application.Caller = "的小" Then Range("B6") = Range("B6").Value + 1

For Each SH In ActiveSheet.Shapes
 If SH.Name = "的大" Then
  α = Int(i * Rnd + 1)
  β = Int(s * Rnd + 1)
  SH.Top = R.Offset(α, β).Top
  SH.Left = R.Offset(α, β).Left
  SHH = SH.Height / 2 + SH.Top
  SHW = SH.Width / 2 + SH.Left
 End If
Next SH
For Each SH In ActiveSheet.Shapes
 If SH.Name = "的小" Then
  SH.Top = SHH - SH.Height / 2
  SH.Left = SHW - SH.Width / 2
 End If
Next SH

End Sub

投稿日時 - 2019-04-08 00:35:02

お礼

ありがとうございます。
素晴らしい!
ちょっと試したら、もうすでに右手が鋭敏になってきました。
活用させて頂きます!

実はVBAはドシロウトでして、自分で分かればいじったりしてみたいのですが、クリックしなくてもカーソルを合わせるだけで反応するように、なんて出来たりするんでしょうか?

投稿日時 - 2019-04-08 13:29:24

ANo.3

i-q

fps練習??ソフト
http://tps.game-tansaku.net/gunshooting/aim/

投稿日時 - 2019-04-07 18:16:20

お礼

ありがとうございます!

投稿日時 - 2019-04-08 13:30:50

ANo.2

雑に組んでみたら思ったよりそれっぽく動いたのでペタリ。
適当な新しいシートに図形を挿入して、その図形に以下のマクロを登録して下さい。
クリックする度に図形が移動します。
範囲はセルの位置準拠なので、行・列の幅と高さを細かくすれば細かく移動します。コメントも入れといたので、移動範囲や起点位置を変えたければご自由に。縦横分けましたので、横方向エイムを練習したいなどの意図に合わせて変えてね。

もうちょい詰めれば的の中心近くでスコアがどうこうとか、時間区切るとか、逆に規定回数までの時間カウントとか出来ると思いますが、その辺りは適当に自分でやってみて下さい。

Sub 的移動()
Dim i As Long, S As Long, α As Long, β As Long
Dim R As Range
i = 2 '移動範囲の指定 縦方向
S = 2 '移動範囲の指定 横方向
Set R = Range("C10") '的の基点位置指定


For Each Sh In ActiveSheet.Shapes
  α = Int(i * Rnd + 1)
  β = Int(S * Rnd + 1)
  Sh.Top = R.Offset(α, β).Top
  Sh.Left = R.Offset(α, β).Left
Next Sh

End Sub

投稿日時 - 2019-04-07 12:51:08

お礼

ありがとうございます!

投稿日時 - 2019-04-08 13:30:31

ANo.1

雑なエクセルマクロでよければ組めそうな気もしますが。

とりあえずこの辺りからよさそうなヤツを探してみては?
http://fpsdraven.hateblo.jp/entry/2014/09/02/081231

投稿日時 - 2019-04-07 12:25:19

お礼

ありがとうございます!

投稿日時 - 2019-04-08 13:30:06

あなたにオススメの質問