OSDN Git Service

ver0.632
[awarsiii/AwarsIV.git] / Awars III / BattleView.m
1 //
2 //  BattleView.m
3 //  Awars III
4 //
5 //  Created by Killery on 2013/03/23.
6 //  Copyright (c) 2013年 Killery. All rights reserved.
7 //
8
9 #import "BattleView.h"
10
11 @implementation BattleView
12
13 -(void)awakeFromNib{
14
15     battleView = self;
16     hitSoundBasic = [[NSSound soundNamed:@"hitSound.mp3"] retain];
17 }
18
19 -(BOOL)isFlipped{
20     return YES;
21 }
22
23 - (id)initWithFrame:(NSRect)frame
24 {
25     self = [super initWithFrame:frame];
26     if (self) {
27
28     }
29     
30     return self;
31 }
32
33
34 -(void)mouseDown:(NSEvent *)theEvent{
35     
36     bLoopFlag = false;
37
38
39 }
40
41 -(void)drawImage:(NSImage*)image x:(float)x y:(float)y f:(float)frac{
42     NSRect frRect;
43     frRect.size.height = image.size.height;
44     frRect.size.width = image.size.width;
45     
46     frRect.origin.x = 0;
47     frRect.origin.y = 0;
48     
49     NSRect drRect;
50     drRect.origin.x = x;
51     drRect.origin.y = y;
52     drRect.size.height = image.size.height;
53     drRect.size.width = image.size.width;
54     
55     [image drawInRect:drRect fromRect:frRect operation:NSCompositeSourceOver fraction:frac respectFlipped:YES hints:nil];
56     
57 }
58
59 - (void)drawRect:(NSRect)dirtyRect
60 {
61     // Drawing code here.
62     NSImage *img;
63     
64     if(!battleVeryBegunFlag){
65     U = UTop;
66     while (!(AUN[1] == U->number)) {
67         U = U->next;
68     }
69     
70     img = [U->C.imgb copy];
71     [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
72     
73     [self drawImage:img x:BT_POINTX1 y:BT_POINTY f:1.0];
74     U = UTop;
75     
76     U = UTop;
77     while (!(DUN[1] == U->number)) {
78         U = U->next;
79     }
80     
81     img = [U->C.imgb copy];
82     [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
83     
84     [self drawImage:img x:BT_POINTX2 y:BT_POINTY f:1.0];
85     U = UTop;
86     }else if(battleVeryBegunFlag && !BTunitAttackFlag1 && !BTunitAttackFlag2){
87         
88         
89         btDistanceX1 += BT_CHAMOVESPEED;
90         
91         if(btDistanceX1 >= BT_CHADISTANCEDELTA)
92             btDistanceX1 = BT_CHADISTANCEDELTA;
93         U = UTop;
94         while (!(AUN[1] == U->number)) {
95             U = U->next;
96         }
97         
98         img = [U->C.imgb copy];
99         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
100         
101         [self drawImage:img x:BT_POINTX1 + btDistanceX1 y:BT_POINTY f:1.0];
102         U = UTop;
103         
104         
105         btDistanceX2 += BT_CHAMOVESPEED;
106         
107         if(btDistanceX2 >= BT_CHADISTANCEDELTA)
108             btDistanceX2 = BT_CHADISTANCEDELTA;
109         U = UTop;
110         while (!(DUN[1] == U->number)) {
111             U = U->next;
112         }
113         
114         img = [U->C.imgb copy];
115         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
116         
117         [self drawImage:img x:BT_POINTX2 - btDistanceX2 y:BT_POINTY f:1.0];
118         U = UTop;
119         
120         
121         if(btDistanceX1 >= BT_CHADISTANCEDELTA && btDistanceX2 >= BT_CHADISTANCEDELTA){
122             baseDistanceCompFlag = true;
123         }
124     }else if(BTunitAttackFlag1 && !btHitFlag1){
125         
126         U = UTop;
127         while (!(DUN[1] == U->number)) {
128             U = U->next;
129         }
130         
131         img = [U->C.imgb copy];
132         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
133         
134         [self drawImage:img x:BT_POINTX2 - btDistanceX2 y:BT_POINTY f:1.0];
135         U = UTop;
136         
137         U = UTop;
138         while (!(AUN[1] == U->number)) {
139             U = U->next;
140         }
141         
142         img = [U->C.imgb copy];
143         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
144         
145         if(btAttackMoveValue1 == 0){
146             btAttackMove1 += 20;
147         }else if(btAttackMoveValue1 == 1){
148             btAttackMove1 += -20;
149         }
150         
151         if(btAttackMove1 >= 80){
152             btAttackMoveValue1 = 1;
153         }
154         if(btAttackMove1 <= 0){
155             if(btAttackMoveValue1 < 2)
156                 btHitFlag1 = true;
157             btAttackMoveValue1 = 2;
158         }
159         
160         if(btAttackMoveValue1 < 2){
161             [self drawImage:img x:BT_POINTX1 + btDistanceX1 + btAttackMove1 y:BT_POINTY f:1.0];
162         }else{
163             [self drawImage:img x:BT_POINTX1 + btDistanceX1 y:BT_POINTY f:1.0];
164         }
165         U = UTop;
166         
167         
168         
169     }else if(BTunitAttackFlag2 && !btHitFlag2){
170         
171         
172         U = UTop;
173         while (!(AUN[1] == U->number)) {
174             U = U->next;
175         }
176         
177         img = [U->C.imgb copy];
178         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
179         
180         [self drawImage:img x:BT_POINTX1 + btDistanceX1 y:BT_POINTY f:1.0];
181         U = UTop;
182         
183         U = UTop;
184         while (!(DUN[1] == U->number)) {
185             U = U->next;
186         }
187         
188         img = [U->C.imgb copy];
189         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
190         
191         if(btAttackMoveValue2 == 0){
192             btAttackMove2 += 20;
193         }else if(btAttackMoveValue2 == 1){
194             btAttackMove2 += -20;
195         }
196         
197         if(btAttackMove2 >= 80){
198             btAttackMoveValue2 = 1;
199         }
200         if(btAttackMove2 <= 0){
201             if(btAttackMoveValue2 < 2)
202                 btHitFlag2 = true;
203             btAttackMoveValue2 = 2;
204         }
205         
206         if(btAttackMoveValue2 < 2){
207             [self drawImage:img x:BT_POINTX2 - btDistanceX2 - btAttackMove2 y:BT_POINTY f:1.0];
208         }else{
209             [self drawImage:img x:BT_POINTX2 - btDistanceX2 y:BT_POINTY f:1.0];
210         }
211         U = UTop;
212         
213     }else if(btHitFlag1){
214     
215
216         btHitFlagCnt1++;
217         
218         U = UTop;
219         while (!(AUN[1] == U->number)) {
220             U = U->next;
221         }
222         
223         img = [U->C.imgb copy];
224         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
225         
226         if (btHitFlagCnt1 == 1)
227             [hitSoundBasic play];
228         if(btHitFlagCnt1 > 10)
229             btHitFlagCnt1 = 10;
230         
231         
232         [self drawImage:img x:BT_POINTX1 + btDistanceX1 y:BT_POINTY f:1.0];
233         
234         U = UTop;
235
236         U = UTop;
237         while (!(DUN[1] == U->number)) {
238             U = U->next;
239         }
240         
241         img = [U->C.imgb copy];
242         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
243         
244         if(btHitFlagCnt1%2 == 0) [self drawImage:img x:BT_POINTX2 - btDistanceX2 y:BT_POINTY f:1.0];
245         U = UTop;
246
247         
248     }else if(btHitFlag2){
249         btHitFlagCnt2++;
250         
251         U = UTop;
252         while (!(DUN[1] == U->number)) {
253             U = U->next;
254         }
255         
256         img = [U->C.imgb copy];
257         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
258         
259         if (btHitFlagCnt2 == 1)
260             [hitSoundBasic play];
261         if(btHitFlagCnt2 > 10)
262             btHitFlagCnt2 = 10;
263         
264         
265         [self drawImage:img x:BT_POINTX2 - btDistanceX2 y:BT_POINTY f:1.0];
266         
267         U = UTop;
268         
269         U = UTop;
270         while (!(AUN[1] == U->number)) {
271             U = U->next;
272         }
273         
274         img = [U->C.imgb copy];
275         [img setSize:NSMakeSize(BT_CHASIZEX, BT_CHASIZEY)];
276         
277         if(btHitFlagCnt2%2 == 0) [self drawImage:img x:BT_POINTX1 + btDistanceX1 y:BT_POINTY f:1.0];
278         U = UTop;
279
280     }
281     
282     
283 }
284
285 @end