Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
Mini_Projet_C
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MESLIN Léa
Mini_Projet_C
Commits
968cf34c
Commit
968cf34c
authored
Nov 01, 2020
by
MESLIN Léa
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update arkanoid_lea_meslin.c
parent
d2948b13
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
165 additions
and
105 deletions
+165
-105
arkanoid_lea_meslin.c
arkanoid_lea_meslin.c
+165
-105
No files found.
arkanoid_lea_meslin.c
View file @
968cf34c
...
@@ -108,6 +108,101 @@ int main(void)
...
@@ -108,6 +108,101 @@ int main(void)
// Module Functions Definitions (local)
// Module Functions Definitions (local)
//------------------------------------------------------------------------------------
//------------------------------------------------------------------------------------
void
themeCoeur
(
void
){
//Cas coeur
for
(
int
i
=
0
;
i
<
6
;
i
++
){
for
(
int
j
=
2
;
j
<
9
;
j
++
){
brick
[
i
][
j
].
couleur
=
2
;
brick
[
i
][
j
+
9
].
couleur
=
2
;
}
}
brick
[
4
][
5
].
couleur
=
3
;
brick
[
4
][
14
].
couleur
=
3
;
brick
[
3
][
4
].
couleur
=
3
;
brick
[
3
][
13
].
couleur
=
3
;
brick
[
3
][
6
].
couleur
=
3
;
brick
[
3
][
15
].
couleur
=
3
;
brick
[
2
][
3
].
couleur
=
3
;
brick
[
2
][
12
].
couleur
=
3
;
brick
[
2
][
5
].
couleur
=
3
;
brick
[
2
][
14
].
couleur
=
3
;
brick
[
2
][
7
].
couleur
=
3
;
brick
[
2
][
16
].
couleur
=
3
;
brick
[
1
][
3
].
couleur
=
3
;
brick
[
1
][
12
].
couleur
=
3
;
brick
[
1
][
4
].
couleur
=
3
;
brick
[
1
][
13
].
couleur
=
3
;
brick
[
1
][
6
].
couleur
=
3
;
brick
[
1
][
15
].
couleur
=
3
;
brick
[
1
][
7
].
couleur
=
3
;
brick
[
1
][
16
].
couleur
=
3
;
brick
[
2
][
6
].
couleur
=
1
;
brick
[
2
][
15
].
couleur
=
1
;
brick
[
2
][
4
].
couleur
=
1
;
brick
[
2
][
13
].
couleur
=
1
;
brick
[
3
][
5
].
couleur
=
1
;
brick
[
3
][
14
].
couleur
=
1
;
}
void
themeTempete
(
void
){
for
(
int
i
=
0
;
i
<
6
;
i
++
){
for
(
int
j
=
0
;
j
<
20
;
j
++
){
brick
[
i
][
j
].
couleur
=
1
;
}
}
//1er nuage
brick
[
3
][
1
].
couleur
=
2
;
brick
[
3
][
2
].
couleur
=
2
;
brick
[
3
][
3
].
couleur
=
2
;
brick
[
3
][
4
].
couleur
=
2
;
brick
[
3
][
5
].
couleur
=
2
;
brick
[
2
][
2
].
couleur
=
2
;
brick
[
2
][
3
].
couleur
=
2
;
brick
[
2
][
4
].
couleur
=
2
;
brick
[
4
][
2
].
couleur
=
2
;
brick
[
4
][
3
].
couleur
=
2
;
brick
[
4
][
4
].
couleur
=
2
;
//2e nuage
brick
[
2
][
14
].
couleur
=
2
;
brick
[
2
][
15
].
couleur
=
2
;
brick
[
2
][
16
].
couleur
=
2
;
brick
[
2
][
17
].
couleur
=
2
;
brick
[
2
][
18
].
couleur
=
2
;
brick
[
1
][
15
].
couleur
=
2
;
brick
[
1
][
16
].
couleur
=
2
;
brick
[
1
][
17
].
couleur
=
2
;
brick
[
3
][
15
].
couleur
=
2
;
brick
[
3
][
16
].
couleur
=
2
;
brick
[
3
][
17
].
couleur
=
2
;
//Soleil
brick
[
0
][
10
].
couleur
=
3
;
brick
[
1
][
9
].
couleur
=
3
;
brick
[
2
][
8
].
couleur
=
3
;
brick
[
2
][
9
].
couleur
=
3
;
brick
[
2
][
10
].
couleur
=
3
;
brick
[
2
][
11
].
couleur
=
3
;
brick
[
3
][
10
].
couleur
=
3
;
brick
[
4
][
9
].
couleur
=
3
;
brick
[
5
][
8
].
couleur
=
3
;
}
void
themeAleatoire
(
void
){
for
(
int
i
=
0
;
i
<
LINES_OF_BRICKS
;
i
++
)
{
for
(
int
j
=
0
;
j
<
BRICKS_PER_LINE
;
j
++
)
{
int
random
=
GetRandomValue
(
0
,
3
);
switch
(
random
){
case
0
:
{
brick
[
i
][
j
].
couleur
=
0
;}
break
;
case
1
:
{
brick
[
i
][
j
].
couleur
=
1
;}
break
;
case
2
:
{
brick
[
i
][
j
].
couleur
=
2
;}
break
;
case
3
:
{
brick
[
i
][
j
].
couleur
=
3
;}
break
;
}
}
}
}
void
themeLoveC
(
void
){
for
(
int
i
=
0
;
i
<
6
;
i
++
){
for
(
int
j
=
0
;
j
<
20
;
j
++
){
brick
[
i
][
j
].
couleur
=
2
;
}
}
//Le i
for
(
int
k
=
1
;
k
<
5
;
k
++
){
brick
[
k
][
3
].
couleur
=
1
;
}
//Le coeur
brick
[
4
][
8
].
couleur
=
3
;
brick
[
3
][
7
].
couleur
=
3
;
brick
[
3
][
9
].
couleur
=
3
;
brick
[
2
][
6
].
couleur
=
3
;
brick
[
2
][
8
].
couleur
=
3
;
brick
[
2
][
10
].
couleur
=
3
;
brick
[
3
][
8
].
couleur
=
3
;
brick
[
1
][
6
].
couleur
=
3
;
brick
[
1
][
7
].
couleur
=
3
;
brick
[
1
][
9
].
couleur
=
3
;
brick
[
1
][
10
].
couleur
=
3
;
brick
[
2
][
9
].
couleur
=
3
;
brick
[
2
][
7
].
couleur
=
3
;
//Le c
for
(
int
k
=
1
;
k
<
5
;
k
++
){
brick
[
k
][
13
].
couleur
=
1
;
}
brick
[
1
][
14
].
couleur
=
1
;
brick
[
1
][
15
].
couleur
=
1
;
brick
[
4
][
14
].
couleur
=
1
;
brick
[
4
][
15
].
couleur
=
1
;
}
// Initialize game variables
// Initialize game variables
void
InitGame
(
void
)
void
InitGame
(
void
)
{
{
...
@@ -139,70 +234,26 @@ void InitGame(void)
...
@@ -139,70 +234,26 @@ void InitGame(void)
brick
[
i
][
j
].
couleur
=
0
;
//Valeur par défaut
brick
[
i
][
j
].
couleur
=
0
;
//Valeur par défaut
}
}
}
}
choixTheme
=
GetRandomValue
(
0
,
1
);
choixTheme
=
GetRandomValue
(
0
,
3
);
if
(
choixTheme
==
0
){
if
(
choixTheme
==
0
){
for
(
int
i
=
0
;
i
<
LINES_OF_BRICKS
;
i
++
)
themeAleatoire
();
{
for
(
int
j
=
0
;
j
<
BRICKS_PER_LINE
;
j
++
)
{
int
random
=
GetRandomValue
(
0
,
3
);
switch
(
random
){
case
0
:
{
brick
[
i
][
j
].
couleur
=
0
;}
break
;
case
1
:
{
brick
[
i
][
j
].
couleur
=
1
;}
break
;
case
2
:
{
brick
[
i
][
j
].
couleur
=
2
;}
break
;
case
3
:
{
brick
[
i
][
j
].
couleur
=
3
;}
break
;
}
}
}
else
if
(
choixTheme
==
1
){
themeTempete
();
}
}
else
if
(
choixTheme
==
2
){
themeLoveC
();
}
}
else
{
else
{
//Cas coeur
themeCoeur
();
for
(
int
i
=
0
;
i
<
6
;
i
++
){
for
(
int
j
=
2
;
j
<
9
;
j
++
){
brick
[
i
][
j
].
couleur
=
2
;
brick
[
i
][
j
+
9
].
couleur
=
2
;
}
}
brick
[
4
][
5
].
couleur
=
3
;
brick
[
4
][
14
].
couleur
=
3
;
brick
[
3
][
4
].
couleur
=
3
;
brick
[
3
][
13
].
couleur
=
3
;
brick
[
3
][
6
].
couleur
=
3
;
brick
[
3
][
15
].
couleur
=
3
;
brick
[
2
][
3
].
couleur
=
3
;
brick
[
2
][
12
].
couleur
=
3
;
brick
[
2
][
5
].
couleur
=
3
;
brick
[
2
][
14
].
couleur
=
3
;
brick
[
2
][
7
].
couleur
=
3
;
brick
[
2
][
16
].
couleur
=
3
;
brick
[
1
][
3
].
couleur
=
3
;
brick
[
1
][
12
].
couleur
=
3
;
brick
[
1
][
4
].
couleur
=
3
;
brick
[
1
][
13
].
couleur
=
3
;
brick
[
1
][
6
].
couleur
=
3
;
brick
[
1
][
15
].
couleur
=
3
;
brick
[
1
][
7
].
couleur
=
3
;
brick
[
1
][
16
].
couleur
=
3
;
brick
[
2
][
6
].
couleur
=
1
;
brick
[
2
][
15
].
couleur
=
1
;
brick
[
2
][
4
].
couleur
=
1
;
brick
[
2
][
13
].
couleur
=
1
;
brick
[
3
][
5
].
couleur
=
1
;
brick
[
3
][
14
].
couleur
=
1
;
}
}
}
}
void
briqueCouleurBleue
(
int
i
,
int
j
){
void
briqueCouleurBleue
(
int
i
,
int
j
){
if
((
brick
[
i
][
j
].
couleur
==
1
)){
brick
[
i
][
j
].
active
=
false
;
int
k
=
i
;
int
k
=
i
;
int
l
=
j
;
int
l
=
j
;
if
(
k
==
0
){
if
(
l
==
19
&&
k
==
0
){
brick
[
k
+
1
][
l
].
active
=
false
;
brick
[
k
][
l
-
1
].
active
=
false
;
brick
[
k
][
l
+
1
].
active
=
false
;
}
else
if
(
l
==
19
&&
k
==
0
){
brick
[
k
+
1
][
l
].
active
=
false
;
brick
[
k
+
1
][
l
].
active
=
false
;
brick
[
k
][
l
-
1
].
active
=
false
;
brick
[
k
][
l
-
1
].
active
=
false
;
}
}
...
@@ -220,6 +271,11 @@ void briqueCouleurBleue(int i, int j){
...
@@ -220,6 +271,11 @@ void briqueCouleurBleue(int i, int j){
brick
[
k
-
1
][
l
].
active
=
false
;
brick
[
k
-
1
][
l
].
active
=
false
;
brick
[
k
][
l
+
1
].
active
=
false
;
brick
[
k
][
l
+
1
].
active
=
false
;
}
}
else
if
(
k
==
0
){
brick
[
k
+
1
][
l
].
active
=
false
;
brick
[
k
][
l
-
1
].
active
=
false
;
brick
[
k
][
l
+
1
].
active
=
false
;
}
else
{
else
{
brick
[
k
+
1
][
l
].
active
=
false
;
brick
[
k
+
1
][
l
].
active
=
false
;
brick
[
k
-
1
][
l
].
active
=
false
;
brick
[
k
-
1
][
l
].
active
=
false
;
...
@@ -227,23 +283,35 @@ void briqueCouleurBleue(int i, int j){
...
@@ -227,23 +283,35 @@ void briqueCouleurBleue(int i, int j){
brick
[
k
][
l
+
1
].
active
=
false
;
brick
[
k
][
l
+
1
].
active
=
false
;
}
}
score
+=
4
;
score
+=
4
;
}
}
}
void
briqueCouleurNoire
(
int
i
,
int
j
){
void
briqueCouleurNoire
(
int
i
,
int
j
){
if
((
brick
[
i
][
j
].
couleur
==
2
)){
brick
[
i
][
j
].
active
=
true
;
brick
[
i
][
j
].
couleur
=
0
;
brick
[
i
][
j
].
couleur
=
0
;
}
}
}
void
briqueCouleurViolette
(
int
i
,
int
j
){
void
briqueCouleurViolette
(
int
i
,
int
j
){
if
((
brick
[
i
][
j
].
couleur
==
3
)){
brick
[
i
][
j
].
active
=
false
;
ball
.
position
.
y
=
screenHeight
*
1
/
8
;
ball
.
position
.
y
=
screenHeight
*
1
/
8
;
ball
.
speed
.
x
+=
-
1
/
2
;
}
}
}
void
briqueGrise
(
int
i
,
int
j
){
brick
[
i
][
j
].
active
=
false
;
}
void
couleurBrique
(
int
i
,
int
j
){
if
((
brick
[
i
][
j
].
couleur
==
0
)){
briqueGrise
(
i
,
j
);
}
else
if
(
brick
[
i
][
j
].
couleur
==
1
){
briqueCouleurBleue
(
i
,
j
);
}
else
if
(
brick
[
i
][
j
].
couleur
==
2
){
briqueCouleurNoire
(
i
,
j
);
}
else
{
briqueCouleurViolette
(
i
,
j
);
}
}
// Update game (one frame)
// Update game (one frame)
void
UpdateGame
(
void
)
void
UpdateGame
(
void
)
{
{
...
@@ -319,11 +387,9 @@ void UpdateGame(void)
...
@@ -319,11 +387,9 @@ void UpdateGame(void)
((
ball
.
position
.
y
-
ball
.
radius
)
>
(
brick
[
i
][
j
].
position
.
y
+
brickSize
.
y
/
2
+
ball
.
speed
.
y
))
&&
((
ball
.
position
.
y
-
ball
.
radius
)
>
(
brick
[
i
][
j
].
position
.
y
+
brickSize
.
y
/
2
+
ball
.
speed
.
y
))
&&
((
fabs
(
ball
.
position
.
x
-
brick
[
i
][
j
].
position
.
x
))
<
(
brickSize
.
x
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
y
<
0
))
((
fabs
(
ball
.
position
.
x
-
brick
[
i
][
j
].
position
.
x
))
<
(
brickSize
.
x
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
y
<
0
))
{
{
brick
[
i
][
j
].
active
=
false
;
ball
.
speed
.
y
*=
-
1
;
ball
.
speed
.
y
*=
-
1
;
briqueCouleurBleue
(
i
,
j
);
couleurBrique
(
i
,
j
);
briqueCouleurNoire
(
i
,
j
);
briqueCouleurViolette
(
i
,
j
);
score
+=
1
;
score
+=
1
;
}
}
// Hit above
// Hit above
...
@@ -331,11 +397,9 @@ void UpdateGame(void)
...
@@ -331,11 +397,9 @@ void UpdateGame(void)
((
ball
.
position
.
y
+
ball
.
radius
)
<
(
brick
[
i
][
j
].
position
.
y
-
brickSize
.
y
/
2
+
ball
.
speed
.
y
))
&&
((
ball
.
position
.
y
+
ball
.
radius
)
<
(
brick
[
i
][
j
].
position
.
y
-
brickSize
.
y
/
2
+
ball
.
speed
.
y
))
&&
((
fabs
(
ball
.
position
.
x
-
brick
[
i
][
j
].
position
.
x
))
<
(
brickSize
.
x
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
y
>
0
))
((
fabs
(
ball
.
position
.
x
-
brick
[
i
][
j
].
position
.
x
))
<
(
brickSize
.
x
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
y
>
0
))
{
{
brick
[
i
][
j
].
active
=
false
;
ball
.
speed
.
y
*=
-
1
;
ball
.
speed
.
y
*=
-
1
;
briqueCouleurBleue
(
i
,
j
);
couleurBrique
(
i
,
j
);
briqueCouleurNoire
(
i
,
j
);
briqueCouleurViolette
(
i
,
j
);
score
+=
1
;
score
+=
1
;
}
}
// Hit left
// Hit left
...
@@ -343,11 +407,9 @@ void UpdateGame(void)
...
@@ -343,11 +407,9 @@ void UpdateGame(void)
((
ball
.
position
.
x
+
ball
.
radius
)
<
(
brick
[
i
][
j
].
position
.
x
-
brickSize
.
x
/
2
+
ball
.
speed
.
x
))
&&
((
ball
.
position
.
x
+
ball
.
radius
)
<
(
brick
[
i
][
j
].
position
.
x
-
brickSize
.
x
/
2
+
ball
.
speed
.
x
))
&&
((
fabs
(
ball
.
position
.
y
-
brick
[
i
][
j
].
position
.
y
))
<
(
brickSize
.
y
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
x
>
0
))
((
fabs
(
ball
.
position
.
y
-
brick
[
i
][
j
].
position
.
y
))
<
(
brickSize
.
y
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
x
>
0
))
{
{
brick
[
i
][
j
].
active
=
false
;
ball
.
speed
.
x
*=
-
1
;
ball
.
speed
.
x
*=
-
1
;
briqueCouleurBleue
(
i
,
j
);
couleurBrique
(
i
,
j
);
briqueCouleurNoire
(
i
,
j
);
briqueCouleurViolette
(
i
,
j
);
score
+=
1
;
score
+=
1
;
}
}
// Hit right
// Hit right
...
@@ -355,11 +417,9 @@ void UpdateGame(void)
...
@@ -355,11 +417,9 @@ void UpdateGame(void)
((
ball
.
position
.
x
-
ball
.
radius
)
>
(
brick
[
i
][
j
].
position
.
x
+
brickSize
.
x
/
2
+
ball
.
speed
.
x
))
&&
((
ball
.
position
.
x
-
ball
.
radius
)
>
(
brick
[
i
][
j
].
position
.
x
+
brickSize
.
x
/
2
+
ball
.
speed
.
x
))
&&
((
fabs
(
ball
.
position
.
y
-
brick
[
i
][
j
].
position
.
y
))
<
(
brickSize
.
y
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
x
<
0
))
((
fabs
(
ball
.
position
.
y
-
brick
[
i
][
j
].
position
.
y
))
<
(
brickSize
.
y
/
2
+
ball
.
radius
*
2
/
3
))
&&
(
ball
.
speed
.
x
<
0
))
{
{
brick
[
i
][
j
].
active
=
false
;
ball
.
speed
.
x
*=
-
1
;
ball
.
speed
.
x
*=
-
1
;
briqueCouleurBleue
(
i
,
j
);
couleurBrique
(
i
,
j
);
briqueCouleurNoire
(
i
,
j
);
briqueCouleurViolette
(
i
,
j
);
score
+=
1
;
score
+=
1
;
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment