This is what I got working so far .. next problem is .. I'd like an event when my ship hits an enemy ship .. also .. I'd like a #defined number of enemies on my screen at all times .. I don't know how to do any of the above things .. any example or modifications on my lil thingy are welcome..
#include <stdio.h>
#include <dos.h>
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <time.h>
#define PAS 20
struct time t;
int keye=250;
int coordX=0;
int coordXe=0;
int coordY=0;
int coordYe=0;
int tmp=0;
int tmp2=0;
int i;
void moveMyShipLeft(void);
void moveMyShipRight(void);
void moveMyShipUp(void);
void moveMyShipDown(void);
void desenMyShip(int, int, int);
void getConflict(int coordX, int coordXe, int coordY, int coordYe){
int stuffz,stuffy;
stuffz=coordX;
}
int getSecTime(void){
gettime(&t);
return t.ti_hund;
}
int pressedKey(void){
keye=getch();
return(keye);
}
void desenEnemyShip(int coordXe, int coordYe, int culoare){
setfillstyle(1,culoare);
bar(0+coordXe,0+coordYe,60
+coordXe,4
0+coordYe)
;
}
void initDefault(void){
}
void desenMyShip(int coordX, int coordY, int culoare){
setfillstyle(1,culoare);
bar(coordX,coordY,60+coord
X,40+coord
Y);
getConflict(coordX,coordY,
coordXe,co
ordYe);
}
void moveMyShip(void){
if ((keye==75) && coordX > getmaxx()-1023){
moveMyShipLeft();
}
if ((keye==77) && coordX < getmaxx()-60){
moveMyShipRight();
}
if ((keye==80) && coordY < getmaxy()-40){
moveMyShipUp();
}
if ((keye==72) && coordY > getmaxy()-767){
moveMyShipDown();
}
}
void moveEnemyShips(int coordXe, int coordYe, int culoare){
desenEnemyShip(coordXe,coo
rdYe,0);
coordYe=coordYe+1;
desenEnemyShip(coordXe,coo
rdYe,culoa
re);
tmp=getSecTime();
}
void initEnamies(void){
}
void moveMyShipLeft(void){
desenMyShip(coordX,coordY,
0);
coordX=coordX-PAS;
desenMyShip(coordX,coordY,
2);
}
void moveMyShipRight(void){
desenMyShip(coordX,coordY,
0);
coordX=coordX+PAS;
desenMyShip(coordX,coordY,
3);
}
void moveMyShipUp(void){
desenMyShip(coordX,coordY,
0);
coordY=coordY+PAS;
desenMyShip(coordX,coordY,
4);
}
void moveMyShipDown(void){
desenMyShip(coordX,coordY,
0);
coordY=coordY-PAS;
desenMyShip(coordX,coordY,
5);
}
int huge DetectVGA256(void){
int vid=4;
return vid;
}
void doGame(void){
initDefault();
coordYe = 1000;
do{
if (coordYe > 800){
coordXe = rand() % 1023;
coordYe = 40;
}
if (kbhit()){
pressedKey();
moveMyShip();
}
desenMyShip(coordX,coordY,
4);
if (getSecTime()+10 != tmp+10){
desenEnemyShip(coordXe,coo
rdYe-15,0)
;
moveEnemyShips(coordXe,coo
rdYe,12);
coordYe=coordYe+15;
}
}while (keye != 27);
}
void main(void){
int gdriver, gmode, errorcode;
gdriver = installuserdriver("svga256
",DetectVG
A256);
gdriver = DETECT;
initgraph(&gdriver, &gmode, "..\bgi\svga256.bgi");
errorcode = graphresult();
if (errorcode != grOk){
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
exit(1);
}
doGame();
}
Start Free Trial