Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
Menteur
Overview
Overview
Details
Activity
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
PLN
Menteur
Commits
98614386
Unverified
Commit
98614386
authored
Apr 26, 2020
by
PLN (Algolia)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(client): Hand
parent
47dc1f6e
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
30 additions
and
41 deletions
+30
-41
App.vue
client/src/App.vue
+11
-3
Card.vue
client/src/components/Card.vue
+1
-0
Hand.vue
client/src/components/Hand.vue
+18
-38
No files found.
client/src/App.vue
View file @
98614386
...
...
@@ -3,7 +3,7 @@
<h2
id=
"header"
>
Salut
{{
name
}}
!
</h2>
<Sockets/>
<div
id=
"game"
>
<
Card
value=
"ace"
color=
"hearts
"
/>
<
Hand
:cards=
"mockCards()
"
/>
<label
for=
"messages"
>
Choose a message:
</label>
<select
v-model=
"message"
name=
"message"
id=
"messages"
>
<option
value=
"WAITING"
>
J'attends
</option>
...
...
@@ -22,7 +22,7 @@
import
'es6-promise/auto'
// Needed for Promise polyfill
import
VueSocketIO
from
'vue-socket.io'
import
Vuex
,
{
mapGetters
,
mapMutations
}
from
'vuex'
;
import
Card
from
"./components/Car
d"
;
import
Hand
from
"./components/Han
d"
;
import
Sockets
from
"./Sockets"
;
import
{
store
}
from
'./vuex-store'
...
...
@@ -45,7 +45,7 @@
store
:
store
,
components
:
{
Sockets
,
Car
d
Han
d
},
data
:
function
()
{
return
{
...
...
@@ -60,6 +60,14 @@
console
.
log
(
"User wants to send"
,
message
);
this
.
$socket
.
emit
(
"message"
,
message
);
},
mockCards
()
{
return
[
{
"value"
:
"ace"
,
"color"
:
"hearts"
},
{
"value"
:
"ace"
,
"color"
:
"clubs"
},
{
"value"
:
"ace"
,
"color"
:
"diamonds"
},
{
"value"
:
"ace"
,
"color"
:
"spades"
}
];
},
...
mapMutations
([
'setName'
]),
// ...mapActions(['setNumberToRemoteValue']),
}
...
...
client/src/components/Card.vue
View file @
98614386
...
...
@@ -16,6 +16,7 @@
return
`/img/
${
this
.
value
}
_of_
${
this
.
color
}
.png`
},
text
:
function
()
{
console
.
log
(
"Generating text for"
,
this
);
// Translate
let
valueText
=
{
"2"
:
"Deux"
,
...
...
client/src/components/Hand.vue
View file @
98614386
<
template
>
<div
class=
"card"
>
<img
class=
"card-pic"
v-bind:src=
"imageSrc()"
>
<p>
{{
text
()
}}
</p>
<div
id=
"hand"
>
<p>
{{
count
()
}}
cartes.
</p>
<Card
v-for=
"card in cards"
v-bind:key=
"card"
v-bind:value=
"card.value"
v-bind:color=
"card.color"
/>
</div>
</
template
>
<
script
>
import
Card
from
"./Card"
;
export
default
{
name
:
"Card"
,
name
:
"Hand"
,
components
:
{
Card
},
props
:
{
value
:
String
,
color
:
String
,
cards
:
Array
,
},
methods
:
{
imageSrc
()
{
return
`/img/
${
this
.
value
}
_of_
${
this
.
color
}
.png`
},
text
:
function
()
{
// Translate
let
valueText
=
{
"2"
:
"Deux"
,
"3"
:
"Trois"
,
"4"
:
"Quatre"
,
"5"
:
"Cinq"
,
"6"
:
"Six"
,
"7"
:
"Sept"
,
"8"
:
"Huit"
,
"9"
:
"Neuf"
,
"10"
:
"Dix"
,
"jack"
:
"Valet"
,
"queen"
:
"Dame"
,
"king"
:
"Roi"
,
"ace"
:
"As"
}[
this
.
value
];
let
colorText
=
{
"hearts"
:
"Coeur"
,
"spades"
:
"Pique"
,
"clubs"
:
"Trèfle"
,
"diamonds"
:
"Carreau"
}[
this
.
color
];
// Capitalize
valueText
=
valueText
.
charAt
(
0
).
toUpperCase
()
+
valueText
.
slice
(
1
);
colorText
=
colorText
.
charAt
(
0
).
toUpperCase
()
+
colorText
.
slice
(
1
);
return
`
${
valueText
}
de
${
colorText
}
`
count
()
{
return
this
.
cards
.
length
;
}
}
}
</
script
>
<
style
scoped
>
.card-pic
{
max-width
:
1
5
0px
;
max-width
:
1
0
0px
;
}
</
style
>
\ 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