annotate Character.c @ 70:cee55c8365e9 default tip

fix
author Kazuma
date Thu, 19 May 2016 18:52:26 +0900
parents 2c85322348cf
children 2e123c4bf5ca
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 #include <stdio.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 #include <stdlib.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #include "syokika.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #include "bool.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #include <SDL.h>
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 #include "SDL_opengl.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 #include "object.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 #include "Character.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 #include "Character_state.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 #include "count2.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 #include "tokuten.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 #include "schedule.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 #include "sankaku.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 #include "sgoex.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 #include "collision.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 #include "debug.h"
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 #include "error.h"
7
23d54565aa7b not working.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 2
diff changeset
19 #include "state_task.h"
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
20 #include "Func.h"
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 #define CHARACTER_MAX_POOL_SIZE 2048
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 CHARACTER *active_chara_list;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 CHARACTER *free_chara_list;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 const table enemystate[] = ENEMY_STATUS_TABLE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 int filpcount = 0;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 int stage = 0;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 BOOL tf = FALSE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 static int pool_size;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 int init_chara_list(int num)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 if(active_chara_list == NULL)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 return extend_chara_list_pool(num);
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 return 1;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 int
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 extend_chara_list_pool(int num)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 pool_size = num;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 __debug("task init start");
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 int i;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 CHARACTER *q[num];
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 for(i = 0; i<num ; i++)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 q[i] = (CHARACTER*)malloc(sizeof(CHARACTER));
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 q[i]->f = FALSE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 q[i]->state = noaction;
33
39e643fc4f90 moving stage1.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
59 q[i]->dt1 = 0;
39e643fc4f90 moving stage1.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
60 q[i]->dt2 = 0;
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
61 q[i]->task = 0;
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 q[i]->collision = noaction;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 for(i = 0; i<num-1 ; i++)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 q[i]->next = q[i+1];
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 //q[i]->next->prev = q[i];
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 q[num-1]->next = NULL;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 active_chara_list = (CHARACTER*)malloc(sizeof(CHARACTER));
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 active_chara_list->f = FALSE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 active_chara_list->state = noaction;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 active_chara_list->collision = noaction;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 active_chara_list->next = q[0];
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 //q[0]->prev = active_chara_list;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 //active_chara_list->prev = q[num-1];
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 //q[num-1]->next = active_chara_list;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 CHARACTER *p;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 for(p = active_chara_list->next; p != NULL ; p = p->next)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 if(p != NULL)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 __debug("list_test");
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 return 1;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 void TFon()
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 tf = TRUE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 void TFoff()
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 tf = FALSE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102
44
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
103 static int global_id = 0;
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
104
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
105
19
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 7
diff changeset
106 void
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 Putenemy(int charano, float x, float y, float vx, float vy,
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 CHARACTER * (*action)(CHARACTER *chara))
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 CHARACTER *q;
44
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
111
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 for(q = active_chara_list->next; q != NULL ;q = q->next)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 if(q->f == FALSE)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 break;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119
44
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
120 q->chara_id = global_id;
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
121 ++global_id;
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 q->state = action;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 q->collision = atari;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 q->x = x;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 q->y = y;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 q->vx = vx;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 q->vy = vy;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 q->tama = tf;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 q->vit = enemystate[charano].p;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 q->score = enemystate[charano].sc;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 q->charano = enemystate[charano].charano;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 q->s = 0;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 q->f = TRUE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 //q->state = ALIVE;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 //q->group = ENEMY
44
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
136 if (q->tama == FALSE) {
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
137 printf("F%d: [%d] x=%f y=%f vx=%f vy=%f CREATE\n", filpcount, q->chara_id, q->x, q->y, q->vx, q->vy);
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
138 }
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 void state_update()
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 CHARACTER *p;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 for(p = active_chara_list->next; p!= NULL ;p = p->next)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 p=(*p->state)(p);
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 void collision_detect()
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 CHARACTER *p;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 for(p = active_chara_list->next; p!=NULL;p = p->next)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 {
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
155 if((p->state != chara_state8) && (p->state != chara_state9)) {
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 p=(*p->collision)(p);
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
157 }
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 void obj_draw()
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 CHARACTER *p;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 for(p = active_chara_list->next; p!=NULL;p = p->next)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 if(p->f == TRUE)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 PutSprite(1, p->x, p->y, p->charano);
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 void outofwindow()
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 CHARACTER *p;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 for(p = active_chara_list->next; p!=NULL; p = p->next)
435ac1cdb64e create task dandy directry.
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 if((p->state != chara_state8) && (p->state != chara_state9))
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
179 {
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 if ((p->y > 964 + 32)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 || (p->x > 1688 + 50)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 || (p->y < 0 - 128)
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 || (p->x < 0 - 200))
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 {
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 p->f = FALSE;
44
2c85322348cf add print log.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
186 p->tama = TRUE;
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 p->state = delete_chara;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 p->collision = noaction;
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 }
34
7aaaaf5dde40 add new task.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents: 33
diff changeset
190 }
0
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 }
435ac1cdb64e create task dandy directry.
koba <koba@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 }