(20111223) 00:00
This commit is contained in:
2
Entity.c
2
Entity.c
@@ -35,7 +35,7 @@ Entity *Entity_New(){
|
|||||||
e->radius=1.0f;
|
e->radius=1.0f;
|
||||||
e->mass=1.0f;
|
e->mass=1.0f;
|
||||||
e->elast=0.0f;
|
e->elast=0.0f;
|
||||||
e->fric_static=0.5f;
|
e->fric_static=0.0f;
|
||||||
e->fric_dynamic=0.0f;
|
e->fric_dynamic=0.0f;
|
||||||
|
|
||||||
//e->img=NULL;
|
//e->img=NULL;
|
||||||
|
|||||||
18
GameEnts.c
18
GameEnts.c
@@ -70,6 +70,11 @@ Entity *ent_savepoint_1;
|
|||||||
Entity *ent_savepoint_2;
|
Entity *ent_savepoint_2;
|
||||||
Entity *ent_savepoint_3;
|
Entity *ent_savepoint_3;
|
||||||
Entity *ent_savepoint_4;
|
Entity *ent_savepoint_4;
|
||||||
|
Entity *ent_savepoint_5;
|
||||||
|
Entity *ent_savepoint_6;
|
||||||
|
Entity *ent_savepoint_7;
|
||||||
|
Entity *ent_savepoint_8;
|
||||||
|
Entity *ent_savepoint_9;
|
||||||
|
|
||||||
Entity *ent_fire;
|
Entity *ent_fire;
|
||||||
Entity *ent_player_broken;
|
Entity *ent_player_broken;
|
||||||
@@ -394,6 +399,7 @@ void GameEnts_Init(){
|
|||||||
ent_player->type=Ent_Player;
|
ent_player->type=Ent_Player;
|
||||||
ent_player->radius=16.0f;
|
ent_player->radius=16.0f;
|
||||||
ent_player->mass=70.0f;
|
ent_player->mass=70.0f;
|
||||||
|
ent_player->fric_static=0.5f;
|
||||||
AnimPlay_SetImg(&ent_player->anim,img_player_down);
|
AnimPlay_SetImg(&ent_player->anim,img_player_down);
|
||||||
//AnimPlay_SetAnim(&ent_player->anim,anim_fire);
|
//AnimPlay_SetAnim(&ent_player->anim,anim_fire);
|
||||||
ent_player->proc=player_proc;
|
ent_player->proc=player_proc;
|
||||||
@@ -403,6 +409,7 @@ void GameEnts_Init(){
|
|||||||
ent_barrel->type=Ent_Barrel;
|
ent_barrel->type=Ent_Barrel;
|
||||||
ent_barrel->radius=16.0f;
|
ent_barrel->radius=16.0f;
|
||||||
ent_barrel->mass=100.0f;
|
ent_barrel->mass=100.0f;
|
||||||
|
ent_barrel->fric_static=0.5f;
|
||||||
ent_barrel->proc=barrel_proc;
|
ent_barrel->proc=barrel_proc;
|
||||||
AnimPlay_SetImg(&ent_barrel->anim,img_barrel);
|
AnimPlay_SetImg(&ent_barrel->anim,img_barrel);
|
||||||
|
|
||||||
@@ -458,7 +465,6 @@ void GameEnts_Init(){
|
|||||||
ent_arrow_up->type=Ent_Arrow;
|
ent_arrow_up->type=Ent_Arrow;
|
||||||
ent_arrow_up->flags=EntityFlag_Collision;
|
ent_arrow_up->flags=EntityFlag_Collision;
|
||||||
ent_arrow_up->radius=7;
|
ent_arrow_up->radius=7;
|
||||||
ent_arrow_up->fric_static=0;
|
|
||||||
ent_arrow_up->collision=arrow_collision;
|
ent_arrow_up->collision=arrow_collision;
|
||||||
ent_arrow_up->proc=timeoutent_proc;
|
ent_arrow_up->proc=timeoutent_proc;
|
||||||
ent_arrow_up->A=120;
|
ent_arrow_up->A=120;
|
||||||
@@ -510,6 +516,16 @@ void GameEnts_Init(){
|
|||||||
ent_savepoint_3->A=3;
|
ent_savepoint_3->A=3;
|
||||||
ent_savepoint_4=Entity_Copy(ent_savepoint_1);
|
ent_savepoint_4=Entity_Copy(ent_savepoint_1);
|
||||||
ent_savepoint_4->A=4;
|
ent_savepoint_4->A=4;
|
||||||
|
ent_savepoint_5=Entity_Copy(ent_savepoint_1);
|
||||||
|
ent_savepoint_5->A=5;
|
||||||
|
ent_savepoint_6=Entity_Copy(ent_savepoint_1);
|
||||||
|
ent_savepoint_6->A=6;
|
||||||
|
ent_savepoint_7=Entity_Copy(ent_savepoint_1);
|
||||||
|
ent_savepoint_7->A=7;
|
||||||
|
ent_savepoint_8=Entity_Copy(ent_savepoint_1);
|
||||||
|
ent_savepoint_8->A=8;
|
||||||
|
ent_savepoint_9=Entity_Copy(ent_savepoint_1);
|
||||||
|
ent_savepoint_9->A=9;
|
||||||
|
|
||||||
|
|
||||||
ent_exitpoint=Entity_New();
|
ent_exitpoint=Entity_New();
|
||||||
|
|||||||
@@ -44,5 +44,10 @@ extern Entity *ent_savepoint_1;
|
|||||||
extern Entity *ent_savepoint_2;
|
extern Entity *ent_savepoint_2;
|
||||||
extern Entity *ent_savepoint_3;
|
extern Entity *ent_savepoint_3;
|
||||||
extern Entity *ent_savepoint_4;
|
extern Entity *ent_savepoint_4;
|
||||||
|
extern Entity *ent_savepoint_5;
|
||||||
|
extern Entity *ent_savepoint_6;
|
||||||
|
extern Entity *ent_savepoint_7;
|
||||||
|
extern Entity *ent_savepoint_8;
|
||||||
|
extern Entity *ent_savepoint_9;
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
13
GameLib.c
13
GameLib.c
@@ -395,7 +395,7 @@ void GameLib_ForEachEnt(int (*func)(Entity *ent)){
|
|||||||
//
|
//
|
||||||
//
|
//
|
||||||
void GameLib_PlaySound(AudioSnd snd,int x,int y){
|
void GameLib_PlaySound(AudioSnd snd,int x,int y){
|
||||||
float vleft,vright,vcen;
|
float vleft,vright,dx,dy;
|
||||||
int r,cx,cy,off;
|
int r,cx,cy,off;
|
||||||
|
|
||||||
// Get the screen context
|
// Get the screen context
|
||||||
@@ -410,11 +410,12 @@ void GameLib_PlaySound(AudioSnd snd,int x,int y){
|
|||||||
off=r/10.0f;
|
off=r/10.0f;
|
||||||
|
|
||||||
// Calculate volumes
|
// Calculate volumes
|
||||||
vcen=1.0f-(abs(y-cy)/(float)r);
|
dx=x-(cx+off);
|
||||||
vright=1.0f-(abs(x-(cx+off))/(float)r);
|
dy=y-(cy);
|
||||||
vleft=1.0f-(abs(x-(cx-off))/(float)r);
|
vright=1.0f-(sqrtf(dx*dx+dy*dy)/(float)r);
|
||||||
vright*=vcen;
|
dx=x-(cx-off);
|
||||||
vleft*=vcen;
|
dy=y-(cy);
|
||||||
|
vleft=1.0f-(sqrtf(dx*dx+dy*dy)/(float)r);
|
||||||
|
|
||||||
// Clamp to 0
|
// Clamp to 0
|
||||||
if(vleft<0.0f)
|
if(vleft<0.0f)
|
||||||
|
|||||||
25
GameMap.c
25
GameMap.c
@@ -60,6 +60,11 @@ int GameMapAux_IsFloor(char c){
|
|||||||
c=='2' ||
|
c=='2' ||
|
||||||
c=='3' ||
|
c=='3' ||
|
||||||
c=='4' ||
|
c=='4' ||
|
||||||
|
c=='5' ||
|
||||||
|
c=='6' ||
|
||||||
|
c=='7' ||
|
||||||
|
c=='8' ||
|
||||||
|
c=='9' ||
|
||||||
c=='E' ||
|
c=='E' ||
|
||||||
c=='F' ||
|
c=='F' ||
|
||||||
c=='A' ||
|
c=='A' ||
|
||||||
@@ -162,6 +167,26 @@ int GameMap_CreateLevel(int level,int point){
|
|||||||
// Save point 4
|
// Save point 4
|
||||||
GameMapAux_CreateEnt(ent_savepoint_4,i,j);
|
GameMapAux_CreateEnt(ent_savepoint_4,i,j);
|
||||||
}else
|
}else
|
||||||
|
if(line[i]=='5'){
|
||||||
|
// Save point 5
|
||||||
|
GameMapAux_CreateEnt(ent_savepoint_5,i,j);
|
||||||
|
}else
|
||||||
|
if(line[i]=='6'){
|
||||||
|
// Save point 6
|
||||||
|
GameMapAux_CreateEnt(ent_savepoint_6,i,j);
|
||||||
|
}else
|
||||||
|
if(line[i]=='7'){
|
||||||
|
// Save point 7
|
||||||
|
GameMapAux_CreateEnt(ent_savepoint_7,i,j);
|
||||||
|
}else
|
||||||
|
if(line[i]=='8'){
|
||||||
|
// Save point 8
|
||||||
|
GameMapAux_CreateEnt(ent_savepoint_8,i,j);
|
||||||
|
}else
|
||||||
|
if(line[i]=='9'){
|
||||||
|
// Save point 9
|
||||||
|
GameMapAux_CreateEnt(ent_savepoint_9,i,j);
|
||||||
|
}else
|
||||||
if(line[i]=='E'){
|
if(line[i]=='E'){
|
||||||
// Exit point
|
// Exit point
|
||||||
GameMapAux_CreateEnt(ent_exitpoint,i,j);
|
GameMapAux_CreateEnt(ent_exitpoint,i,j);
|
||||||
|
|||||||
@@ -1,16 +1,58 @@
|
|||||||
100 100
|
100 100
|
||||||
|
|
||||||
#########
|
##############
|
||||||
#...1...#
|
#SSSSm.1.mSSS#
|
||||||
#.......#
|
#SSSSm...mSSS#
|
||||||
#.......#
|
#SSSSm...mSSS#
|
||||||
#.SSSSSS#
|
#SSSSmBm.mSSS#
|
||||||
#.......#
|
#S..SSB..mSSS#
|
||||||
#SSSSSS.#
|
#S.SSmmmmmSSS#
|
||||||
#.......#
|
#S.SSSSSSSSSS#
|
||||||
#.B.SSSS#
|
#S.....BSSB.S#
|
||||||
#SSSmmmm#
|
#SSSSS.SSSSSS#
|
||||||
#.......# ############
|
#mmmmm.mmmmmm#
|
||||||
|
mBm
|
||||||
|
mBm
|
||||||
|
mBm
|
||||||
|
mBm
|
||||||
|
mBm
|
||||||
|
######B#######
|
||||||
|
#SSSSm2..SSSS#
|
||||||
|
#SSSSmBm.SSSS#
|
||||||
|
#S..SSB..SSSS#
|
||||||
|
#S.SSSSSSSSSS#
|
||||||
|
#S.SSSSSSSSSS#
|
||||||
|
#S.....BSSB.S#
|
||||||
|
#SSSSS.SSSSSS#
|
||||||
|
#mmmmm.mmmmmm#
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
######.######
|
||||||
|
#.....3.....#
|
||||||
|
#.B.B...B.B.#
|
||||||
|
#...........#
|
||||||
|
#LLLSSSSSLLL#
|
||||||
|
#...A...A...#
|
||||||
|
#mmmmm.mmmmm#
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
m.m
|
||||||
|
######.######
|
||||||
|
#.....4.....#
|
||||||
|
#.B.B...B.B.#
|
||||||
|
#...........#
|
||||||
|
#LLLLLSLLLLL#
|
||||||
|
#...A...A...#
|
||||||
|
#mmmmmmmmmmm#
|
||||||
|
|
||||||
|
|
||||||
|
############
|
||||||
#mmm.mmm# #....L.....#
|
#mmm.mmm# #....L.....#
|
||||||
m.m #..L.L.S..<#
|
m.m #..L.L.S..<#
|
||||||
m.m #..L.L.S...#
|
m.m #..L.L.S...#
|
||||||
@@ -21,31 +63,4 @@
|
|||||||
m....L.S...#
|
m....L.S...#
|
||||||
m.>..L.S...########
|
m.>..L.S...########
|
||||||
m.B....S..........#
|
m.B....S..........#
|
||||||
mmmmmmmmmmmmmmmmm.#
|
mmmmmmmmmmmmmmmmm
|
||||||
m.#
|
|
||||||
m.#
|
|
||||||
m.#
|
|
||||||
m.#
|
|
||||||
######.######
|
|
||||||
#.....3.....#
|
|
||||||
#.B.B...B.B.#
|
|
||||||
#...........#
|
|
||||||
#LLLSSSSSLLL#
|
|
||||||
#...A...A...#
|
|
||||||
#...........#
|
|
||||||
#...........#
|
|
||||||
#mmmmm.mmmmm#
|
|
||||||
m.m
|
|
||||||
m.m
|
|
||||||
m.m
|
|
||||||
m.m
|
|
||||||
m.m
|
|
||||||
######.######
|
|
||||||
#.....4.....#
|
|
||||||
#.B.B...B.B.#
|
|
||||||
#...........#
|
|
||||||
#LLLLLSLLLLL#
|
|
||||||
#...A...A...#
|
|
||||||
#...........#
|
|
||||||
#.....F.....#
|
|
||||||
#mmmmmmmmmmm#
|
|
||||||
2
main.c
2
main.c
@@ -126,7 +126,7 @@ int main(int argc,char *argv[]){
|
|||||||
int pos[2]={0,0};
|
int pos[2]={0,0};
|
||||||
GameLib_SetPos(pos);
|
GameLib_SetPos(pos);
|
||||||
game_level=3;
|
game_level=3;
|
||||||
game_level_point=2;
|
game_level_point=1;
|
||||||
game_level_reset=0;
|
game_level_reset=0;
|
||||||
GameMap_CreateLevel(game_level,game_level_point);
|
GameMap_CreateLevel(game_level,game_level_point);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user