Ejemplo n.º 1
0
bool 
NRF24L01P::begin(const void* config)
{
  // Setup hardware features, channel, bitrate, retransmission, dynamic payload
  write(FEATURE, (_BV(EN_DPL) | _BV(EN_ACK_PAY) | _BV(EN_DYN_ACK)));
  write(RF_CH, m_channel);
  write(RF_SETUP, (RF_DR_2MBPS | RF_PWR_0DBM));
  write(SETUP_RETR, ((2 << ARD) | (15 << ARC)));
  write(DYNPD, DPL_PA);
  write(SETUP_AW, AW_3BYTES);

  // Setup hardware receive pipes (0:ack, 1:device, 2:broadcast)
  addr_t rx_addr = m_addr;
  write(RX_ADDR_P1, &rx_addr, sizeof(rx_addr));
  write(RX_ADDR_P2, 0);
  write(EN_RXADDR, (_BV(ERX_P2) | _BV(ERX_P1) | _BV(ERX_P0)));
  
  // Auto-acknowledgement on device pipe
  write(EN_AA, (_BV(ENAA_P2) | _BV(ENAA_P1) | _BV(ENAA_P0)));

  // Ready to go
  powerup();
  spi.attach(this);
  m_irq.enable();
  return (true);
}
Ejemplo n.º 2
0
/*---------------------------------------------------------------------------*/
int
cc2420_init(void)
{
  uint16_t reg;
  {
    int s = splhigh();
    cc2420_arch_init();		/* Initalize ports and SPI. */
    CC2420_DISABLE_FIFOP_INT();
    CC2420_FIFOP_INT_INIT();
    splx(s);
  }

  /* Turn on voltage regulator and reset. */
  SET_VREG_ACTIVE();
  BUSYWAIT_UNTIL(0, RTIMER_SECOND / 100);
  SET_RESET_ACTIVE();
  BUSYWAIT_UNTIL(0, RTIMER_SECOND / 100);
  SET_RESET_INACTIVE();
  BUSYWAIT_UNTIL(0, RTIMER_SECOND / 100);

  pan = 0xffff;
  addr = 0x0000;
  
  BUSYWAIT_UNTIL(0, RTIMER_SECOND / 100);

  powerup();
  configure();
  flushrx();

  process_start(&cc2420_process, NULL);
  return 1;
}
Ejemplo n.º 3
0
bool 
NRF24L01P::begin(const void* config)
{
  UNUSED(config);

  // Setup hardware features, channel, bitrate, retransmission, dynamic payload
  write(FEATURE, (_BV(EN_DPL) | _BV(EN_ACK_PAY) | _BV(EN_DYN_ACK)));
  write(RF_CH, m_channel);
  write(RF_SETUP, (RF_DR_2MBPS | RF_PWR_0DBM));
  write(SETUP_RETR, ((DEFAULT_ARD << ARD) | (DEFAULT_ARC << ARC)));
  write(DYNPD, DPL_PA);

  // Setup hardware receive pipes address; network (16-bit), device (8-bit)
  // P0: auto-acknowledge (see set_transmit_mode)
  // P1: node address<network:device> with auto-acknowledge
  // P2: broadcast<network:0>
  addr_t rx_addr = m_addr;
  write(SETUP_AW, AW_3BYTES);
  write(RX_ADDR_P1, &rx_addr, sizeof(rx_addr));
  write(RX_ADDR_P2, BROADCAST);
  write(EN_RXADDR, (_BV(ERX_P2) | _BV(ERX_P1)));
  write(EN_AA, (_BV(ENAA_P1)));
  
  // Ready to go
  powerup();
  spi.attach(this);
  m_irq.enable();
  return (true);
}
Ejemplo n.º 4
0
static void
on(void)
{
  if(completely_off) {
    completely_off = 0;
    powerup();
    configure();
  }
  CC2420_ENABLE_FIFOP_INT();
  strobe(CC2420_SRXON);

  BUSYWAIT_UNTIL(status() & (BV(CC2420_XOSC16M_STABLE)), RTIMER_SECOND / 100);

  ENERGEST_ON(ENERGEST_TYPE_LISTEN);
  receive_on = 1;
}
Ejemplo n.º 5
0
/*---------------------------------------------------------------------------*/
static int
cc2420_prepare(const void *payload, unsigned short payload_len)
{
  uint8_t total_len;
#if CC2420_CONF_CHECKSUM
  uint16_t checksum;
#endif /* CC2420_CONF_CHECKSUM */
  GET_LOCK();

  PRINTF("cc2420: sending %d bytes\n", payload_len);

  RIMESTATS_ADD(lltx);

  /* Wait for any previous transmission to finish. */
  /*  while(status() & BV(CC2420_TX_ACTIVE));*/

  if(completely_off) {
    completely_off = 0;
    powerup();
    configure();
  }

  /* Write packet to TX FIFO. */
  strobe(CC2420_SFLUSHTX);

#if CC2420_CONF_CHECKSUM
  checksum = crc16_data(payload, payload_len, 0);
#endif /* CC2420_CONF_CHECKSUM */
  total_len = payload_len + AUX_LEN;
  CC2420_WRITE_FIFO_BUF(&total_len, 1);
  CC2420_WRITE_FIFO_BUF(payload, payload_len);
#if CC2420_CONF_CHECKSUM
  CC2420_WRITE_FIFO_BUF(&checksum, CHECKSUM_LEN);
#endif /* CC2420_CONF_CHECKSUM */

  RELEASE_LOCK();
  return 0;
}
Ejemplo n.º 6
0
int Si4709_dev_powerup(void)
{
	int ret = 0;
	u32 value = 100;

	debug("Si4709_dev_powerup called");

	if (!(RADIO_ON == Si4709_dev.state.power_state)) {
		ret = powerup();
		if (ret < 0) {
			debug("powerup failed");
		} else if (Si4709_dev.valid_client_state == eFALSE) {
			debug("Si4709_dev_powerup called "
					"when DS(state, client) is invalid");
			ret = -1;
		} else {
/* initial settings */
#ifdef _ENABLE_RDS_
			si47xx_set_property(FM_RDS_CONFIG, 1);
			si47xx_set_property(GPO_IEN, GPO_IEN_STCIEN_MASK |
				GPO_IEN_STCREP_MASK);
			si47xx_set_property(GPO_IEN, GPO_IEN_STCIEN_MASK |
				GPO_IEN_RDSIEN_MASK | GPO_IEN_STCREP_MASK);
			si47xx_set_property(FM_RDS_INTERRUPT_SOURCE,
				FM_RDS_INTERRUPT_SOURCE_RECV_MASK);
			si47xx_set_property(FM_RDS_CONFIG,
				FM_RDS_CONFIG_RDSEN_MASK |
				(3 << FM_RDS_CONFIG_BLETHA_SHFT) |
				(3 << FM_RDS_CONFIG_BLETHB_SHFT) |
				(3 << FM_RDS_CONFIG_BLETHC_SHFT) |
				(3 << FM_RDS_CONFIG_BLETHD_SHFT));
#endif
/*VNVS:18-NOV'09 : Setting DE-Time Constant as 50us(Europe,Japan,Australia)*/
			si47xx_set_property(FM_DEEMPHASIS, FM_DEEMPH_50US);
			/* SYSCONFIG2_BITSET_SEEKTH( */
			/*      &Si4709_dev.registers[SYSCONFIG2],2); */
/*VNVS:18-NOV'09 : modified for detecting more stations of good quality*/
			si47xx_set_property(FM_SEEK_TUNE_RSSI_THRESHOLD,
				TUNE_RSSI_THRESHOLD);
			si47xx_set_property(FM_SEEK_BAND_BOTTOM, 8750);
			si47xx_set_property(FM_SEEK_BAND_TOP, 10800);
			Si4709_dev.settings.band = BAND_87500_108000_kHz;
			Si4709_dev.settings.bottom_of_band = FREQ_87500_kHz;
			si47xx_set_property(FM_SEEK_FREQ_SPACING,
				CHAN_SPACING_100_kHz);
			Si4709_dev.settings.channel_spacing =
				CHAN_SPACING_100_kHz;

			/* SYSCONFIG3_BITSET_SKSNR( */
			/*      &Si4709_dev.registers[SYSCONFIG3],3); */
/*VNVS:18-NOV'09 : modified for detecting more stations of good quality*/
			si47xx_set_property(FM_SEEK_TUNE_SNR_THRESHOLD,
			TUNE_SNR_THRESHOLD);
			Si4709_dev.settings.timeout_RDS =
				msecs_to_jiffies(value);
			Si4709_dev.settings.curr_snr = TUNE_SNR_THRESHOLD;
			Si4709_dev.settings.curr_rssi_th = TUNE_RSSI_THRESHOLD;
			Si4709_dev_STEREO_SET();

/*this will write all the above registers */
			if (ret < 0)
				debug("Si4709_dev_powerup i2c_write 1 failed");
			else {
				Si4709_dev.valid = eTRUE;
#ifdef RDS_INTERRUPT_ON_ALWAYS
/*Initialising read and write indices */
				RDS_Buffer_Index_read = 0;
				RDS_Buffer_Index_write = 0;

				RDS_Data_Available = 0;
				RDS_Data_Lost = 0;
				RDS_Groups_Available_till_now = 0;
#endif
			}
		}
	} else
		debug("Device already Powered-ON");
	enable_irq(Si4709_dev_irq);
	si47xx_set_property(0xff00, 0);

	return ret;
}
Ejemplo n.º 7
0
int Si47xx_dev_powerup(void)
{
	int ret = 0;
	u32 value = 100;

	debug("Si47xx_dev_powerup called");

	if (!(RADIO_ON == Si47xx_dev->state.power_state)) {
		ret = powerup();
		if (ret < 0) {
			dev_err(Si47xx_dev->dev, "%s failed %d\n",
				__func__, ret);
		} else if (Si47xx_dev->valid_client_state == eFALSE) {
			dev_err(Si47xx_dev->dev, "Si47xx_dev_powerup called "
					"when DS(state, client) is invalid");
			ret = -1;
		} else {
/* initial settings */
#ifdef CONFIG_RADIO_USE_MI2S
			si47xx_set_property(DIGITAL_OUTPUT_SAMPLE_RATE, 0xBB80);  //44100
			si47xx_set_property(DIGITAL_OUTPUT_FORMAT, 0x0000);   //I2S, 16bit, Riging edge
#endif
#ifdef _ENABLE_RDS_
			si47xx_set_property(FM_RDS_CONFIG, 1);
			si47xx_set_property(GPO_IEN, GPO_IEN_STCIEN_MASK |
				GPO_IEN_STCREP_MASK);
			si47xx_set_property(GPO_IEN, GPO_IEN_STCIEN_MASK |
				GPO_IEN_RDSIEN_MASK | GPO_IEN_STCREP_MASK);
			si47xx_set_property(FM_RDS_INTERRUPT_SOURCE,
				FM_RDS_INTERRUPT_SOURCE_RECV_MASK);
			si47xx_set_property(FM_RDS_CONFIG,
				FM_RDS_CONFIG_RDSEN_MASK |
				(3 << FM_RDS_CONFIG_BLETHA_SHFT) |
				(3 << FM_RDS_CONFIG_BLETHB_SHFT) |
				(3 << FM_RDS_CONFIG_BLETHC_SHFT) |
				(3 << FM_RDS_CONFIG_BLETHD_SHFT));
#endif
/*VNVS:18-NOV'09 : Setting DE-Time Constant as 50us(Europe,Japan,Australia)*/
			si47xx_set_property(FM_DEEMPHASIS, FM_DEEMPH_50US);
			/* SYSCONFIG2_BITSET_SEEKTH( */
			/*      &Si47xx_dev->registers[SYSCONFIG2],2); */
/*VNVS:18-NOV'09 : modified for detecting more stations of good quality*/
			si47xx_set_property(FM_SEEK_TUNE_RSSI_THRESHOLD,
				TUNE_RSSI_THRESHOLD);
			si47xx_set_property(FM_SEEK_BAND_BOTTOM, 8750);
			si47xx_set_property(FM_SEEK_BAND_TOP, 10800);
			Si47xx_dev->settings.band = BAND_87500_108000_kHz;
			Si47xx_dev->settings.bottom_of_band = FREQ_87500_kHz;
			si47xx_set_property(FM_SEEK_FREQ_SPACING,
				CHAN_SPACING_100_kHz);
			Si47xx_dev->settings.channel_spacing =
				CHAN_SPACING_100_kHz;

			/* SYSCONFIG3_BITSET_SKSNR( */
			/*      &Si47xx_dev->registers[SYSCONFIG3],3); */
/*VNVS:18-NOV'09 : modified for detecting more stations of good quality*/
			si47xx_set_property(FM_SEEK_TUNE_SNR_THRESHOLD,
			TUNE_SNR_THRESHOLD);
			Si47xx_dev->settings.timeout_RDS =
				msecs_to_jiffies(value);
			Si47xx_dev->settings.curr_snr = TUNE_SNR_THRESHOLD;
			Si47xx_dev->settings.curr_rssi_th = TUNE_RSSI_THRESHOLD;
			Si47xx_dev->valid = eTRUE;

			Si47xx_dev_STEREO_SET();
#ifdef RDS_INTERRUPT_ON_ALWAYS
/*Initialising read and write indices */
			RDS_Buffer_Index_read = 0;
			RDS_Buffer_Index_write = 0;

			RDS_Data_Available = 0;
			RDS_Data_Lost = 0;
			RDS_Groups_Available_till_now = 0;
#endif

		}
	} else
		debug("Device already Powered-ON");

	ret = request_irq(si47xx_irq, Si47xx_isr,
		IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, "Si47xx", NULL);
	si47xx_set_property(0xff00, 0);

	/* tune initial frequency to remove tunestatus func err
	 * sometimes occur tunestatus func err when execute tunestatus function
	 * before to complete tune_freq.
	 * so run tune_freq just after to complete booting sequence*/
	ret = tune_freq(Si47xx_dev->settings.bottom_of_band);

	return ret;
}
Ejemplo n.º 8
0
int main()
{


    sf::RenderWindow window(sf::VideoMode(480,800), "SFML works!");

    sf::Texture sky_texture;
    if (!sky_texture.loadFromFile("background.png",sf::IntRect(0,0,480,800)))
        return EXIT_FAILURE;
    sf::Sprite sky(sky_texture);

    sf::Texture player_texture;
    if (!player_texture.loadFromFile("shoot.png",sf::IntRect(0,100,103,133)))
        return EXIT_FAILURE;
    sf::Sprite player_sprite(player_texture);
    player_sprite.setPosition(sf::Vector2f(200, 600));
    x=200;
    y=600;

    sf::Texture forpowerup;
    if (!forpowerup.loadFromFile("shoot.png",sf::IntRect(266,398,62,88)))
        return EXIT_FAILURE;
    sf::Sprite powerup(forpowerup);

    sf::Texture enemy_texture;
    if (!enemy_texture.loadFromFile("shoot.png",sf::IntRect(0,0,68,100)))
        return EXIT_FAILURE;
    sf::Sprite enemy_sprite(enemy_texture);

    sf::Texture destroy1;
    if (!destroy1.loadFromFile("shoot.png",sf::IntRect(532,650,68,100)))
        return EXIT_FAILURE;
    sf::Sprite spdestroy1(destroy1);

    sf::Texture destroy2;
    if (!destroy2.loadFromFile("shoot.png",sf::IntRect(605,650,68,100)))
        return EXIT_FAILURE;
    sf::Sprite spdestroy2(destroy2);

    sf::Texture destroy3;
    if (!destroy3.loadFromFile("shoot.png",sf::IntRect(670,650,68,100)))
        return EXIT_FAILURE;
    sf::Sprite spdestroy3(destroy3);

    sf::Texture destroy4;
    if (!destroy4.loadFromFile("shoot.png",sf::IntRect(740,650,68,100)))
        return EXIT_FAILURE;
    sf::Sprite spdestroy4(destroy4);

    sf::Texture you1;
    if (!you1.loadFromFile("shoot.png",sf::IntRect(166,236,103,120)))
        return EXIT_FAILURE;
    sf::Sprite dyou1(you1);

    sf::Texture you2;
    if (!you2.loadFromFile("shoot.png",sf::IntRect(330,626,103,120)))
        return EXIT_FAILURE;
    sf::Sprite dyou2(you2);

    sf::Texture you3;
    if (!you3.loadFromFile("shoot.png",sf::IntRect(330,500,103,120)))
        return EXIT_FAILURE;
    sf::Sprite dyou3(you3);


    sf::SoundBuffer bgm;
    if (!bgm.loadFromFile("game_music.ogg"))
        return -1;
    sf::Sound bgm1;
    bgm1.setBuffer(bgm);
    bgm1.play();

    sf::SoundBuffer enemydown;
    if (!enemydown.loadFromFile("enemy1_down.ogg"))
        return -1;
    sf::Sound enemydown1;
    enemydown1.setBuffer(enemydown);

    sf::SoundBuffer _player_down;
    if (!_player_down.loadFromFile("youdown.ogg"))
        return -1;
    sf::Sound player_down;
    player_down.setBuffer(_player_down);

    sf::Texture player_bullet_texture;
    if (!player_bullet_texture.loadFromFile("shoot.png",sf::IntRect(69,78,10,22)))
        return -1;
    sf::Sprite player_bullet_sprite(player_bullet_texture);

    sf::Texture enemy_bullet_texture;
    if (!enemy_bullet_texture.loadFromFile("shoot.png",sf::IntRect(1002,990,10,22)))
        return -1;
    sf::Sprite enemy_bullet_sprite(enemy_bullet_texture);

    //¼ÓÔØ×ÖÌåÎļþ
    sf::Font font;
    if (!font.loadFromFile("score.ttf"))
    return -1;

    sf::Text showscore;
    showscore.setFont(font);
    showscore.setString(scorestr);
    showscore.setCharacterSize(40);
    showscore.setColor(sf::Color::White);

    sf::Text text;
    text.setFont(font);
    text.setString("Score");
    text.setCharacterSize(40);
    text.setColor(sf::Color::White);

    sf::Text die;
    die.setFont(font);
    die.setCharacterSize(22);
    die.setString("You life:2/3,press Tab to continue");
    die.setColor(sf::Color::White);

    sf::Text gg;
    gg.setFont(font);
    gg.setCharacterSize(40);
    gg.setString("GAME  OVER");
    gg.setColor(sf::Color::Red);





    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.draw(sky);
        if (youlive>0)
        {
        if (destroyyou==0)
        {
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)&&x<380)
            {
                player_sprite.move(.5,0);
                x+=0.5;
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)&&x>0)
            {
                player_sprite.move(-.5,0);
                x-=0.5;
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)&&y>0)
            {
                player_sprite.move(0,-.5);
                y-=0.5;
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)&&y<660)
            {
                player_sprite.move(0,.5);
                y+=0.5;
            }
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Space))
            {
                bullet_f_control();

            }

                window.draw(player_sprite);
        }
        for (i=1;i<=100;i++)
                {
                    if (bullet_is[i]==1)
                    {
                            bullet_y[i]-=0.7;
                            bullet_x[i]+=bullet_limit[i]*0.3;
                            if (bullet_y[i]<0) bullet_is[i]=0;
                            else
                                {
                                    player_bullet_sprite.setPosition(bullet_x[i],bullet_y[i]);
                                    window.draw(player_bullet_sprite);
                                }
                    }
                }

        feplaneshot++;
        if (feplaneshot==enemy_occur_often(score))
        {
            if (enemy_bullet_is[o]==0)
                                {
                                    for (i=1;i<=100;i++)
                                    {
                                        if (enemy_exist[i]==1)
                                        {
                                            k++;
                                            if (k==3)
                                            {
                                            enemy_bullet_is[o]=1;
                                            enemy_bullet_x[o]=enemy_x[i]+32;
                                            enemy_bullet_y[o]=enemy_y[i]+100;
                                            enemy_bullet_length[o]=0;
                                            o++;
                                            k=1;
                                            }
                                        }
                                    }

                                }
            if (o>=500) o=1;
            feplaneshot=1;
        }
        for (i=1;i<=500;i++)
                {
                    if (enemy_bullet_is[i]==1)
                    {
                            enemy_bullet_y[i]+=0.4;
                            enemy_bullet_x[i]+=enemy_bullet_length[i]*0.5;
                            if (enemy_bullet_y[i]>800)
                                enemy_bullet_is[i]=0;
                            else
                                {
                                    enemy_bullet_sprite.setPosition(enemy_bullet_x[i],enemy_bullet_y[i]);
                                    window.draw(enemy_bullet_sprite);

                                }
                    }
                }

        tforplane++;
        if (tforplane==enemy_occur_often(score))
         {
            enemy_number++;
            if (enemy_exist[enemy_number]==0)
             {
                enemy_exist[enemy_number]=1;
                enemy_y[enemy_number]=0;
                enemy_x[enemy_number]=rand()%380;
                enemy_life[enemy_number]=1+score/100;
             }
            if (enemy_number==50) enemy_number=1;
                tforplane=1;
         }
        for (j=1;j<=50;j++)
        {
            if (enemy_exist[j]==1)
            {
               enemy_y[j]+=0.2;
               if (enemy_y[j]>800)
               enemy_exist[j]=0;
               else
               {
                  enemy_sprite.setPosition(enemy_x[j],enemy_y[j]);
                  window.draw(enemy_sprite);
               }
            }
        }
        for (i=1;i<=50;i++)
            for (j=1;j<=100;j++)
            {
                if (enemy_exist[i]==1&&bullet_is[j]==1&&enemy_y[i]<bullet_y[j]&&bullet_y[j]<enemy_y[i]+100&&enemy_x[i]<bullet_x[j]&&bullet_x[j]<enemy_x[i]+68)
                {
                    enemy_life[i]--;
                    bullet_is[j]=0;
                    if (enemy_life[i]==0)
                        {
                             enemy_exist[i]=0;
                             score+=10;
                             sprintf(scorestr,"%d",score+score2);
                             showscore.setString(scorestr);

                             if (destroy==0)
                             {
                             destroyx=enemy_x[i];
                             destroyy=enemy_y[i];
                             destroy=1;
                             }
                             else
                             {
                                 destroyxadd=enemy_x[i];
                                 destroyyadd=enemy_y[i];
                                 destroyadd=1;
                             }
                        }
                }
            }
        for (i=1;i<=50;i++)
        {
            if (enemy_exist[i]==1&&enemy_x[i]+18>x&&x+53>enemy_x[i]&&enemy_y[i]+70>y&&y+103>enemy_y[i]&&destroyyou==0)
            {
                youlive--;
                enemy_exist[i]=0;
                if (destroy==0)
                {
                    destroyx=enemy_x[i];
                    destroyy=enemy_y[i];
                    destroy=1;
                }
                else
                {
                    destroyxadd=enemy_x[i];
                    destroyyadd=enemy_y[i];
                    destroyadd=1;
                }
                destroyyou=1;
                destroyyoux=x;
                destroyyouy=y;

            }
        }
         for (i=1;i<=500;i++)
        {
            if (enemy_bullet_is[i]==1&&enemy_bullet_x[i]>x+31&&enemy_bullet_x[i]<x+71&&enemy_bullet_y[i]>y+37&&enemy_bullet_y[i]<y+97&&destroyyou==0)
            {
                youlive--;
                enemy_bullet_is[i]=0;
                destroyyou=1;
                destroyyoux=x;
                destroyyouy=y;

            }
        }
        if (destroyyou==1)
        {
            g++;
            if (g<=200)
                {
                    dyou1.setPosition(destroyyoux,destroyyouy);
                    window.draw(dyou1);
                    player_down.play();
                }
            if (g>200&&g<=400)
                {
                    dyou2.setPosition(destroyyoux,destroyyouy);
                    window.draw(dyou2);
                }
            if (g>400&&g<600)
                {
                    dyou3.setPosition(destroyyoux,destroyyouy);
                    window.draw(dyou3);
                }
            if (g>600)
            {
            die.setPosition(15,380);
            window.draw(die);
            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Tab))
            {
            player_sprite.setPosition(sf::Vector2f(200, 600));x=200;y=600;
            fuckpower=1;
            destroyyou=0;
            g=1;
            }
            }
        }
        if (destroy==1)
        {
        d++;
        if (d<=200)
            {
                spdestroy1.setPosition(destroyx,destroyy);
                window.draw(spdestroy1);
                enemydown1.play();
            }
        if (d>200&&d<=400)
            {
                spdestroy2.setPosition(destroyx,destroyy);window.draw(spdestroy2);}
        if (d>400&&d<600) {spdestroy3.setPosition(destroyx,destroyy);window.draw(spdestroy3);}
        if (d>=600&&d<800) {spdestroy4.setPosition(destroyx,destroyy);window.draw(spdestroy4);}
        if (d==800) {d=1;destroy=0;}
        }
         if (destroyadd==1)
        {
           d2++;
           if (d2<=200)
            {
                spdestroy1.setPosition(destroyxadd,destroyyadd);
                window.draw(spdestroy1);
                enemydown1.play();
            }
           if (d2>200&&d2<=400)
           {
                spdestroy2.setPosition(destroyxadd,destroyyadd);
                window.draw(spdestroy2);
           }
           if (d2>400&&d2<600)
           {
               spdestroy3.setPosition(destroyxadd,destroyyadd);
               window.draw(spdestroy3);
           }
           if (d2>=600&&d2<800)
            {
                spdestroy4.setPosition(destroyxadd,destroyyadd);
                window.draw(spdestroy4);
           }
        if (d2==800)
            {
                d2=1;
                destroyadd=0;
            }
       }
         text.setPosition(20,20);
         showscore.setPosition(50,60);
         window.draw(text);
         window.draw(showscore);
      }
        else
            {
                gg.setPosition(145,320);
                window.draw(gg);
            }
    window.display();
    }
    return 0;
}