射出(3/29用)

Dependencies:   mbed ros_lib_kinetic

Fork of NHK_kaida_ros0322_4 by ROBOSTEP4期

Committer:
283
Date:
Wed Mar 21 15:55:23 2018 +0000
Revision:
16:85746e242e49
Parent:
15:c27950efe96f
Child:
17:df95c0fb7b87
a

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Arare 10:a05e9a8980db 1 #include <mbed.h>
agari 0:f6fa58c56955 2 #include <ros.h>
Arare 6:ca4fab2957e4 3 #include <std_msgs/Int32.h>
agari 0:f6fa58c56955 4 #include <std_msgs/String.h>
Arare 11:5a06fd933e55 5 #define R_C_MAX 2
Arare 10:a05e9a8980db 6
Arare 6:ca4fab2957e4 7 Serial pc(USBTX,USBRX);
Arare 10:a05e9a8980db 8 I2C i2c(p9, p10); // sda, scl
Arare 10:a05e9a8980db 9 I2C i2c_2(p28, p27);
Arare 6:ca4fab2957e4 10
Arare 10:a05e9a8980db 11 DigitalOut grab(p11); //0:開く 1:閉じる
Arare 10:a05e9a8980db 12 DigitalOut snap(p14); //1:装填 0:発射
Arare 10:a05e9a8980db 13 DigitalOut s_grab(p13); //0:解放 1:把持
283 14:3858894d1a6b 14 DigitalOut fuck(p17); //0:引抜 1:突出
Arare 11:5a06fd933e55 15 DigitalOut grab2(p18); //0:開く 1:閉じる
Arare 11:5a06fd933e55 16 DigitalOut snap2(p15); //1:装填 0:発射
Arare 11:5a06fd933e55 17 DigitalOut s_grab2(p16); //0:解放 1:把持
Arare 10:a05e9a8980db 18 DigitalOut ledw(p20); //射出LED
Arare 10:a05e9a8980db 19
Arare 2:213c12298d45 20 DigitalOut led1(LED1);
Arare 2:213c12298d45 21 DigitalOut led2(LED2);
Arare 2:213c12298d45 22 DigitalOut led3(LED3);
Arare 2:213c12298d45 23 DigitalOut led4(LED4);
283 14:3858894d1a6b 24 DigitalOut LEDN(p10);
Arare 10:a05e9a8980db 25 DigitalOut out(p21);
Arare 10:a05e9a8980db 26
Arare 6:ca4fab2957e4 27 std_msgs::String action;
Arare 6:ca4fab2957e4 28 std_msgs::String fin_or_not;
Arare 6:ca4fab2957e4 29 std_msgs::String get_or_not;
Arare 10:a05e9a8980db 30
Arare 10:a05e9a8980db 31 int count=0; //何回actionしたんですか?
Arare 10:a05e9a8980db 32 int have_cock=0; //コック持ってますか?
Arare 10:a05e9a8980db 33 int have_action=0; //装填実行
Arare 6:ca4fab2957e4 34 int ready_action=0; //装填待機
Arare 6:ca4fab2957e4 35 int r,g,b,a;
Arare 6:ca4fab2957e4 36 int val;
Arare 6:ca4fab2957e4 37 int red=0;
Arare 10:a05e9a8980db 38 int val2;
Arare 10:a05e9a8980db 39 int red2=0;
Arare 10:a05e9a8980db 40 int RED_MIN=0;
Arare 10:a05e9a8980db 41 int RED_MIN2=0;
Arare 6:ca4fab2957e4 42 int32_t act=101;
Arare 11:5a06fd933e55 43 int ball_judgement=0;
Arare 11:5a06fd933e55 44 int r_c=0;
Arare 11:5a06fd933e55 45 int r_c2=0;
Arare 11:5a06fd933e55 46 int finding=0;
Arare 10:a05e9a8980db 47
Arare 10:a05e9a8980db 48 Ticker MC;
Arare 6:ca4fab2957e4 49 std_msgs::Int32 pub_act;
Arare 10:a05e9a8980db 50 std_msgs::Int32 pub_b;
Arare 11:5a06fd933e55 51 std_msgs::Int32 pub_c1;
Arare 11:5a06fd933e55 52 std_msgs::Int32 pub_c2;
Arare 11:5a06fd933e55 53 std_msgs::Int32 pub_fin;
Arare 6:ca4fab2957e4 54 ros::NodeHandle nh;
Arare 6:ca4fab2957e4 55 ros::Publisher pub_action("act_pose", &pub_act);
Arare 10:a05e9a8980db 56 ros::Publisher pub_ball("act_ball", &pub_b);
Arare 11:5a06fd933e55 57 ros::Publisher pub_color1("act_color1", &pub_c1);
Arare 11:5a06fd933e55 58 ros::Publisher pub_color2("act_color2", &pub_c2);
Arare 11:5a06fd933e55 59 ros::Publisher pub_finc("shoot_fin", &pub_fin);
Arare 10:a05e9a8980db 60
Arare 6:ca4fab2957e4 61 void messageCallback(const std_msgs::Int32 &msg)
agari 3:2184f6f5c8e3 62 {
Arare 6:ca4fab2957e4 63 act=msg.data;
Arare 2:213c12298d45 64 }
Arare 11:5a06fd933e55 65
Arare 11:5a06fd933e55 66 void messageCallback2(const std_msgs::Int32 &msg)
Arare 11:5a06fd933e55 67 {
Arare 11:5a06fd933e55 68 ball_judgement=msg.data;
Arare 11:5a06fd933e55 69 }
Arare 11:5a06fd933e55 70
Arare 11:5a06fd933e55 71 void messageCallback3(const std_msgs::Int32 &msg)
Arare 11:5a06fd933e55 72 {
Arare 11:5a06fd933e55 73 finding=msg.data;
Arare 11:5a06fd933e55 74 }
Arare 11:5a06fd933e55 75
Arare 6:ca4fab2957e4 76 void MCL()
Arare 6:ca4fab2957e4 77 {
Arare 10:a05e9a8980db 78 pub_b.data=ball_judgement;
Arare 11:5a06fd933e55 79 pub_c1.data=RED_MIN2;
Arare 11:5a06fd933e55 80 pub_c2.data=r_c2;
Arare 6:ca4fab2957e4 81 pub_action.publish(&pub_act);
Arare 11:5a06fd933e55 82 pub_color1.publish(&pub_c1);
Arare 11:5a06fd933e55 83 pub_color2.publish(&pub_c2);
Arare 10:a05e9a8980db 84 pub_ball.publish(&pub_b);
Arare 6:ca4fab2957e4 85 nh.spinOnce();
Arare 6:ca4fab2957e4 86 }
Arare 6:ca4fab2957e4 87 //定点に到着した時にTz1:a,Tz2:b,Tz3:cの文字を足回りから送る。topicはshoot_action
Arare 6:ca4fab2957e4 88 //装填用の信号はdとしておく。後で変更して、どうぞ。
Arare 6:ca4fab2957e4 89 ros::Subscriber<std_msgs::Int32> sub("shoot_action",&messageCallback);
Arare 12:6832bc92272f 90 ros::Subscriber<std_msgs::Int32> sub_TZ("tz",&messageCallback2);
Arare 11:5a06fd933e55 91 ros::Subscriber<std_msgs::Int32> sub_find("find",&messageCallback3);
Arare 6:ca4fab2957e4 92
Arare 10:a05e9a8980db 93 /////射出サイクル/////
Arare 10:a05e9a8980db 94 void throw_cock(float waittime)
Arare 10:a05e9a8980db 95 {
Arare 10:a05e9a8980db 96 if (act==2) {
Arare 10:a05e9a8980db 97 led2=1;
283 14:3858894d1a6b 98 fuck=1;
Arare 11:5a06fd933e55 99 s_grab=0;
Arare 11:5a06fd933e55 100 wait(2);
Arare 11:5a06fd933e55 101 ledw=1;
Arare 11:5a06fd933e55 102 wait(1);
Arare 11:5a06fd933e55 103 snap=0;
Arare 11:5a06fd933e55 104 wait(waittime);
Arare 11:5a06fd933e55 105 grab=0;
Arare 11:5a06fd933e55 106 wait(1);
Arare 11:5a06fd933e55 107 ledw=0;
Arare 10:a05e9a8980db 108 }
Arare 10:a05e9a8980db 109 else if (act==4) {
Arare 10:a05e9a8980db 110 led3=1;
283 14:3858894d1a6b 111 fuck=1;
Arare 11:5a06fd933e55 112 s_grab2=0;
Arare 11:5a06fd933e55 113 wait(2);
Arare 11:5a06fd933e55 114 ledw=1;
Arare 11:5a06fd933e55 115 wait(1);
Arare 11:5a06fd933e55 116 snap2=0;
Arare 11:5a06fd933e55 117 wait(waittime);
Arare 11:5a06fd933e55 118 grab2=0;
Arare 11:5a06fd933e55 119 wait(1);
Arare 11:5a06fd933e55 120 ledw=0;
Arare 10:a05e9a8980db 121 }
Arare 10:a05e9a8980db 122 else if (act==6) {
Arare 10:a05e9a8980db 123 led2=1;
Arare 10:a05e9a8980db 124 led3=1;
283 14:3858894d1a6b 125 fuck=1;
Arare 11:5a06fd933e55 126 s_grab2=0;
Arare 11:5a06fd933e55 127 wait(2);
Arare 11:5a06fd933e55 128 ledw=1;
Arare 11:5a06fd933e55 129 wait(1);
Arare 11:5a06fd933e55 130 snap2=0;
Arare 11:5a06fd933e55 131 wait(waittime);
Arare 11:5a06fd933e55 132 grab2=0;
Arare 11:5a06fd933e55 133 wait(1);
Arare 11:5a06fd933e55 134 ledw=0;
Arare 10:a05e9a8980db 135 }
Arare 10:a05e9a8980db 136 else if (act==7) {
283 14:3858894d1a6b 137 fuck=1;
Arare 11:5a06fd933e55 138 s_grab=0;
Arare 11:5a06fd933e55 139 wait(2);
Arare 11:5a06fd933e55 140 ledw=1;
Arare 11:5a06fd933e55 141 wait(1);
Arare 11:5a06fd933e55 142 snap=0;
283 14:3858894d1a6b 143 wait(waittime);
283 14:3858894d1a6b 144 grab=0;
283 14:3858894d1a6b 145 wait(1);
283 14:3858894d1a6b 146 ledw=0;
283 16:85746e242e49 147 }
283 16:85746e242e49 148 else if (act==8) {
283 16:85746e242e49 149 fuck=1;
283 16:85746e242e49 150 s_grab2=0;
283 16:85746e242e49 151 wait(2);
283 16:85746e242e49 152 ledw=1;
283 16:85746e242e49 153 wait(1);
283 16:85746e242e49 154 snap2=0;
283 16:85746e242e49 155 wait(waittime);
283 16:85746e242e49 156 grab2=0;
283 16:85746e242e49 157 wait(1);
283 16:85746e242e49 158 ledw=0;
283 16:85746e242e49 159 }
283 16:85746e242e49 160 else if (act==9) {
283 14:3858894d1a6b 161 fuck=1;
283 14:3858894d1a6b 162 s_grab2=0;
283 14:3858894d1a6b 163 wait(2);
283 14:3858894d1a6b 164 ledw=1;
283 14:3858894d1a6b 165 wait(1);
Arare 11:5a06fd933e55 166 snap2=0;
Arare 11:5a06fd933e55 167 wait(waittime);
Arare 11:5a06fd933e55 168 grab2=0;
Arare 11:5a06fd933e55 169 wait(1);
Arare 11:5a06fd933e55 170 ledw=0;
Arare 10:a05e9a8980db 171 }
Arare 10:a05e9a8980db 172
Arare 10:a05e9a8980db 173 if (act==2) {
Arare 10:a05e9a8980db 174 led2=0;
Arare 10:a05e9a8980db 175 }
Arare 10:a05e9a8980db 176 else if (act==4) {
Arare 10:a05e9a8980db 177 led3=0;
Arare 10:a05e9a8980db 178 }
Arare 10:a05e9a8980db 179 else if (act==6) {
Arare 10:a05e9a8980db 180 led2=0;
Arare 10:a05e9a8980db 181 led3=0;
Arare 10:a05e9a8980db 182 }
Arare 10:a05e9a8980db 183 else if (act==7) {
Arare 10:a05e9a8980db 184 led1=0;
Arare 10:a05e9a8980db 185 led2=0;
Arare 10:a05e9a8980db 186 led3=0;
Arare 10:a05e9a8980db 187 }
Arare 10:a05e9a8980db 188 }
Arare 10:a05e9a8980db 189
Arare 10:a05e9a8980db 190
agari 1:5dd2f53a286f 191 int main(int argc, char **argv)
agari 1:5dd2f53a286f 192 {
Arare 10:a05e9a8980db 193 out=1;
Arare 10:a05e9a8980db 194
Arare 2:213c12298d45 195 nh.initNode();
Arare 2:213c12298d45 196 nh.subscribe(sub);
Arare 11:5a06fd933e55 197 nh.subscribe(sub_TZ);
Arare 11:5a06fd933e55 198 nh.subscribe(sub_find);
Arare 6:ca4fab2957e4 199 nh.advertise(pub_action);
Arare 10:a05e9a8980db 200 nh.advertise(pub_ball);
Arare 11:5a06fd933e55 201 nh.advertise(pub_color1);
Arare 11:5a06fd933e55 202 nh.advertise(pub_color2);
Arare 11:5a06fd933e55 203 nh.advertise(pub_finc);
Arare 6:ca4fab2957e4 204 MC.attach(&MCL,0.01);
Arare 6:ca4fab2957e4 205 pub_act.data=0;
Arare 11:5a06fd933e55 206 pub_fin.data=0;
Arare 10:a05e9a8980db 207 pub_b.data=0;
Arare 9:1dcd40da31ec 208 int first_up=0;
Arare 6:ca4fab2957e4 209 char cmd[2];
Arare 6:ca4fab2957e4 210 char cell[1]= {0x03};
Arare 6:ca4fab2957e4 211 char data[8]= {0,0,0,0,0,0,0,0};
Arare 10:a05e9a8980db 212 char data2[8]= {0,0,0,0,0,0,0,0};
Arare 6:ca4fab2957e4 213 cmd[0] = 0x00;
Arare 6:ca4fab2957e4 214 cmd[1] = 0x89;
Arare 6:ca4fab2957e4 215 i2c.frequency(115200);
Arare 10:a05e9a8980db 216 i2c_2.frequency(115200);
Arare 6:ca4fab2957e4 217 val = i2c.write(84, cmd, 2);
Arare 10:a05e9a8980db 218 val2 = i2c_2.write(84, cmd, 2);
Arare 6:ca4fab2957e4 219 cmd[0] = 0x0;
Arare 6:ca4fab2957e4 220 cmd[1] = 0x09;
Arare 6:ca4fab2957e4 221 val = i2c.write(84, cmd, 2);
Arare 10:a05e9a8980db 222 val2 = i2c_2.write(84, cmd, 2);
Arare 10:a05e9a8980db 223
agari 3:2184f6f5c8e3 224 while(1) {
Arare 6:ca4fab2957e4 225 val = i2c.write(84, cell, 1);
Arare 10:a05e9a8980db 226 val2 = i2c_2.write(84, cell, 1);
Arare 6:ca4fab2957e4 227 val = i2c.read(84, data, 8);
Arare 10:a05e9a8980db 228 val2 = i2c_2.read(84, data2, 8);
Arare 6:ca4fab2957e4 229 red = data[0]<<8 | data[1];
Arare 10:a05e9a8980db 230 red2 = data2[0]<<8 | data2[1];
Arare 10:a05e9a8980db 231 /* if(red<RED_MIN) {
Arare 9:1dcd40da31ec 232 led1=1;
Arare 9:1dcd40da31ec 233 led2=0;
Arare 10:a05e9a8980db 234 } else {
Arare 9:1dcd40da31ec 235 led1=0;
Arare 9:1dcd40da31ec 236 led2=1;
Arare 10:a05e9a8980db 237 }*/
Arare 10:a05e9a8980db 238
Arare 10:a05e9a8980db 239 //pc.printf("%d",red); ///カラーセンサー閾値
Arare 10:a05e9a8980db 240
Arare 10:a05e9a8980db 241 ///装填///
283 16:85746e242e49 242 if(((act==1)||(act==3)||(act==5)||(act==10)||(act==11))&&(ready_action==0)) { //TZ3
Arare 12:6832bc92272f 243 /*if(act==1) {
Arare 11:5a06fd933e55 244 led1=1;
Arare 10:a05e9a8980db 245 }
Arare 11:5a06fd933e55 246 else if(act==3) {
Arare 11:5a06fd933e55 247 led1=1;
Arare 11:5a06fd933e55 248 led2=1;
Arare 11:5a06fd933e55 249 }
Arare 11:5a06fd933e55 250 else if(act==5) {
Arare 11:5a06fd933e55 251 led1=1;
Arare 11:5a06fd933e55 252 led3=1;
Arare 10:a05e9a8980db 253 }
Arare 11:5a06fd933e55 254 else if(act==8) {
Arare 11:5a06fd933e55 255 led4=1;
Arare 11:5a06fd933e55 256 }*/
Arare 11:5a06fd933e55 257 snap=1;
Arare 11:5a06fd933e55 258 snap2=1;
Arare 12:6832bc92272f 259 grab=0;
Arare 12:6832bc92272f 260 grab2=0;
283 14:3858894d1a6b 261 fuck=0;
Arare 12:6832bc92272f 262 while(finding!=1){
Arare 12:6832bc92272f 263 led1=0;
Arare 12:6832bc92272f 264 led2=0;
Arare 12:6832bc92272f 265 led3=0;
Arare 12:6832bc92272f 266 led4=0;
283 14:3858894d1a6b 267 LEDN=1;
Arare 12:6832bc92272f 268 }
Arare 11:5a06fd933e55 269 if(ball_judgement==1){
Arare 12:6832bc92272f 270 led1=0;
Arare 12:6832bc92272f 271 led2=1;
Arare 12:6832bc92272f 272 led3=0;
Arare 12:6832bc92272f 273 led4=0;
Arare 13:84f136900461 274 wait(2);//桃井escape
Arare 12:6832bc92272f 275 grab=1;
283 14:3858894d1a6b 276 wait(0.5);
Arare 12:6832bc92272f 277 s_grab=1;
283 14:3858894d1a6b 278 wait(0.5);
283 14:3858894d1a6b 279 fuck=0;
Arare 12:6832bc92272f 280 }
Arare 11:5a06fd933e55 281 else if(ball_judgement==2){
Arare 12:6832bc92272f 282 led1=0;
Arare 12:6832bc92272f 283 led2=0;
Arare 12:6832bc92272f 284 led3=1;
Arare 12:6832bc92272f 285 led4=0;
283 14:3858894d1a6b 286
Arare 13:84f136900461 287 wait(2);//桃井escape
Arare 12:6832bc92272f 288 grab2=1;
283 14:3858894d1a6b 289 wait(0.5);
Arare 12:6832bc92272f 290 s_grab2=1;
283 14:3858894d1a6b 291 wait(0.5);
283 14:3858894d1a6b 292 fuck=0;
Arare 11:5a06fd933e55 293 }
Arare 15:c27950efe96f 294 else if(ball_judgement>=3){
Arare 12:6832bc92272f 295 led1=0;
Arare 12:6832bc92272f 296 led2=0;
Arare 12:6832bc92272f 297 led3=0;
Arare 12:6832bc92272f 298 led4=1;
Arare 13:84f136900461 299 wait(2);//桃井escape
Arare 12:6832bc92272f 300 grab=1;
Arare 12:6832bc92272f 301 grab2=1;
283 14:3858894d1a6b 302 wait(0.5);
Arare 12:6832bc92272f 303 s_grab=1;
Arare 12:6832bc92272f 304 s_grab2=1;
283 14:3858894d1a6b 305 wait(0.5);
283 14:3858894d1a6b 306 fuck=0;
Arare 11:5a06fd933e55 307 }
Arare 12:6832bc92272f 308 else{
Arare 12:6832bc92272f 309 led1=1;
Arare 12:6832bc92272f 310 led2=0;
Arare 12:6832bc92272f 311 led3=0;
Arare 12:6832bc92272f 312 led4=0;
Arare 12:6832bc92272f 313 }
Arare 11:5a06fd933e55 314 if(act==1) {
Arare 11:5a06fd933e55 315 led1=0;
Arare 11:5a06fd933e55 316 }
Arare 11:5a06fd933e55 317 else if(act==3) {
Arare 11:5a06fd933e55 318 led1=0;
Arare 11:5a06fd933e55 319 led2=0;
Arare 11:5a06fd933e55 320 }
Arare 11:5a06fd933e55 321 else if(act==5) {
Arare 11:5a06fd933e55 322 led1=0;
Arare 11:5a06fd933e55 323 led3=0;
Arare 11:5a06fd933e55 324 }
Arare 11:5a06fd933e55 325 else if(act==8) {
Arare 11:5a06fd933e55 326 led4=0;
Arare 11:5a06fd933e55 327 }
283 14:3858894d1a6b 328 LEDN=0;
Arare 11:5a06fd933e55 329 ready_action=1;
Arare 11:5a06fd933e55 330 count=0;
Arare 11:5a06fd933e55 331 pub_act.data=act;
Arare 11:5a06fd933e55 332 pub_action.publish(&pub_act);
Arare 11:5a06fd933e55 333 r_c=0;
Arare 6:ca4fab2957e4 334 }
Arare 10:a05e9a8980db 335
Arare 10:a05e9a8980db 336 ///射出///
Arare 10:a05e9a8980db 337 if((act==2)&&(count==0)) {
Arare 12:6832bc92272f 338 int f_i=0;
Arare 11:5a06fd933e55 339 throw_cock(0.218); //TZ1
Arare 10:a05e9a8980db 340
Arare 10:a05e9a8980db 341 ready_action=0;
Arare 10:a05e9a8980db 342 count=1;
Arare 10:a05e9a8980db 343 first_up=0;
Arare 10:a05e9a8980db 344 pub_act.data=act;
Arare 10:a05e9a8980db 345 pub_action.publish(&pub_act);
Arare 12:6832bc92272f 346 for(f_i=0;f_i<20;f_i++){
Arare 12:6832bc92272f 347 pub_fin.data=1;
Arare 12:6832bc92272f 348 pub_finc.publish(&pub_fin);
Arare 12:6832bc92272f 349 wait(0.01);
Arare 12:6832bc92272f 350 }
Arare 10:a05e9a8980db 351 }
Arare 10:a05e9a8980db 352
Arare 10:a05e9a8980db 353 if(((act==4)||(act==6))&&(count==0)) {
Arare 12:6832bc92272f 354 int f_i=0;
Arare 11:5a06fd933e55 355 throw_cock(0.218); //TZ2
Arare 6:ca4fab2957e4 356
Arare 10:a05e9a8980db 357 ready_action=0;
Arare 10:a05e9a8980db 358 count=1;
Arare 10:a05e9a8980db 359 first_up=0;
Arare 10:a05e9a8980db 360 pub_act.data=act;
Arare 10:a05e9a8980db 361 pub_action.publish(&pub_act);
Arare 12:6832bc92272f 362 for(f_i=0;f_i<20;f_i++){
Arare 12:6832bc92272f 363 pub_fin.data=1;
Arare 12:6832bc92272f 364 pub_finc.publish(&pub_fin);
Arare 12:6832bc92272f 365 wait(0.01);
Arare 12:6832bc92272f 366 }
Arare 10:a05e9a8980db 367 }
Arare 6:ca4fab2957e4 368
283 16:85746e242e49 369 if(((act==7)||(act==8)||(act==9))&&(count==0)) {
Arare 12:6832bc92272f 370 int f_i=0;
Arare 10:a05e9a8980db 371 throw_cock(0.172); //TZ3
Arare 10:a05e9a8980db 372
Arare 10:a05e9a8980db 373 ready_action=0;
Arare 10:a05e9a8980db 374 count=1;
Arare 10:a05e9a8980db 375 first_up=0;
Arare 10:a05e9a8980db 376 pub_act.data=act;
Arare 10:a05e9a8980db 377 pub_action.publish(&pub_act);
Arare 12:6832bc92272f 378 for(f_i=0;f_i<20;f_i++){
Arare 12:6832bc92272f 379 pub_fin.data=1;
Arare 12:6832bc92272f 380 pub_finc.publish(&pub_fin);
Arare 12:6832bc92272f 381 wait(0.01);
Arare 12:6832bc92272f 382 }
Arare 10:a05e9a8980db 383 }
Arare 10:a05e9a8980db 384
Arare 10:a05e9a8980db 385 //一連の動作が終了したかを判断する。
Arare 10:a05e9a8980db 386 if(count>0) {
Arare 10:a05e9a8980db 387 have_cock=0;
Arare 10:a05e9a8980db 388 have_action=0;
Arare 10:a05e9a8980db 389 }
agari 3:2184f6f5c8e3 390 }
Arare 10:a05e9a8980db 391 }