annotate ppe/Atari.cc @ 67:21ac9f57a6d4

Mac OS X 64bit
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 21 May 2011 16:27:41 +0900
parents 6989f8cb0259
children cee55c8365e9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
21
5f1abbe03b9a add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
1 #include "task_base.h"
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
2 #include "task_object.h"
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3
33
39e643fc4f90 moving stage1.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
4 SchedDefineTask1(Atari, atari);
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 static int
33
39e643fc4f90 moving stage1.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 28
diff changeset
7 atari(SchedTask *smanager, void *rbuf, void *wbuf)
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 {
67
21ac9f57a6d4 Mac OS X 64bit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
9 long w = (long)smanager->get_param(0);
21ac9f57a6d4 Mac OS X 64bit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
10 long h = (long)smanager->get_param(1);
21ac9f57a6d4 Mac OS X 64bit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
11 long tama_lv1_end = (long)smanager->get_param(2);
21ac9f57a6d4 Mac OS X 64bit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
12 long tama_lv2_end = (long)smanager->get_param(3);
21ac9f57a6d4 Mac OS X 64bit
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 37
diff changeset
13 long laser_lv1_end = (long)smanager->get_param(4);
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
15 CHARACTER *p = (CHARACTER*)smanager->get_input(rbuf, 0);
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
16 player *jiki = (player*)smanager->get_input(rbuf, 1);
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
17 stge *lg = (stge*)smanager->get_input(rbuf, 2);
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
18 stge *infg = (stge*)smanager->get_input(rbuf, 3);
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
19 int *infg_level = (int*)smanager->get_input(rbuf, 4);
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 CollisionPropertyPtr property
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
21 = (CollisionPropertyPtr)smanager->get_input(rbuf, 5);
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
23 int *enemycount = &property->enemycount;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
24 tama1 *tlv3 = &property->tlv3;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 tama1 *tama_lv1 = property->tama_lv1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 tama2 *tama_lv2 = property->tama_lv2;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 laser *laser_lv1 = property->laser_lv1;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
29 laser *laser_lv2 = &property->laser_lv2;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 laser *laser_lv3 = property->laser_lv3;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 int i1, ex, ey;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 int n;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 ex = p->x;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 ey = p->y;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
37 int length = 1;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
38 smanager->set_outputSize(2, sizeof(ObjContainer)+sizeof(ObjData)*(length-1));
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
39 smanager->setup_outputData();
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
40
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
41 CHARACTER *q = (CHARACTER*)smanager->get_output(wbuf, 0);
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
42 CollisionPropertyPtr w_property
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
43 = (CollisionPropertyPtr)smanager->get_output(wbuf, 1);
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
44 ObjContainerPtr sprite = (ObjContainerPtr)smanager->get_output(wbuf, 2);
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
45 sprite->flag = false;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
46 sprite->length = length;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
47
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 //自機やられ
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 #ifndef INVISIBLE_MODE
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
50 if ((ex < jiki->x + 128 / 2) && (ex + w > jiki->x + 128 / 2)
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
51 && (ey < jiki->y + 128 / 2) && (ey + h > jiki->y + 128 / 2)
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
52 && jiki->muteki == 0) {
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
53 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
54 Bom(jiki->x + 16, jiki->y + 16, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
55 jiki->bf = FALSE;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
56 jiki->zanki--;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
57 jiki->muteki = 120;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
58
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
60 infg->stg = 0;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
61 *infg_level--;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
62 if (*infg_level < 0)
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
63 *infg_level = 0;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
65 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
66 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
67 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
68 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
69
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
70 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
71 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 #endif
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 if (p->tama == TRUE)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 goto jumping;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 for (i1 = 0; i1 < tama_lv1_end + 1; i1++) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 if ((tama_lv1[i1].x + 64 + 64 > ex)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 && (ex + w > tama_lv1[i1].x + 16)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 && (tama_lv1[i1].y + 128 > ey) && (tama_lv1[i1].y < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 && (tama_lv1[i1].r != -1)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 tama_lv1[i1].r = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 p->vit -= TAMALV1P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
86 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
88 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
89 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
90 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
91 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
92 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
93 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
96 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
97 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
98 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
99 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
100
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
101 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
102 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 if ((tama_lv1[i1].x + 64 > ex) && (ex + w > tama_lv1[i1].x)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 && (tama_lv1[i1].y + 128 > ey) && (tama_lv1[i1].y < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 && (tama_lv1[i1].l != -1)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 tama_lv1[i1].l = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 p->vit -= TAMALV1P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
111 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
113 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
114 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
115 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
116 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
117 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
118 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
121 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
122 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
123 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
124 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
125
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
126 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
127 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 for (i1 = 0; i1 < tama_lv2_end + 1; i1++) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 if ((tama_lv2[i1].x + 128 + 64 > ex)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 && (ex + w > tama_lv2[i1].x + 128)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 && (tama_lv2[i1].y + 192 > ey) && (tama_lv2[i1].y < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 && (tama_lv2[i1].rr != -1)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 tama_lv2[i1].rr = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 p->vit -= TAMALV2P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
140 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
142 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
143 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
144 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
145 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
146 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
147 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
150 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
151 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
152 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
153 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
154
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
155 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
156 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 if ((tama_lv2[i1].x + 64 + 64 > ex)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 && (ex + w > tama_lv2[i1].x + 16)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 && (tama_lv2[i1].y - 32 + 192 > ey)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 && (tama_lv2[i1].y - 32 < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 && (tama_lv2[i1].sr != -1)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 tama_lv2[i1].sr = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 p->vit -= TAMALV2P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
168 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
170 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
171 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
172 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
173 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
174 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
175 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
178 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
179 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
180 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
181 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
182
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
183 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
184 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 if ((tama_lv2[i1].x + 64 > ex) && (ex + w > tama_lv2[i1].x)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 && (tama_lv2[i1].y - 32 + 192 > ey)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190 && (tama_lv2[i1].y - 32 < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 && (tama_lv2[i1].sl != -1)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 tama_lv2[i1].sl = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 p->vit -= TAMALV2P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
194 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
196 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
197 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
198 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
199 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
200 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
201 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
204 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
205 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
206 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
207 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
208
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
209 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
210 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 if ((tama_lv2[i1].x - 64 + 64 > ex)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 && (ex + w > tama_lv2[i1].x - 64)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 && (tama_lv2[i1].y + 192 > ey) && (tama_lv2[i1].y < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 && (tama_lv2[i1].ll != -1)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 tama_lv2[i1].ll = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 p->vit -= TAMALV2P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
220 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
222 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
223 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
224 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
225 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
226 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
227 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
230 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
231 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
232 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
233 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
234
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
235 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
236 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 }
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
241 if ((tlv3->r > 0) && (jiki->x < ex + w) && (jiki->x + 128 > ex)
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
242 && (jiki->y > ey + h)) {
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 p->vit -= TAMALV3P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
244 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
246 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
247 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
248 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
249 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
250 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
251 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
254 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
255 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
256 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
257 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
258
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
259 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
260 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 jumping:
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
265 if ((tlv3->r > 0) && (jiki->x < ex + w) && (jiki->x + 128 > ex)
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
266 && (jiki->y + 128 > ey) && (jiki->y < ey + h)) {
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267 p->vit -= TAMALV3P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
268 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
270 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
271 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
272 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
273 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
274 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
275 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
278 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
279 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
280 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
281 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
282
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
283 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
284 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 /*laser lv1 */
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 for (i1 = 0; i1 < laser_lv1_end + 1; i1++) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 n = laser_lv1[i1].r * 128 / 4096;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 if ((laser_lv1[i1].x + n > ex) && (ex + w > laser_lv1[i1].x)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 && (laser_lv1[i1].y + n > ey) && (laser_lv1[i1].y < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 && (laser_lv1[i1].r != -1)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 laser_lv1[i1].r = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 laser_lv1[i1].y = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 p->vit -= LASERLV1P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
298 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
300 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
301 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
302 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
303 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
304 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
305 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
308 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
309 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
310 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
311 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
312
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
313 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
314 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 /*shield(laser lv2) */
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
320 if ((p->tama == TRUE) && (lg->stg > 0) &&
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 (laser_lv2[0].x + 128 > ex) && (ex + w > laser_lv2[0].x - 128)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 && (laser_lv2[0].y + 128 > ey) && (laser_lv2[0].y - 128 < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 && (laser_lv2[0].r != 0)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 p->vit -= LASERLV2P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
325 lg->stg -= 26;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
326 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
328 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
329 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
330 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
331 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
332 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
333 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
336 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
337 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
338 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
339 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
340
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
341 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
342 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 /*bomber(laser lv3) */
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 if (laser_lv3[0].r < 62) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 for (i1 = 1; i1 < 128; i1++) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 if ((laser_lv3[i1].x + 128 > ex) && (ex + w > laser_lv3[i1].x)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350 && (laser_lv3[i1].y + 128 > ey)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 && (laser_lv3[i1].y < ey + h)
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 && (laser_lv3[i1].r > 0)) {
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 tama_lv2[i1].rr = -1;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 p->vit -= LASERLV3P;
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
355 infg->stg++;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 if (p->vit <= 0) {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
357 infg->stg += 4;
37
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
358 sprite->flag = true;
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 35
diff changeset
359 Bom(p->x, p->y, &sprite->data[0]);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
360 *enemycount += (p->score *
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
361 ((infg->stg / 128) + *infg_level + 1));
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 8
diff changeset
362 p->task = DELETE_CHARA;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 p->f = FALSE;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
365 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
366 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
367 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
368 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
369
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
370 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
371 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 }
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 }
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
377
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
378 property->infg_level = *infg_level;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
379 property->jiki = *jiki;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
380 property->lg = *lg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
381 property->infg = *infg;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
382
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
383 *q = *p;
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
384 *w_property = *property;
2
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 return 0;
6382d8f6a973 not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 }