لعبة جاكارو عربي

{

“id”: “1”,

“name”: “Player1”,

“coins”: 1000,

“level”: 1,

“wins”: 0,

“losses”: 0,

“avatar”: “default.png”,

“online”: true

}

{

“roomId”: “ABC123”,

“host”: “Player1”,

“status”: “waiting”,

“players”: [

"Player1"

],

“maxPlayers”: 4

}

جاكارو العربية

🎮 جاكارو العربية

تسجيل الدخول

إنشاء حساب

body{

font-family:Tahoma;

background:#0b3d2e;

color:white;

text-align:center;

direction:rtl;

}

.container{

margin-top:100px;

}

button{

padding:15px 30px;

border:none;

border-radius:10px;

margin:10px;

cursor:pointer;

font-size:18px;

background:#f5c542;

}

rooms

└── ABC123

  ├── host: "player1"

  ├── status: "waiting"

  ├── currentTurn: 0

  ├── deck: \[\]

  ├── players

  │     ├── uid1

  │     ├── uid2

  │     ├── uid3

  │     └── uid4

  └── board

        ├── red

        ├── green

        ├── blue

        └── yellow

function createRoom(playerName){

const roomId =

Math.random()

.toString(36)

.substring(2,8)

.toUpperCase();

db.collection(“rooms”)

.doc(roomId)

.set({

host: playerName,

status: “waiting”,

currentTurn: 0,

players: [playerName]

});

alert("رمز الغرفة: " + roomId);

}

async function joinRoom(roomId,playerName){

const roomRef =

db.collection(“rooms”)

.doc(roomId);

const room =

await roomRef.get();

if(!room.exists){

alert(“الغرفة غير موجودة”);

return;

}

const data = room.data();

data.players.push(playerName);

roomRef.update({

players:data.players

});

}

const cards = [

1,2,3,4,5,6,7,

8,9,10,11,12,13

];

let deck = [];

for(let i=0;i<4;i++){

deck.push(…cards);

}

function shuffle(deck){

for(let i=deck.length-1;i>0;i–){

const j =

Math.floor(Math.random()*(i+1));

deck\[i\],deck\[j\]

=

[deck[j],deck[i]];

}

return deck;

}

function dealCards(players){

players.forEach(player=>{

player.cards = [];

for(let i=0;i<5;i++){

player.cards.push(

deck.pop()

);

}

});

}

{

color:“red”,

pieces:[

0,

0,

0,

0

]

}

function movePiece(player,piece,steps){

player.pieces[piece] += steps;

}

db.collection(“rooms”)

.doc(roomId)

.onSnapshot((doc)=>{

const room = doc.data();

updateBoard(room);

});

function startGame(roomId){

const deck =

shuffle(createDeck());

db.collection(“rooms”)

.doc(roomId)

.update({

status:“playing”,

deck:deck

});

}