This commit is contained in:
Lorenzo Bianchi 2023-05-16 16:53:23 +02:00
parent a432f92d96
commit 0e63c14bc7
3 changed files with 32 additions and 3 deletions

View File

@ -32,10 +32,15 @@ typedef enum {
//message queue
typedef struct {
long mtype;
long mtype; // type 1
int board_id;
input_server_t server_in;
char *name_player1, *name_player2;
} msg_t;
typedef struct {
long mtype; // type 2
int move;
} move_t;
#endif

View File

@ -56,7 +56,7 @@ int client(){
// msg
msg_t msg;
// msgsnd
// msgrcv
if (msgrcv(msgid, &msg, sizeof(msg_t) - sizeof(long), 1, 0) == -1) {
errExit("msgrcv", "F4Client");
}

View File

@ -13,6 +13,7 @@
#include <custom_sem.h>
#include <custom_shm.h>
#include <errExit.h>
#include <forza4.h>
int semid;
@ -83,11 +84,17 @@ int main(int argc, char *argv[]){
msg_t msg = {
.mtype = 1,
.server_in = input
//.playerid = 1;
};
// msgsnd
if (msgsnd(msgid, &msg, sizeof(msg_t)-sizeof(long), 0) == -1) {
errExit("msgsnd", "F4Server");
errExit("msgsnd1", "F4Server");
}
//msg.playerid = 2;
if (msgsnd(msgid, &msg, sizeof(msg_t)-sizeof(long), 0) == -1) {
errExit("msgsnd2", "F4Server");
}
//
@ -115,6 +122,23 @@ int main(int argc, char *argv[]){
// faccio quello che devo fare
int turns_left = input.rows * input.collums;
move_t move;
do {
if(turns_left % 2) { //TODO: da scegliere chi fare iniziare
semOp(semid, 0, 1);
}else {
semOp(semid, 1, 1);
}
if (msgrcv(msgid, &move, sizeof(move_t) - sizeof(long), 2, 0) == -1) {
errExit("msgrcv", "F4Client");
}
} while(--turns_left && !checkWin(board, move.move, input.rows, input.collums));