[Cruce-commit] SF.net SVN: cruce:[68] C/trunk
Status: Beta
Brought to you by:
caiusb
|
From: <ali...@us...> - 2010-03-23 10:59:27
|
Revision: 68
http://cruce.svn.sourceforge.net/cruce/?rev=68&view=rev
Author: alinposho
Date: 2010-03-23 10:59:21 +0000 (Tue, 23 Mar 2010)
Log Message:
-----------
Am testat si modificat logica de bid de la server si totul este OK
Modified Paths:
--------------
C/trunk/client/client.c
C/trunk/server/gameLogic.c
Modified: C/trunk/client/client.c
===================================================================
--- C/trunk/client/client.c 2010-03-23 10:50:14 UTC (rev 67)
+++ C/trunk/client/client.c 2010-03-23 10:59:21 UTC (rev 68)
@@ -65,10 +65,11 @@
void showCards() {
int i;
- printf("Carti: ");
+ printf("\nCarti: ");
for (i = 0; i < player.carti_ramase; i++)
printf("%s ", player.carti[i].simbol);
printf("\n");
+ fflush(stdout);
}
void deleteCard(int card) {
@@ -234,25 +235,36 @@
int code = decode_message(message);
if (code == INFO_MSG)
+ {
printf("%s\n", message);
+ }
+ else
+ {
+ if (code == BID)
+ {
+ int bid = 0;
+ do
+ {
+ printf("Cate faci? [0, 1, 2, 3, 4, 5, 6]\n");
+ scanf("%d%*c", &bid);
+ }
+ while (bid < 0 || bid > 6);
- else if (code == BID) {
- int bid = 0;
- do {
- printf("Cate faci? [0, 1, 2, 3, 4, 5, 6]\n");
- scanf("%d%*c", &bid);
- } while (bid < 0 || bid > 6);
-
- memset(message, 0, MSG_SIZE);
- sprintf(message, "%d %d", BID_RESP, bid);
- pad(message);
- write(player.sfd, &message, MSG_SIZE);
+ memset(message, 0, MSG_SIZE);
+ sprintf(message, "%d %d", BID_RESP, bid);
+ pad(message);
+ write(player.sfd, &message, MSG_SIZE);
+ }
+ else
+ {
+ if (code == END_BID)
+ {
+ printf("castigator: %s", message);
+ fflush(stdout);
+ ok = 1;
+ }
+ }
}
- else if (code == END_BID) {
- printf("castigator: %s", message);
- ok = 1;
- }
-
}
return 1;
@@ -345,26 +357,32 @@
char message[MSG_SIZE];
memset(message, 0, MSG_SIZE);
read(player.sfd, &message, MSG_SIZE);
- printf("%s\n", message);
unpad(message);
+
char cards[MSG_SIZE];
strcpy(cards, message);
int code = decode_message(message);
- if (code == SEND_CARDS) {
- if (!receiveCards(cards)) {
+ if (code == SEND_CARDS)
+ {
+ if (!receiveCards(cards))
+ {
printf("couldn't receive cards\n");
exit(1);
}
- } else if (code == BEGIN_BID) {
+ }
+ else if (code == BEGIN_BID)
+ {
+ printf("Beginning the bid process!\n");
+ fflush(stdout);
break;
}
do
{
showCards();
- printf("Do you like your cards? y|n");
+ printf("\nDo you like your cards? y|n");
fflush(stdin);
scanf("%c", &opt);
if (opt == 'y')
@@ -376,8 +394,7 @@
if (opt == 'n')
ok = reject_cards();
}
- }
- while(opt != 'y' && opt != 'n');
+ } while (opt != 'y' && opt != 'n');
}
bidding();
Modified: C/trunk/server/gameLogic.c
===================================================================
--- C/trunk/server/gameLogic.c 2010-03-23 10:50:14 UTC (rev 67)
+++ C/trunk/server/gameLogic.c 2010-03-23 10:59:21 UTC (rev 68)
@@ -318,7 +318,7 @@
displayInfoMessage(stdout, "\nJucam o noua mana!\n");
- echipe[0].scor++;
+ //echipe[0].scor++;
}
@@ -378,17 +378,33 @@
{
puncte = -maxBid;
}
+ }
+ //Adunam cat a facut echipa runda aceasta la scorul general
+ echipe[i].scor += puncte;
- }
sprintf(message, "Ati facut %d", puncte);
//trimitem mesajul jucatorilor;
- for (j = 0; j < MAX_JUCATORI; j++)
+ for (j = 0; j < JUCATORI_PER_ECHIPA; j++)
{
sendMessage(echipe[i].jucatori[j].sfd, END_ROUND,message);
}
}
+ //Informam toti jucatorii despre starea scorului
+ char buff[200];
+ if(echipe[0].scor > echipe[1].scor)
+ {
+ i = 0;
+ }
+ else
+ {
+ i = 1;
+ }
+
+ sprintf(buff, "Scorul este: %d la %d pentru echipa %s-%s",echipe[i].scor, echipe[i + 1 % 2].scor, echipe[i].jucatori[0].nume, echipe[i].jucatori[1].nume);
+ sendMessageToAll(INFO_MSG, buff);
+
displayInfoMessage(stdout, "\n***S-a sfarsit runda***\n");
}
@@ -419,8 +435,9 @@
void playGame()
{
+ echipe[0].scor = 0;
+ echipe[1].scor = 0;
-
displayInfoMessage(stdout, "***Se incepe jocul***\n");
while(false == endOfGame())
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|