Hello there,
Im trying to make a list system so the correct amount of 'said items' are only used and dealt with, so it wont really on guess-imations of arrays.
im having a bit of trouble with it, particularly in the update_gfx_letters routine at the while loop. There could be other areas that are wrong too.
class gfx_letter {
public:
int posx, posy, life;
int frame;
gfx_letter *next_entry;
};
class my_list {
public:
gfx_letter *first_entry;
gfx_letter *next_entry;
};
my_list *create_my_list();
gfx_letter*create_gfx_letter( int frame, my_list *list);
static int letter_delay =0;
static my_list *list1;
int main()
{
list1=create_my_list();
while ( keyhit(27) == false )
{
update_gfx_letters( list1 );
}
}
void delete_gfx_letter( my_list *list, gfx_letter *letter)
{
gfx_letter *temp_entry=list->first_entry;
while ( temp_entry->next_entry != letter )
{
letter=letter->next_entry;
}
temp_entry->next_entry= letter->next_entry;
delete gfx_letter;
}
end sub
void update_gfx_letters( my_list *list )
{
letter_delay+=1;
if ( letter_delay >= 40)
{
char frame=32;
{
// add a new letter;
create_gfx_letter( frame, list );
}
letter_delay = 0;
}
gfx_letter *letter=list->first_entry;
while ( letter !=0 )
{
update_letters( letter, list );
letter=list->next_entry;
}
}
void update_letters( gfx_letter *letter, my_list *list )
{
letter->life+=1
if ( letter->life >= 5000 )
{
// delete / remove letter.
delete_gfx_letter( list, letter );
}
}
gfx_letter *create_gfx_letter( int frame, my_list *list )
{
gfx_letter *letter = new gfx_letter;
letter->next_entry=list->first_entry;
list->first_entry=letter;
letter->posx = 30;
letter->posy = 20;
letter->frame = frame;
return letter;
}
my_list *create_my_list()
{
my_list *new_list = new my_list;
return new_list;
}
Cheers and all the very best,
Clyde.