質問編集履歴

2

2020/03/07 02:39

投稿

masa_mf3
masa_mf3

スコア64

test CHANGED
@@ -1 +1 @@
1
- コンソゲームを作る
1
+ アプリを作る
test CHANGED
@@ -1,3 +1,3 @@
1
- コンソゲームを作る方法を考えております。
1
+ アプリを作る方法を考えております。
2
2
 
3
3
  いつもありがとうございます。

1

事情により内容だけ削除させていただきました。とても感謝しております。

2020/03/07 02:38

投稿

masa_mf3
masa_mf3

スコア64

test CHANGED
@@ -1 +1 @@
1
- Rubyでタミナ上の簡単なゲームを作りたい
1
+ コンソールゲームを作
test CHANGED
@@ -1,131 +1,3 @@
1
- 現在、Rubyを使ってゲームを作ております。
1
+ コンソールでゲームを作る方法を考えております。
2
2
 
3
- インスタンスの**モンスターを2匹**作り、自動で戦わせたいと思っています。
4
-
5
-
6
-
7
- 長時間考えた結果、かなり無理やりですが、以下のコードで上手く動かすことができました。
8
-
9
- しかし、**ループや初期値をクラスの中に入れ込む,無駄を減らす**など、現状よりシンプルにするためにはどのようにすればよろしいでしょうか。ご教示お願い致します。
10
-
11
-
12
-
13
- **仕様**
14
-
15
- - モンスターは2匹おり
16
-
17
- - 順番に攻撃しますが、power(攻撃力)の大きい方が攻撃できます
18
-
19
- - HP0になったら終了します
3
+ いつもありとうございます
20
-
21
-
22
-
23
-
24
-
25
- ```Ruby
26
-
27
- class Monster
28
-
29
-
30
-
31
- @@count = 0
32
-
33
-
34
-
35
- attr_accessor :info
36
-
37
-
38
-
39
- def initialize(name)
40
-
41
- @name = name
42
-
43
- end
44
-
45
-
46
-
47
- def attack
48
-
49
-
50
-
51
- @@count += 1
52
-
53
-
54
-
55
- #powerの大きい方が攻撃できる
56
-
57
- if self.info[0][:power] > self.info[1][:power]
58
-
59
- self.info[0][:hp] -= self.info[1][:power]
60
-
61
- else
62
-
63
- self.info[1][:hp] -= self.info[0][:power]
64
-
65
- end
66
-
67
-
68
-
69
- puts "------"
70
-
71
- puts "第#{@@count}戦"
72
-
73
- puts "------"
74
-
75
- puts "モンスター1の残りHP #{ self.info[0][:hp] }"
76
-
77
- puts "モンスター2の残りHP #{ self.info[1][:hp] }"
78
-
79
- end
80
-
81
- end
82
-
83
-
84
-
85
- #インスタンス化
86
-
87
- mon1 = Monster.new("モンスター1")
88
-
89
- mon2 = Monster.new("モンスター2")
90
-
91
-
92
-
93
- #初期値(非常に無理やりで、ダブらせてしまった)
94
-
95
- mon1.info = [{power: 40, hp: 200}, {power: 20, hp: 100}]
96
-
97
- mon2.info = [{power: 40, hp: 200}, {power: 20, hp: 100}]
98
-
99
-
100
-
101
- loop do
102
-
103
-
104
-
105
- if mon1.info[0][:power] > mon2.info[1][:power]
106
-
107
- mon1.attack
108
-
109
-
110
-
111
- else
112
-
113
- mon2attack
114
-
115
-
116
-
117
- end
118
-
119
-
120
-
121
- #HPが0になったら終了
122
-
123
- if mon1.info[0][:hp] <= 0 || mon2.info[1][:hp] <= 0
124
-
125
- break
126
-
127
- end
128
-
129
- end
130
-
131
- ```