Controlling fire in Space Invaders game

Hi again,
still working through the tutorial on Space Invaders in Flash
MX 2004 (bit out of date, I know).
I've got the player craft under mouse control. What I don't
like about the game is that you can fire as rapidly as you wan't,
though the number of bullets is limited. You can change this limit
in the variable - I would rather have it though that you can only
have a set number of bullets in play at a time (at the moment, if
you go over the limit, the uppermost bullets just disapear).
Here is the code:
// when the mouse cliks
onClipEvent(mouseDown)
// duplicate the bullet mc
_root.bullet.duplicateMovieClip("bullet"+bulletNum,bulletNum);
// set the coords to the mouse clik
eval("_root.bullet" + bulletNum)._x = this._x;
eval("_root.bullet" + bulletNum)._y = this._y;
// increment the bullet number
bulletNum++;
// if more than 50 bullets , start again at 0
if(bulletNum>50)
bulletNum = 0;
What code could I use to have it so that you can only have,
say, 3 bullets in play at once, and you can't fire again until
they've hit / left the screen?
regards,
g

Hi again,
thanks for that. Another way would be to use code like the
following:
var enableInterval:Number;
var allowFire:Boolean;
function tempDisableFire():Void {
allowFire = false;
enableInterval = setInterval(enableFire, 500); // 500
millisecond delay
function enableFire():Void {
allowFire = true;
clearInterval(enableInterval);
I am unsure though whether to insert this within my existing
code, or to use this starting from scratch. If it was inside an
onClipEvent tag (the event being the mouse click), I could then use
it to control the fire. I'm not sure if I would do this with an "if
/ then" statement.
Any suggestions on this method? I know it may be asking a bit
much, but if you could even complete this piece of code that would
be magic!
cheers,
g

Similar Messages

  • How do i remove an Object (aliens/ bullets) from my Space Invaders game??

    Creating Space Invaders game and im getting confused on removing objects from my game. How do you actually remove an object (i.e bullets and aliens).
    I know this isnt the right way to do it, but for the bullets i had an array of the Objects bullets[] and set the x and y coordinates off screen so u cant see then wen they are painted you cant see them, then wen the player fires them, the x and y coordinates change so they come from the players ship till it hits an alien or goes off screen, then i reset the coordinates so they are pasted off screen again. Im relatively new to this so i would appreciate any help. Im going to have to do the same with aliens wen a collision is detected. Is there a way of actually removing an object?
    Here is sum code incase you need to see it:
    public void checkCollision()
              Rectangle playerRec = new Rectangle(player1.getBoundingBox());
              for(int i=0; i<alienRow; i++)
                   for(int j=0; j<alienCol; j++){
                        if(playerRec.intersects(aliens[i][j].getBoundingBox()))
                             collisionDetected();
                        for(int k=0; k<bulletNum; k++){
                             Rectangle bulletRec = new Rectangle(bullets[k].getBoundingBox());
                             if(bulletRec.intersects(aliens[i][j].getBoundingBox()))
                                  removeBullet(bullets[k]);
                                  collisionDetected();
         public static void collisionDetected()
              System.out.println("COLLISION");
    private void removeBullet(Bullets bullet){
              bullet.fired=false;
              bullet.setX(-10);
              bullet.setY(-10);
         }Edited by: deathwings on Nov 25, 2009 8:20 AM

    deathwings wrote:
    I was thinking bout that arraylist angle before, but it makes sense now so i think that will work ok. Thx kevin.Not a problem.
    Taking the List idea one step further, you could have a parent Object/Interface that all of your game objects extend/implement. Let's call it GameObject.
    A GameObject would have a draw(Graphics g) function that you call from your paintComponent( ) method, and for example an act( ) function as well.
    You'd have a single List of GameObjects that you add everything in your game into. Now painting is simply a matter of looping over a single List. And in your game logic loop, you could do a similar thing with the act( ) function: your bullet's act( ) would simply move it forward and check for collisions and going off screen. An alien's act( ) function would move it around and maybe shoot a weapon every so often.
    Just an idea.

  • Firing bullets in space invaders game

    hey guys,
    I am trying to work out the logic and the code required for firing a bullet in a space invaders style game.
    I have a space ship on a stage that moves around freely using the arrow keys and I want to use the space bar to release a bullet.
    So far my thinking is as follows:
    when the space bar is pressed a bullet is released from the players space ship.
    so I need to think about:
    - the speed of the bullet
    - the position of the spaceship when the bullet is fired
    - being able to fire multiple bullets one after the other
    - the bullet should move from the bottom of the screen to the top of the screen
    - the consequence of a bullet hitting a target
    I do not know how many scripts I would need to tackle this? how many behaviours per script and more importantly the code required....
    I am desperate for any help and support you can provide...
    thank you

    thank you for your support
    at this current time it would be a waste of time to understand how things work that did not benefit my game, sure knowledge would give me power but at the moment Id rather concentrate on gaining the appropriate knowledge as per the mechanics of my game and not going off in the opposite direction
    having had a look at your space invaders game and the code and logic you provided it is different to the game I am building because:
    - you use the move for movement and fire whereas I use cursor keys and a space bar
    - you have limited the amount of ammuntion, I have not
    - there are no explosions or changing of cast members on intersection.
    I understand the aim of you posting the guide however I am of the thinking it would be better to follow a tutorial that is in line with what I require rather then learning a particular style and then again having to work out how to amend it again to be used in my game...
    So if anyone can help me understand or provide code as per my initial message , I would be so grateful
    thank you

  • Need Help with Java Space Invaders Game!

    Hi, im new to these forums so forgive if i dont follow the right way on laying things out. Im trying to create space invaders game but im stuck when im trying to create multiple aliens/ invaders. I have a class called Aliens (which is the invaders), and i can create an instance of an Alien. But when I try to create multiple instances they are not showing up on screen. I am not getting any error message though (which im hoping is a good sign, lol).
    GamePanel is where all the action is and Alien is the alien (invaders) class.
    Here is the code:
    import java.awt.; import javax.swing.; import java.awt.Image; import java.awt.event.KeyListener; import java.awt.event.KeyEvent;
    public class GamePanel extends JComponent implements KeyListener { SpaceInvaders game; static Player player1; Aliens alien1; static public Image spaceship2R; static public Image spaceship2L;
    public GamePanel(SpaceInvaders game)
         this.game = game;
         player1 = new Player(this);
         player1.start();
                   ///// trying to create multiple instances of aliens here
         for(int i=0; i<4; i++)
              alien1 = new Aliens(this);
              alien1.setX(i*100);
              alien1.start();
        this.setFocusable(true);
        this.addKeyListener(this);
    public void paintComponent(Graphics g)
         Image pic1 = player1.getImage();
         Image pic2 = alien1.getImage();
         super.paintComponent(g);
         g.drawImage(pic1, player1.getX(), player1.getY(), 50, 50,this);
         g.drawImage(pic2, alien1.getX(), alien1.getY(), 50, 50,this);
    }//end class
    import java.awt.Image; import java.awt.*;
    class Aliens extends Thread { //variables GamePanel parent; private boolean isRunning; private int xPos = 0, yPos = 0; Thread thread; static char direction = 'r'; Aliens alien; static public Image alien1; static public Image alien2;
    public Aliens(GamePanel parent)
         this.parent = parent;
         isRunning = true;
    public void run()
         while(isRunning)
              Toolkit kit = Toolkit.getDefaultToolkit();
              alien1 = kit.getImage("alien1.gif");
              alien2 = kit.getImage("alien2.gif");
              try
                      thread.sleep(100);
                 catch(InterruptedException e)
                      System.err.println(e);
                 updateAliens();
                 parent.repaint();
    public static Image getImage()
         Image alienImage = alien1;
        switch(direction){
             case('l'):
                  alienImage = alien1;
                  break;
             case('r'):
                  alienImage = alien1;
                  break;
        return alienImage;     
    public void updateAliens()
         if(direction=='r')
              xPos+=20;
              if(xPos >= SpaceInvaders.WIDTH-50||xPos < 0)
                   yPos+=50;
                   xPos-=20;
                   direction='l';
         else
              xPos-=20;
              if(xPos >= SpaceInvaders.WIDTH-50||xPos < 0)
                   yPos+=50;
                   xPos+=20;
                   direction='r';
    public void setDirection(char c){ direction = c; }
    public void setX(int x){ xPos = x; }
    public void setY(int y){ yPos = y; }
    public int getX(){ return xPos; }
    public int getY(){ return yPos; }
    }//end classEdited by: deathwings on Oct 19, 2009 9:47 AM
    Edited by: deathwings on Oct 19, 2009 9:53 AM

    Maybe the array I have created is not being used in the paint method, or Im working with 2 different objects as you put it? Sorry, Im just learning and I appreciate your time and help. Here is my GamePanel Class and my Aliens class:
    import java.awt.*;
    import javax.swing.*;
    import java.awt.Image;
    import java.awt.event.KeyListener;
    import java.awt.event.KeyEvent;
    import java.awt.image.BufferStrategy;
    public class GamePanel extends JComponent implements KeyListener
         SpaceInvaders game;
         static Player player1;
         static Bullets bullet;
         //static public Image spaceship2R;
         //static public Image spaceship2L;
         private BufferStrategy strategy;
         static int alienNum =0;
         static Aliens[] aliens;
         public GamePanel(SpaceInvaders game)
              this.game = game;
              player1 = new Player(this);
              player1.start();
              Aliens[] aliens = new Aliens[10];
              for(int i=0; i<4; i++)
                   aliens[i] = new Aliens(this);
                   aliens.setX(i*100);
                   aliens[i].start();
                   alienNum++;
              initialiseGame();
              this.setFocusable(true);
    this.addKeyListener(this);
         public void paintComponent(Graphics g)
              Image pic1 = player1.getImage();
              Image pic2 = aliens[0].getImage();
              Image bulletPic = bullet.getImage();
              super.paintComponent(g);
              g.drawImage(pic1, player1.getX(), player1.getY(), 50, 50,this);
              for ( int i = 0; i < alienNum; i++ )
                   g.drawImage(pic1, aliens[0].getX(), aliens[0].getY(), 50, 50,this);
              //if (bullet.fired==true){
              //     g.drawImage(bulletPic, bullet.getX(), bullet.getY(), 20, 20,this);
         public void keyPressed(KeyEvent k)
              switch (k.getKeyCode()) {
              case (KeyEvent.VK_KP_DOWN):
              case (KeyEvent.VK_DOWN):
                   player1.setDirection('d');
                   break;
              case (KeyEvent.VK_KP_UP):
              case (KeyEvent.VK_UP):
                   player1.setDirection('u');
              break;
              case (KeyEvent.VK_KP_RIGHT):
              case (KeyEvent.VK_RIGHT):
                   player1.setDirection('r');
              break;
              case (KeyEvent.VK_KP_LEFT):
              case (KeyEvent.VK_LEFT):
                   player1.setDirection('l');
              break;
              case (KeyEvent.VK_SPACE):
                   fireBullet();
              break;
         public void keyTyped(KeyEvent k) {}//empty
         public void keyReleased(KeyEvent k)
              player1.setDirection('n');
         public void initialiseGame()
         public static void checkCollision()
              Rectangle playerRec = new Rectangle(player1.getBoundingBox());
              for(int i=0; i<alienNum; i++)
                   //if(playerRec.intersects(aliens[i].getBoundingBox()))
                        //collisionDetected();
         public static void collisionDetected()
              System.out.println("COLLISION");
         public void fireBullet()
              Bullets bullet = new Bullets(player1.getX(),player1.getY());
              bullet.fired=true;
    }//end GamePanelimport java.awt.Image;
    import java.awt.*;
    class Aliens extends Thread
         //variables
         GamePanel parent;
         private boolean isRunning;
         private int xPos = 0, yPos = 0;
         Thread thread;
         static char direction = 'r';
         Aliens alien;
         static public Image alien1;
         static public Image alien2;
         public Aliens(GamePanel parent)
              this.parent = parent;
              isRunning = true;
         public void run()
              while(isRunning)
                   Toolkit kit = Toolkit.getDefaultToolkit();
                   alien1 = kit.getImage("alien1.gif");
                   //alien2 = kit.getImage("alien2.gif");
                   try
              thread.sleep(100);
         catch(InterruptedException e)
              System.err.println(e);
              updateAliens();
              parent.repaint();
         public static Image getImage()
              Image alienImage = alien1;
         switch(direction){
              case('l'):
                   alienImage = alien1;
                   break;
              case('r'):
                   alienImage = alien1;
                   break;
         return alienImage;     
         public void updateAliens()
              if(direction=='r')
                   xPos+=20;
                   if(xPos >= SpaceInvaders.WIDTH-50||xPos < 0)
                        yPos+=50;
                        xPos-=20;
                        direction='l';
              else
                   xPos-=20;
                   if(xPos >= SpaceInvaders.WIDTH-50||xPos < 0)
                        yPos+=50;
                        xPos+=20;
                        direction='r';
         public Rectangle getBoundingBox()
              return new Rectangle((int)xPos, (int)yPos, 50, 50);
         public void setDirection(char c){ direction = c; }
         public void setX(int x){ xPos = x; }
         public void setY(int y){ yPos = y; }
         public int getX(){ return xPos; }
         public int getY(){ return yPos; }
    }//end class                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Help with KeyDown (space invaders game)

    I'm making a space invaders type game for school using Greenfoot (new Java IDE). Whenever I press space, a bullet will fire. However, multiple bullets are being created when I press space once, and when I hold space, a long stream of bullets are being made. I want one bullet to be created when I press space. Tried using KeyPress, but apparently Greenfoot does not recognize java.awt? Thanks in advance.
    public class Ship extends Vehicle {
         * Constructor for objects of class Shuttle
        public Bullet B;
        boolean canFire = false;
        public Ship() {
            GreenfootImage ship = new GreenfootImage("spaceship.gif");
            this.setImage(ship);       
        //Create a bullet
        public void fire(){
            B = new Bullet();
            getWorld().addObject(B,getX(),getY()-60);
        public boolean collision(){
            Actor enemy = getOneIntersectingObject(null);
            return (enemy!=null) ? true : false;
        public void act(){
            // move with keys
            if (this.canMove())
                 move();      
            if(Greenfoot.isKeyDown("space")){               
                    fire();               
            else if(collision()){
                getWorld().removeObject(this);                           
    }

    Make a Class Variable to use as a flag indicating that a key was pressed... check to see if the flag is set, and if it is not, then fire a bullet and then set the flag. Reset the flag when they keyReleased action fires.
    This way only one bullet can be fired for each time a key is pressed, provided your act() is being polled, but if a keyPressed fires act(), but not a keyRelease too, then it will not work. If it does not work, then you'll need to go to a regular KeyListener.
    //Your code make these changes
    public class Ship extends Vehicle {
          * Constructor for objects of class Shuttle
         public Bullet B;
         boolean canFire = false;
         public Ship() {
             GreenfootImage ship = new GreenfootImage("spaceship.gif");
             this.setImage(ship);       
         //Create a bullet
         public void fire(){
             B = new Bullet();
             getWorld().addObject(B,getX(),getY()-60);
         public boolean collision(){
             Actor enemy = getOneIntersectingObject(null);
             return (enemy!=null) ? true : false;
         public void act(){
             // move with keys
             if (this.canMove())
                  move();      
            if(!GreenFoot.isKeyDown("space")) canFire = true; //add this
             if(Greenfoot.isKeyDown("space") and canFire){               
                     fire();              
                     canFire = false; //add this
             else if(collision()){
                 getWorld().removeObject(this);                           
    }

  • Yet another Space Invaders game...

    Yes, here is my first Java game:
    www.fnfconsulting.no
    Feel free to check it out. No registration necessary.
    Comments&Questions are welcome.
    Hal

    haha coded only using your right hand. nice . this
    kicks your games to mars and back malo ;) 1 word
    SOUND! and good sound :P good stuff although it doesnt
    use 1.1 so your audience is limited (its like
    developing for linux .. very limited) most people (i
    know) wont bother downloading the plug in. very nice
    thoughThanks. I dont think I understand all your comments, but I'll give it a try.
    Firstly, the game has sound, and personally I think it's the coolest part of the game. The sounds are samples from the movies. I use standard AudioClip, no fancy stuff.
    When you mention 1.1, do you mean JVM 1.1, the old stuff that was released with IE 5.0 or something? I think nowadays most people that develop Java games uses "Java 2" which as I understand it is Java SDK 1.2 and up. And most people playing Java games downloads some kind of JRE, often the newest version, 1.4.2.X.
    Correct me if I'm wrong :)

  • Help! trying to create 'space invaders'

    hi. im a high school student with a little knowledge of java. im am currently working on a class assignment where each student has to create their own program. i decided to create the classic game of 'Space Invaders'. But i have a problem; i can't figure out how i will get the characters to move.
    does anyone if there is a method that will allow the user to move a character? for example, in C++ there is a conio.h library that has a goto(x,y) function. is there one for java as well? thanks alot!

    This is another way
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    public class Si extends JFrame
         Timer  ta;
         myView view = new myView();
    public Si() 
         setBounds(3,10,765,350);
         addWindowListener(new WindowAdapter()
         {     public void windowClosing(WindowEvent ev)
              {     dispose();
                   System.exit(0);
         getContentPane().add("Center",view);
         setVisible(true);
         ta = new Timer(45, new ActionListener()
         {     public void actionPerformed(ActionEvent e)
                   view.move();
         ta.start();
    public class myView extends JComponent 
         Point invs[]   = new Point[15];
         Color invc[]   = new Color[15];
         Color  color[] = new Color[]{
                        Color.blue,   Color.cyan, Color.green, Color.magenta,
                    Color.orange, Color.pink, Color.red,   Color.yellow};
    public myView()
         for (int p=0; p < invs.length; p++)
              int x = (int)(Math.random()*600)+33;
              int y = (int)(Math.random()*200)+33;
              invs[p] = new Point(x,y);
              int c = (int)(Math.random()*8);
               invc[p] = color[c];
    public void move()
         for (int p=0; p < invs.length; p++)
              repaint(invs[p].x-1,invs[p].y-1,20,18);
              int x = (int)(Math.random()*3)-1;
              int y = (int)(Math.random()*3)-1;
              invs[p].translate(x,y);
              repaint(invs[p].x-1,invs[p].y-1,20,18);
    public void paintComponent(Graphics g)
         super.paintComponent(g);
         Graphics2D g2 = (Graphics2D)g;
         g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);          
         for (int p=0; p < invs.length; p++)
              g.setColor(invc[p]);
              g.fillOval(invs[p].x,invs[p].y,17,13);
    public static void main (String[] args) 
         new Si();
    }      Noah

  • [FLMX] ayuda con tutorial space invaders

    Hola a todos.
    estoy tratando de hacer una modificación de un FLA del
    space invaders
    que me bajé en:
    http://www.flashkit.com/movies/Games/Full_Game_Source/Space_In-Paul_Nea-8765/index.php
    Este jueguecillo incluye un PHP que guarda los records en
    unos txt.
    La cuestión es que no tengo mucha idea de
    programación y no me funcionan
    los records.
    ¿alguien podria ayudarme?
    gracias mil
    Juan

  • Space invaders! I need some help...!

    Hello,
    i'm trying to program a very simple version of space invaders. I'm drawing my moving objects (spaceship, rockets, aliens) with drawstring but I'm getting these compiling error: illegal start of expression.
    Also I want to move the spaceship with translate is this OK to do so!?
    Can somebody help me? Thanks for your help!
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.Graphics2D;
    //in deze klasse teken ik het ruimteschip en kan het links/rechts bewegen
    public class Ruimteschip
         //ruimteschip
         Ruimteschip roderikschip = new Ruimteschip();
         public void paint(Graphics ruimteschip)
    {      //Ruimteschip weergeven
         Graphics2D ruimteschip2D = (Graphics2D)ruimteschip;
    String ruimteschip = "ruimteschip";
    ruimteschip2D.drawString("ruimteschip", x, y,);
         //beweegmethod
         public void beweegRechts()
         {     //teken opnieuw 1 coordinaat rechts
              roderikschip.translate(1, 0);
              ruimteschip2D.drawString("ruimteschip", x, y);
    //beweegmethod
         public void beweegLinks()
         {     //teken opnieuw 1 coordinaat links
              roderikschip.translate(-1, 0);
              ruimteschip2D.drawString("ruimteschip", x, y);
    }

    Hi and thanks for your replies.
    I know drawString isn't the most beautiful way, but I'm making this game for an assignment, and I have to use drawString.
    Still i'm getting "illegal start of expression" in my paint method...
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.awt.Graphics2D;
    //in deze klasse teken ik het ruimteschip en kan het links/rechts bewegen
    public class Ruimteschip
         //ruimteschip
            Ruimteschip ruimteschip = new Ruimteschip();
         public void paint(Graphics ruimteschip)
        {      //Ruimteschip weergeven
             Graphics2D ruimteschip2D = (Graphics2D)ruimteschip;
            String s = "ruimteschip";
            *ruimteschip2D.drawString(s, x, y,);*
         //beweegmethod
         public void beweegRechts()
         {     //teken opnieuw 1 coordinaat rechts
              s.translate(1, 0);
              ruimteschip.drawString(s, x, y);
        //beweegmethod
         public void beweegLinks()
         {     //teken opnieuw 1 coordinaat links
              s.translate(-1, 0);
              ruimteschip.drawString(s, x, y);
    } Edited by: Roddy on May 1, 2008 8:28 AM

  • Space Invaders.

    Hi, could you please try my game Space Invaders, to see if you can find any bugs etc? Let me know...
    http://www.geocities.com/ajbasic/SpaceInvaders.html

    the ability to die should definitely be the last thing you code ;) It's so cool to play an early staged game without ever being able to die.
    OK, so my comments:
    The pictures, if you're going to allow them to overlap, as you do now, give them some transparency.
    Also, right now, the ships will go all the way to the bottom and through the bottom of the screen.... that's bad.
    Anything else I'd think would be immediately obvious. Keep going with it and I hope to see some origional twists that you come up with

  • Converting control characters to spaces in a Unicode program?

    I want to take an ASCII character string and convert any
    ASCII Control Characters to Spaces.
    In a non-Unicode program, I define the following hex constant:
    CONSTANTS: c_control_to_space(64) TYPE x VALUE
      '00200120022003200420052006200720082009200A200B200C200D200E200F20' &
      '10201120122013201420012016201720182019201A201B201C201D201E201F20'.
    I then execute the following TRANSLATE statement:
          TRANSLATE w_transcript USING c_control_to_space.
    What would be the "approved" method of accomplishing the same effect
    in a Unicode program?

    Neil,
    First, thank you for pointing out my typo. You are correct that the "0120" in the second line of the literal was intended to be "1520".
    Second, thank you for your suggestion. Based on your idea, I tried something similar, but not exactly what you suggested. In particular, since I can't figure out how to construct the constant that I want, I used your idea to construct it as  a variable, as follows:
      DATA number TYPE i.
      DATA offset TYPE i.
      DATA hex(4) TYPE x.
      FIELD-SYMBOLS <char> TYPE c.
      ASSIGN hex TO <char> CASTING TYPE c.
      DATA w_control_to_space(64) TYPE c.
      DO 32 TIMES.
        hex = sy-index - 1.
        offset = 2 * ( sy-index - 1 ).
        number = STRLEN( <char> ).
        IF number GT 1.
          SUBTRACT 1 FROM number.
          SHIFT <char> LEFT BY number PLACES.
        ENDIF.
        w_control_to_space+offset(1) = <char>.
      ENDDO.
    After having constructed "w_control_to_space", I can now use the TRANSLATE statement:
      TRANSLATE w_transcript USING w_control_to_space.
    This code passes the Unicode syntax checks and works correctly on a non-Unicode system. I don't have access to a Unicode system on which to run it. I'd appreciate any feedback on this approach - especially if someone can actually test it on a Unicode system.

  • Making my enemies drop bombs in space invaders

    Hi all,
    I'm in the process of learning flash just now and am
    completing an online tutorial on Space Invaders. Thing is, the
    bombs drop from a random location on the screen. I want them to
    drop from a random enemy (I'm not too bothered just now about
    making it one on the bottom row or one with no other enemies before
    them).
    At the moment, here is the AS that makes them drop (the
    frequency is determined elsewhere):
    eval("_root.alienBomb" + alienBombNum)._x =random(700);
    eval("_root.alienBomb" + alienBombNum)._y =
    300*Math.random();
    An I can modify it to get a certain one to drop:
    eval("_root.alienBomb" + alienBombNum)._x
    =_root.alienClip2_2._x;
    eval("_root.alienBomb" + alienBombNum)._y =
    _root.alienClip2_2._y;
    I can' t get it to randomly choose one - I know I have to use
    the random function, but don't know how to implement this.
    Can anyone help?
    regards,
    g

    The code you're using is really old...back to Flash 5, I'd
    guess, which makes this rather more complicated than it need be.
    Since you seem to be in AS1, I'll keep it that way. Try
    using:
    xGridNum = Math.round(Math.random() * 7);
    yGridNum = Math.round(Math.random() * 7);
    var bomb = _root["alienBomb"+alienBombNum];
    var alien = _root["alien"+xGridNum+"_"+yGridNum];
    bomb._x = alien._x;
    bomb._y = alien._y;
    The above isn't the best way to do this, but it's simple and
    not far from what you've referenced. The sevens above assume 8 rows
    and 8 columns of aliens (numbered alien0_0 to alien7_7).
    Hope that helps.

  • Space Shooter game help

    Im not sure if any one will be able to help me or not but Im a relatively new programmer and i am createing a space shooter type game and I am haveing some difficulties in wording my statements. Right now the way i have it set up I am able to fire only 1 shot from my ship but the shot hitting the enemy ship part works and i know it is only from this run statement i have becuase before i was able to shoot as much as i wanted. Like i said i doubt anyone will be able to help me without seeing more of my code but i thought id try.
    //createing repaint timer
    public void run(){   
    while(true) {
    try{//attempt to execute
    createEnemy(); //create enemy
    updateEnemy(); //update enemys
    n.updateShots();      //update shots
    //make the enemy explode if the shots x,y is close to the enemy x,y
    for(int i=0;i<n.size;i++){  //n = ship function and size is place holder for number of shots
         if(n.shots[i] != null && n.shots.y - enemy[i].y >0&&n.shots[i].y - enemy[i].y<50){   //if the shot is hit in this y area the shot and enemy will delete
    n.shots[i] = null;
    enemy[i] = null;
    }//end of if
         else{
              if(n.shots[i] != null &&n.shots[i].x - enemy[i].x >0&&n.shots[i].x - enemy[i].x<50){  //if the shot is hit in this x area the shot and enemy will delete
              n.shots[i] = null;     
              enemy[i] = null;
              }//end if
         }//end else
         }//end of for
         repaint();
         n.flame = false; //set flame to false so Flame is only true if Up is pressed
         Thread.sleep(100);
         }//end of try
         catch (InterruptedException e) {
    }//end of catch
    }//end of while
    } //end of run

    Why not use a timer here? If you are using Swing, then a Swing Timer is much better here than the ugly while(true).
    Also, when posting your code, please use code tags so that your code will retain its formatting and be readable. To do this, you will need to paste already formatted code into the forum, highlight this code, and then press the "code" button at the top of the forum Message editor prior to posting the message. You may want to click on the Preview tab to make sure that your code is formatted correctly. Another way is to place the tag &#91;code] at the top of your block of code and the tag &#91;/code] at the bottom, like so:
    &#91;code]
      // your code block goes here.
      // note the differences between the tag at the top vs the bottom.
    &#91;/code]

  • Java space shooter game optimization

    Hi
    I've just started a little space-arcade type of game.
    For now there's a ship but it doesn't do much:
    - moves (accelerated)
    - fires (SPACE bar)
    Now I'm going to start work on an enemy generator + collision test.
    After that: pick-ups, a status bar(remaining life, passed time and so on), etc
    Since I'm not such a experienced programmer with Java graphics, I would need any opinion I can get to optimize my code (smoother movement, less CPU/memory usage, etc.). Read about sprites but not sure if it's the case here.
    You can take a look at the game and source codes at:
    http://www.stonefixion.com/temp/game
    Please take a look over the four java files and if you have any optimization suggestions, they are mostly welcome.
    Waiting for some feedback,
    Cheers ;j

    I've done a bit of reading and I think I've already done that(double buffering) like this:
         public void update (Graphics g)
              if (dbImage == null)
                   dbImage = createImage (this.getSize().width, this.getSize().height);
                   dbg = dbImage.getGraphics ();
              dbg.setColor (getBackground ());
              dbg.fillRect (0, 0, this.getSize().width, this.getSize().height);
              dbg.setColor (getForeground());
              paint (dbg);
              g.drawImage (dbImage, 0, 0, this);
         }I put all the drawing in paint() and call it update().
    Thanx

  • More columns in table control and occupy space left on screen

    Hi,
    How to put more no of coulums in table control.
    on my screen i am getting 10 coulums.for further
    i have to scrool.but on my customer screen it is displaying
    8 columns, but on his system,  left side more space is remaining,he asking to increase the table control so that he can able to to see more columns,but on my system it is saying table control length is 115.it is not allowing to increase it.
    Is there any option to occupy space left on customer screen,on my system it is showing no space left
    Plz give some solution .
    Thanks and Regards
    Ramakrisnaia y

    Hi,
    i observed that in order to put screen in synch for both customer and for us ,i  modified the screen attributes.
    that mean length and witdh.
    if u write BDC then we have to use one strcture in order to take defualt screen size.in my case i am using noram screen and table control.
    Thanks .
    Ramki.

Maybe you are looking for

  • Inbound idoc not displayed in WE02

    Hello All, I have two different sending and receiving SAP system for IDocs. I am trying to learn ALE scenario. For this purpose, I created everything on my own on the sending system viz. idoc segments, idoc type, message type, rfc destination, port,

  • Need Help - Page Centering on Monitor

    I am trying to center my index.html page on the center of my monitor. When I view it on my monitor it is always locked onto the left side of my monitor. I am using "fixed width" for my page layout. My code looks ok. I feel the problem is in my "body

  • My pinch to zoom is not working?

    Since I have updated operating system to Mavericks it will not let me use my trackpad to pinch and zoom. I need this feature especially to zoom in on pictures to edit them in iPhoto so if anyone could help please do! Also I have checked my trackpad s

  • Using a custom certificate store for SCCM 2012 clients and primary site server

    I have read what seems to be all the pki related documentation out there for SCCM 2012. I have a PKI infrastructure up and running issueing certificates with an offline root through group policy autoenrollment. The problem that i'm faced with is we a

  • Oract Tutor 14 Author server installation and Publisher Client-Server installation

    hi all, does any one know about the installation of Tutor Author 14 server version and how to setup Publisher Client-Server architecture?? please share any document or link that can guide with this.. thanks and regards, SD