1. We have moved from vBulletin to XenForo and you are viewing the site in the middle of the move. Though the functional aspect of everything is working fine, we are still working on other changes including the new design on Xenforo.
    Dismiss Notice

2d array collision detection

Discussion in 'C' started by static1991, Nov 5, 2009.

  1. static1991

    static1991 New Member

    Joined:
    Nov 5, 2009
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    0
    Code:
    //////////////////////////////////////////////////////////
    
    inline void Clear_Screen(void)
    {
    // this function clears the screen
    
    // set color to white on black
    Set_Color(15,0);
    
    // clear the screen
    for (int index=0; index<=25; index++)
        Draw_String(0, SCROLL_POS,"\n");
    
    } // end Clear_Screen
    
    struct Vector
    {
        Vector() : x(0), y(0) {}
    
        int x, y;
    };
    
    // MAIN GAME LOOP /////////////////////////////////////////
    
    void main(void)
    {
    char key;            // player input data
    int  player_x = 40;  // player's x position
    int  player_y = 0;   // player's y position
    char text[50] = {0};
    int screen[80][25] = {0};        //screen[0][0] = 7;
    
    Vector pos[10];
    // SECTION: initialization
    
    for (int i = 0; i < 10; i ++)
    {
        pos[i].x = rand() % MAX_X;
        pos[i].y = SCROLL_POS;
    }
    
    
    
    // SECTION: main event loop, this is where all the action  
    // takes place, the general loop is erase-move-draw
    
    
    int counter2 = 0;
    
    
    while( counter2 < 200)
         {
    
         
    
         
            } // end if   
    
         // SECTION: game logic and further processing
         
         // make sure player stays on screen 
         if (++player_x > MAX_X)
            player_x=MAX_X;     
    
         if (--player_x < 0)
            player_x=0;  
    
          if (++player_y > SCROLL_POS)
            player_y=SCROLL_POS ;     
    
         if (--player_y < 0)
            player_y=0;
    
    
         
    
         // SECTION: draw everything
    
         // draw next star at random position
    
         // 2D array used to track and record star locations
    
         Set_Color(15,0);
         int randomNumber = rand()%70;
         screen[randomNumber][SCROLL_POS] = 1;
         Draw_String(randomNumber, SCROLL_POS,"^\n");
         
         // Move star locations up one as the scroll up screen each frame
        //for (int star = 0; star < 10; star++)
        //{
            ///pos[star].y--;
    
            ///Draw_String(pos[star].x, pos[star].y, "^");
    
        //}
    
    
         // draw player 
         Set_Color(2,0);
         Draw_String(player_x,player_y,"{-8-}");
         Draw_String(player_x-3,player_y-1,"                ");
         Draw_String(player_x-2,player_y-2,"                ");
         Draw_String(player_x-1,player_y-3,"                ");
         Draw_String(0,0,"");  
    
         // SECTION: synchronize to a constant frame rate
         Sleep(50);   
    
    sorry guys for the massive messy code above but im really struggling to get a simple game running ... i have managed all the code above but am lacking a form of collision detection for my game. my goal is for the ^ enemies to deduct points for every time they make contact with the mother ship {-8-}

    i have started some code in the form of 2d arrays but im lost and have no idea how to finish it ... some of the code is commented out.

    if anyone could write me a piece of code to create a 2d array type collision detection ill be forever thankful or atleast point me in the right direction thanks guys.

    some of the code has been removed but i hope i have left in enough for u to help me out
     
    Last edited by a moderator: Nov 6, 2009

Share This Page