zz
This commit is contained in:
		
							parent
							
								
									5cb51ec0e2
								
							
						
					
					
						commit
						1943250c40
					
				
							
								
								
									
										11
									
								
								main.c
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								main.c
									
									
									
									
									
								
							| @ -31,6 +31,9 @@ void init_snake(struct event* world, struct state* st){ | |||||||
|         st->foodx[i] = rand() % w; |         st->foodx[i] = rand() % w; | ||||||
|         st->foody[i] = rand() % h; |         st->foody[i] = rand() % h; | ||||||
|     } |     } | ||||||
|  |     // Initial game vector
 | ||||||
|  |     st->sx = 1; | ||||||
|  |     st->sy = 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Step is called in a loop once in interval.
 | // Step is called in a loop once in interval.
 | ||||||
| @ -70,11 +73,15 @@ int world_event(struct event* w,void* game){ | |||||||
|     } |     } | ||||||
|     // Called on interval timeout
 |     // Called on interval timeout
 | ||||||
|     else if (w->type == EVENT_TIMEOUT){ |     else if (w->type == EVENT_TIMEOUT){ | ||||||
|  |         clear_screen(); | ||||||
|         // Copy screen size
 |         // Copy screen size
 | ||||||
|         st->width = w->width; |         st->width = w->width; | ||||||
|         st->height = w->height; |         st->height = w->height; | ||||||
|         // Change game state
 |         // Change game state
 | ||||||
|         int r = step_state(st); |         int r = step_state(st); | ||||||
|  |         char ms[200]; | ||||||
|  |         sprintf(ms,"r %d\n",r); | ||||||
|  |         set_message(ms,9,9); | ||||||
|         // Draw snake
 |         // Draw snake
 | ||||||
|         struct snake* sn = st->snake; |         struct snake* sn = st->snake; | ||||||
|         while (sn != NULL){ |         while (sn != NULL){ | ||||||
| @ -90,9 +97,7 @@ int world_event(struct event* w,void* game){ | |||||||
|         // Stop the game
 |         // Stop the game
 | ||||||
|         if (r){ |         if (r){ | ||||||
|             char message[] = "Koniec"; |             char message[] = "Koniec"; | ||||||
|             for (int i = 0; i < 6; i++){ |             set_message(message,10,10); | ||||||
|                 set_cell(message[i],10+i,10); |  | ||||||
|             } |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|     return 0; |     return 0; | ||||||
|  | |||||||
							
								
								
									
										11
									
								
								world.h
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								world.h
									
									
									
									
									
								
							| @ -104,10 +104,19 @@ void set_color_cell(int character,int x,int y,short front_color,short back_color | |||||||
|  */ |  */ | ||||||
| 
 | 
 | ||||||
| int start_world(void* (*init_game)(),int (*world_event)(struct event* event,void* game),void (*destroy_game)(void* game)); | int start_world(void* (*init_game)(),int (*world_event)(struct event* event,void* game),void (*destroy_game)(void* game)); | ||||||
| 
 | /**
 | ||||||
|  |  * Set timeout interval in miliseconds | ||||||
|  |  */ | ||||||
| void game_speed(int value); | void game_speed(int value); | ||||||
| 
 | 
 | ||||||
|  | /*
 | ||||||
|  |  * Prints a message in screen on a position x,y | ||||||
|  |  */ | ||||||
|  | 
 | ||||||
| void set_message(const char* message,int x,int y); | void set_message(const char* message,int x,int y); | ||||||
|  | /*
 | ||||||
|  |  * Clears screen | ||||||
|  |  */ | ||||||
| void clear_screen(); | void clear_screen(); | ||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user