-
Notifications
You must be signed in to change notification settings - Fork 1
/
radar.c
95 lines (75 loc) · 1.91 KB
/
radar.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#include<string.h>
#include<stdio.h>
#include"SDL/SDL.h"
#include<SDL/SDL_image.h>
#define LARGEUR_SPRITE 32
#define HAUTEUR_SPRITE 32
int main(int argc, char *argv[])
{
SDL_Surface *screen = NULL, *rectangle = NULL;
SDL_Rect position;
SDL_Rect posradar;
SDL_Surface *radar;
radar=IMG_Load("h.png");
posradar.x=0;
posradar.y=580;
posradar.h=5;
posradar.w=5;
position.x = 0;
position.y = 520;
SDL_Init(SDL_INIT_VIDEO);
screen = SDL_SetVideoMode(1280, 720, 32, SDL_HWSURFACE);
rectangle = SDL_CreateRGBSurface(SDL_HWSURFACE, 220, 300, 32, 0, 255, 255, 0);
SDL_Event event;
int continuer=1;
while(continuer)
{
int x=100;
SDL_Delay(x);
if (posradar.x<220||posradar.y<720)
{
SDL_PollEvent(&event);
switch(event.type)
{
case SDL_QUIT:
continuer = 0;
break;
case SDL_KEYDOWN:
switch(event.key.keysym.sym)
{
case SDLK_UP:
posradar.y=posradar.y-1;
x = 50;
break;
case SDLK_DOWN:
posradar.y=posradar.y+1;
x = 50;
break;
case SDLK_RIGHT:
x = 50;
posradar.x=posradar.x+1;
break;
case SDLK_LEFT:
posradar.x=posradar.x-1;
x = 50;
break;
break;
}
}
SDL_FillRect(screen, NULL, SDL_MapRGB(screen->format, 17, 206, 112));
SDL_FillRect(rectangle, NULL, SDL_MapRGB(screen->format, 255, 255, 255));
SDL_BlitSurface(rectangle, NULL, screen, &position);
SDL_BlitSurface(radar,NULL,screen,&posradar);
SDL_Flip(screen);
}
else
{
posradar.x=0;
posradar.y=580;
}
}
SDL_FreeSurface(radar);
SDL_FreeSurface(screen);
SDL_FreeSurface(rectangle);
return EXIT_SUCCESS;
}