SgtMe 46 Veteran Poster Featured Poster

Hi.
Firstly, I am a complete noob, and cannot understand complicated answers.

OK. I'm making a noobish space game, called Galactic Armageddon.
I'm just testing the variables right now (for getting hit by lasers, missiles, etc.).

I'm compiling using Dev-C++ and the default compiler. The program is written using the Allegro game library (see cppgameprogramming.com)

When I run the executable, I get an error saying:

GA.exe has encountered a problem and needs to close.

It says this straight away, without even opening a window or anything.

Here is the code so far:

#include <cstdlib>
#include <iostream>
#include <allegro.h>

using namespace std;

int  bullethit 	=   0;
int  health     =   100;
int  shield    	=   10;
int  maxshield 	=   10;
int  armour    	=   10;
int  maxarmour 	=   10;
int  dir      	=   0;
int  weapon     =   0;
bool shieldsup 	= true;
bool armourup  	= true;
bool dead	    = false;
bool running    = true;
     
void ship(){
			
		if (dir < 0)
		  {
			dir=360;
		  }

		else if (dir > 360)
		  {
			dir=0;
		  }

		if (bullethit==1 &&  shieldsup==false && armourup==false)
		  {
			health = health - 10;
			bullethit    =     false;
		  }
		
		if (bullethit==1 &&  shieldsup==false && armourup==true)
		  {
			armour = armour - 5;
			bullethit    =     false;
		  }

		if (bullethit==1 && shieldsup==true)
		  {
			shield = shield - 4;
			bullethit = false;
		  }

		if (bullethit==2 && shieldsup==false && armourup==false)
		  {
			health =  health - 20;
			bullethit    =      false;
		  }

		if (bullethit==2 && shieldsup==false && armourup==true)
		  {
			armour = armour - 10;
			bullethit    =      false;
		  }

		if (bullethit==2 && shieldsup == true)
		  {
			shield = shield - 8;
			bullethit = false;
          }

		if (bullethit==3 && shieldsup==false && armourup==false)
		  {
			health = health - 30;
			bullethit    =     false;
		  }
		
		if (bullethit==3 && shieldsup==false && armourup==true)
		  {
			armour = armour - 15;
			bullethit    =     false;
		  }

		if (bullethit==3 && shieldsup==true)
		  {
			shield = shield - 12;
			bullethit = false;
		  }

		if (bullethit==4 && shieldsup==false&&armourup==false)
		  {
			health = health - 40;
			bullethit = false;
		  }

		if (bullethit==4 && shieldsup==false&&armourup==true)
		  {
			armour = armour - 20;
			bullethit = false;
		  }

		if (bullethit==4 && shieldsup)
		  {
			shield = shield - 17;
			bullethit = false;
		  }


		if (bullethit==5 && shieldsup==false&&armourup==false)
		  {
			health = health - 45;
			bullethit = false;
		  }
		
		if (bullethit==5 && shieldsup==false&&armourup==true)
		  {
			armour = armour - 22;
			bullethit = false;
		  }
		
		if (bullethit==5 && shieldsup==true)
		  {
			shield = shield - 20;
		  }

		if (bullethit==6)
		  {
			shield	=0;
			armour	=0;
			health	=0;
		  }

		if (health==0)
		  {
			dead=true;
		  }
		
		if (armour==0)
		  {
			armourup = false;
		  }

		if (shield==0)
		  {
			shieldsup = false;
		  }
		
		if (dead==true)
		  {
            clear_to_color( screen, makecol( 0, 0, 0));
			textout_ex( screen, font, "You are dead!", 320, 240, makecol( 255, 0, 0), makecol( 0, 0, 0));;
		  }

		if (armourup==false)
		  {
            clear_to_color( screen, makecol( 0, 0, 0));
			textout_ex( screen, font, "No more armour!", 320, 240, makecol( 255, 0, 0), makecol( 0, 0, 0));;
		  }

		if (shieldsup==false)
		  {
            clear_to_color( screen, makecol( 0, 0, 0));
			textout_ex( screen, font, "No more shields!", 320, 240, makecol( 255, 0, 0), makecol(0, 0, 0));;
		  }

        while (!key[KEY_ESC]){
            clear_to_color( screen, makecol(0, 0, 0));
			textout_ex( screen, font, "Shields:  " + shield, 320, 240, makecol(255, 0, 0), makecol(0, 0, 0));;
			textout_ex( screen, font, "Armour :  " + armour, 320, 230, makecol(255, 0, 0), makecol(0, 0, 0));;
			textout_ex( screen, font, "Health:   " + health, 320, 220, makecol(255, 0, 0), makecol(0, 0, 0));;
		  }
	}
	
void testattack(){
     int weapon;
			cout<<"1=laser 2=cannon 3=part 4=missile 5=homing 6=NUKE"<<endl;
			cin>>weapon;
                    bullethit=weapon;
                    ship();
		  }

#undef main
		  
int main(int argc, char* argv[]){
      while(running==true)
      {
       testattack();
      }
      return 0;
}

Please help me!

Thanks
Mark