[Cruce-commit] SF.net SVN: cruce:[52] C/trunk/server
Status: Beta
Brought to you by:
caiusb
|
From: <ca...@us...> - 2010-03-22 19:57:01
|
Revision: 52
http://cruce.svn.sourceforge.net/cruce/?rev=52&view=rev
Author: caiusb
Date: 2010-03-22 19:56:55 +0000 (Mon, 22 Mar 2010)
Log Message:
-----------
Am modificat un pic pe server.c
Am facut functia de bid(), dar nu stiu ce sa returnez?? handWinner este setat
pe castigator-ul bid-ul pt ca sa poata da el prima mana. Asta ar trebui sa
simplifice playHand(), ca nu mai trebe sa tratam diferit prima mana.
Modified Paths:
--------------
C/trunk/server/Makefile
C/trunk/server/gameLogic.c
C/trunk/server/server.c
C/trunk/server/server.h
Modified: C/trunk/server/Makefile
===================================================================
--- C/trunk/server/Makefile 2010-03-22 19:19:08 UTC (rev 51)
+++ C/trunk/server/Makefile 2010-03-22 19:56:55 UTC (rev 52)
@@ -24,11 +24,11 @@
#Creating gameLogic object file
$(gameLogicObj) : $(gameLogicSource) $(protocolFolder)protocol.h
- gcc -c $(gameLogicSource) -o $(gameLogicObj)
+ cc -c $(gameLogicSource) -o $(gameLogicObj)
#Creating the server object file
$(serverObj): $(serverSource) $(protocolFolder)protocol.h
- gcc -c $(serverSource) -o $(serverObj)
+ cc -c $(serverSource) -o $(serverObj)
clean:
Modified: C/trunk/server/gameLogic.c
===================================================================
--- C/trunk/server/gameLogic.c 2010-03-22 19:19:08 UTC (rev 51)
+++ C/trunk/server/gameLogic.c 2010-03-22 19:56:55 UTC (rev 52)
@@ -6,12 +6,41 @@
int bidAmount = -1;
int noOfTeamWhoBidded = -1;
+int handWinner = -1;
+int handWinnerTeam = -1;
+int maxBid = 0;
+int maxBidTeam = 0;
+
//functiacare se ocupa de tot bid-ul de la inceput de joc
//returneaza
int bid()
{
-
+ int i, j;
+ int expected[] = {BID_RESP,0};
+ char bid_ammt[2];
+
+ for (i=0; i<NUMAR_ECHIPE; i++)
+ for (j=0; j<JUCATORI_PER_ECHIPA; j++)
+ sendMessage(echipe[i].jucatori[j].sfd,BEGIN_BID,"");
+
+ for (i=0; i<NUMAR_ECHIPE; i++)
+ for (j=0; j<JUCATORI_PER_ECHIPA; j++)
+ {
+ int c_bid;
+ sendMessage(echipe[i].jucatori[j].sfd,BID,"");
+ getMSG(&echipe[i].jucatori[j],expected,bid_ammt,NULL);
+ c_bid = atoi(bid_ammt);
+ if (c_bid > maxBid)
+ {
+ maxBid = c_bid;
+ maxBidTeam = i;
+ handWinner = j;
+ handWinnerTeam = i;
+ }
+ }
+
+ return 0; //TODO ce returnez?
}
//Genereaza si trimite cartile jucatorilor
Modified: C/trunk/server/server.c
===================================================================
--- C/trunk/server/server.c 2010-03-22 19:19:08 UTC (rev 51)
+++ C/trunk/server/server.c 2010-03-22 19:56:55 UTC (rev 52)
@@ -26,6 +26,9 @@
int i, j;
for (i=0;i<NUMAR_ECHIPE;i++)
+ {
+ echipe[i].scor = 0;
+ echipe[i].anunturi = 0;
for (j=0;j<JUCATORI_PER_ECHIPA;j++)
{
echipe[i].jucatori[j].joined = false;
@@ -33,6 +36,7 @@
echipe[i].jucatori[j].sfd = 0;
strcpy(echipe[i].jucatori[j].nume,"");
}
+ }
}
/**
@@ -288,7 +292,8 @@
player->active = true;
}
else //inform the others who pressed start game
- if (true == player->active)
+ if (true == player->active) //TODO is it neccesary... ca am putea informa pe toti, by default
+ // sa se simta si sa dea si ei
{
sprintf(resp, "%d %s wants to start the game.", INFO_MSG,
player->nume);
@@ -409,8 +414,10 @@
if(*expected == code)
{
//dispatchMSG(code, msg ,fd);
- strcpy(restOfMessage, msg);
- *sender_sfd = fd;
+ if (restOfMessage != NULL)
+ strcpy(restOfMessage, msg);
+ if (sender_sfd != NULL)
+ *sender_sfd = fd;
return code;
}
expected++;
Modified: C/trunk/server/server.h
===================================================================
--- C/trunk/server/server.h 2010-03-22 19:19:08 UTC (rev 51)
+++ C/trunk/server/server.h 2010-03-22 19:56:55 UTC (rev 52)
@@ -52,6 +52,9 @@
/**
* Prints the message to the output file making sure to flush the buffer
*/
-void displayInfoMessage(FILE* infoMessageOutput, char *messag);
+void displayInfoMessage(FILE* infoMessageOutput, char *messag);
+
+int getMSG(struct jucator *jucator, int *expected, char* restOfMessage, int *sender_sfd);
+int sendMessage(int receiver_sfd, int code, char info[]);
#endif /* __SERVER_H__ */
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|