Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
N
NetWorld
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
LAIRD Timothy
NetWorld
Commits
032bace8
Commit
032bace8
authored
Apr 26, 2021
by
LAIRD Timothy
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'animation' into 'dev'
Animation to dev See merge request
!6
parents
879e5d31
3ef9800b
Changes
8
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
312 additions
and
46 deletions
+312
-46
CMakeLists.txt
CMakeLists.txt
+2
-2
controlpanel.c
src/controlpanel.c
+4
-4
graphical-aspect.c
src/graphical-aspect.c
+273
-28
graphical-aspect.h
src/graphical-aspect.h
+3
-1
main-viewer.c
src/main-viewer.c
+6
-3
player.c
src/player.c
+17
-2
player.h
src/player.h
+4
-3
random-map.c
src/random-map.c
+3
-3
No files found.
CMakeLists.txt
View file @
032bace8
...
...
@@ -20,9 +20,9 @@ link_directories( ${PROJECT_SOURCE_DIR}/dpd )
add_executable
(
nw-viewer src/main-viewer.c src/networld.c src/controlpanel.c src/entity.c src/player.c src/random-map.c src/graphical-aspect.c src/window-manager.c src/menu-button.c src/main-menu.c src/int-input.c src/options-menu.c
)
target_link_libraries
(
nw-viewer
raylib pthread dl rt X11 m
)
target_link_libraries
(
risk
raylib pthread dl rt X11 m
)
#without cmake package...
#include_directories(${PROJECT_SOURCE_DIR}/raylib/src)
#link_directories(${PROJECT_SOURCE_DIR}/raylib)
#target_link_libraries(
nw-viewer
raylib GL m pthread dl rt X11)
#target_link_libraries(
risk
raylib GL m pthread dl rt X11)
src/controlpanel.c
View file @
032bace8
...
...
@@ -32,8 +32,8 @@ void Panel_initialize(Panel * self, NetWorld * world, const int screenWidth, con
self
->
world
=
world
;
self
->
camera
.
x
=
0
.
f
;
self
->
camera
.
y
=
0
.
f
;
self
->
screenCenter
.
x
=
400
.
f
;
self
->
screenCenter
.
y
=
300
.
f
;
self
->
screenCenter
.
x
=
screenWidth
/
2
;
self
->
screenCenter
.
y
=
screenHeight
/
2
;
self
->
scale
=
10
.
f
;
//pixel per meters
self
->
screenWidth
=
screenWidth
;
self
->
screenHeight
=
screenHeight
;
...
...
@@ -84,7 +84,7 @@ void Panel_drawOptionsMenu(Panel * self, Options_Menu * menu){
void
Panel_drawGame
(
Panel
*
self
)
{
BeginDrawing
();
//
BeginDrawing();
ClearBackground
(
RAYWHITE
);
// Draw the edges for each nodes:
...
...
@@ -101,7 +101,7 @@ void Panel_drawGame(Panel * self)
Panel_drawNode
(
self
,
&
(
self
->
world
->
nodes
[
i
])
);
}
//Panel_drawBasis(self);
EndDrawing
();
//
EndDrawing();
}
void
Panel_drawBasis
(
Panel
*
self
)
...
...
src/graphical-aspect.c
View file @
032bace8
This diff is collapsed.
Click to expand it.
src/graphical-aspect.h
View file @
032bace8
...
...
@@ -17,7 +17,9 @@ Rectangle Graphic_ConfirmButton(Font font);
void
Graphic_MouseHoverNodeRecrutement
(
Player
*
self
,
Vector2
mousePosition
,
Panel
*
panel
);
void
Graphic_MouseHoverNodeChooseAttacker
(
Player
*
player
,
Vector2
mousePosition
,
Panel
*
panel
);
void
Graphic_MouseHoverNodeChooseTarget
(
Node
*
originNode
,
Vector2
mousePosition
,
Panel
*
panel
);
void
diceRolling
();
void
Graphic_RectuementBeginTurn
(
int
screenWidth
,
int
screenHeight
,
Font
font
);
int
Graphic_ChooseNumberOfAttackers
(
Player
*
attacker
,
Player
*
defender
,
Node
*
originNode
,
Node
*
targetNode
,
Font
font
);
void
diceRolling
(
Player
*
attacker
,
Player
*
defender
,
Node
*
originNode
,
Node
*
targetNode
,
int
nbOfAttackers
,
int
*
listOfDices
,
Font
font
);
...
...
src/main-viewer.c
View file @
032bace8
...
...
@@ -192,9 +192,12 @@ void game_update(NetWorld * world, Player * players, Font font, Panel * panel)
currentPlayer
->
selectedNode
=
currentNode
;
}
else
if
(
Node_are_connected
(
originNode
,
currentNode
)
&&
(
originNode
->
soldiers
>
1
)
&&
originNode
->
canAttack
){
printf
(
"Engaging attack on target Node
\n
"
);
Player_attack_Node
(
currentPlayer
,
&
(
players
[
nodePlayerID
]),
originNode
,
currentNode
);
//diceRolling();
printf
(
"Engagine attack on target Node
\n
"
);
int
nbOfAttackers
=
Graphic_ChooseNumberOfAttackers
(
currentPlayer
,
&
(
players
[
nodePlayerID
]),
originNode
,
currentNode
,
font
);
int
*
listOfDices
=
Player_attack_Node
(
currentPlayer
,
&
(
players
[
nodePlayerID
]),
originNode
,
currentNode
,
nbOfAttackers
);
int
defendersCount
=
currentNode
->
soldiers
>=
3
?
2
:
1
;
diceRolling
(
currentPlayer
,
&
(
players
[
nodePlayerID
]),
originNode
,
currentNode
,
nbOfAttackers
,
listOfDices
,
font
);
free
(
listOfDices
);
}
else
{
}
}
...
...
src/player.c
View file @
032bace8
...
...
@@ -46,6 +46,9 @@ void Player_add_Node( Player * self, Node * node )
newNodes
[
i
]
=
self
->
nodes
[
i
];
}
node
->
color
=
self
->
color
;
for
(
int
i
=
0
;
i
<
node
->
card
;
i
++
){
node
->
edges
[
i
].
color
=
self
->
color
;
}
node
->
playerID
=
self
->
ID
;
newNodes
[
self
->
nodeCount
]
=
node
;
free
(
self
->
nodes
);
...
...
@@ -147,8 +150,9 @@ void Player_confirm_recrutement(Player * self){
};
void
Player_attack_Node
(
Player
*
self
,
Player
*
defender
,
Node
*
originNode
,
Node
*
targetNode
){
int
attackersCount
=
fmin
(
3
,
(
originNode
->
soldiers
-
1
));
int
*
Player_attack_Node
(
Player
*
self
,
Player
*
defender
,
Node
*
originNode
,
Node
*
targetNode
,
int
numberOfAttackers
){
int
*
listOfDices
=
malloc
(
20
*
sizeof
(
int
));
int
attackersCount
=
numberOfAttackers
;
int
defendersCount
=
targetNode
->
soldiers
>=
3
?
2
:
1
;
int
attDiceRolls
[
attackersCount
];
int
defDiceRolls
[
defendersCount
];
...
...
@@ -182,6 +186,12 @@ void Player_attack_Node(Player * self, Player * defender, Node * originNode, Nod
}
}
}
for
(
int
index
=
0
;
index
<
attackersCount
;
index
++
){
listOfDices
[
index
]
=
attDiceRolls
[
index
];
}
for
(
int
index
=
0
;
index
<
defendersCount
;
index
++
){
listOfDices
[
index
+
attackersCount
]
=
defDiceRolls
[
index
];
}
printf
(
"Attackers dice rolls :
\t
"
);
for
(
int
index
=
0
;
index
<
attackersCount
;
index
++
){
...
...
@@ -216,4 +226,9 @@ void Player_attack_Node(Player * self, Player * defender, Node * originNode, Nod
}
originNode
->
canAttack
=
false
;
return
listOfDices
;
}
void
Delete_Player_attack_Node
(
int
*
listOfDices
){
free
(
listOfDices
);
}
src/player.h
View file @
032bace8
...
...
@@ -120,10 +120,11 @@ void Player_unselect_Node(Player * self, Vector2 mousePos);
* @param defender The defending player
* @param originNode The attacker's node
* @param targetNode The defender's node
* @param numberOfAttackers Number of attacking soldiers
*/
void
Player_attack_Node
(
Player
*
self
,
Player
*
defender
,
Node
*
originNode
,
Node
*
targetNode
);
/**
int
*
Player_attack_Node
(
Player
*
self
,
Player
*
defender
,
Node
*
originNode
,
Node
*
targetNode
,
int
numberOfAttackers
);
/**
* @brief Confirm placement of soldiers
* @param self The player context
*/
...
...
src/random-map.c
View file @
032bace8
...
...
@@ -60,6 +60,7 @@ void Random_map(NetWorld *world)
name
=
malloc
(
20
*
sizeof
(
char
));
sprintf
(
name
,
"name : %d"
,
i
);
Node_set
(
&
(
world
->
nodes
[
i
]),
(
Vector2
){
randomX
,
randomY
},
RED
,
name
);
free
(
name
);
}
else
{
...
...
@@ -69,6 +70,7 @@ void Random_map(NetWorld *world)
name
=
malloc
(
20
*
sizeof
(
char
));
sprintf
(
name
,
"name : %d"
,
i
);
Node_set
(
&
(
world
->
nodes
[
i
]),
(
Vector2
){
randomX
,
randomY
},
RED
,
name
);
free
(
name
);
printf
(
"%f
\n
"
,
randomX
);
printf
(
"%f
\n
"
,
randomY
);
}
...
...
@@ -83,9 +85,6 @@ void Random_map(NetWorld *world)
float
ym
=
0
.
5
*
(
world
->
nodes
[
i
].
position
.
y
+
world
->
nodes
[
j
].
position
.
y
);
Vector2
M
=
{
xm
,
ym
};
float
distNodeCenterOfij
=
dist
(
world
->
nodes
[
i
].
position
,
M
);
//printf("xm : %f\n", xm);
//printf("ym : %f\n", ym);
//printf("distNodeCenterOfij : %f\n", distNodeCenterOfij);
//printf("distNode %d%d : %f\n", i, j, distNode((world->nodes[i]), world->nodes[j]));
for
(
int
k
=
0
;
k
<
nbNode
;
k
++
)
{
...
...
@@ -102,4 +101,5 @@ void Random_map(NetWorld *world)
}
}
}
}
\ No newline at end of file
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