[Commit] rrsolve/src Makefile.am,1.1.1.1,1.2 rrsolve.c,1.9,1.10
Carl Worth
commit at keithp.com
Sat Jan 10 21:15:09 PST 2004
- Previous message: [Commit] rrsolve ChangeLog,1.2,1.3 configure.in,1.1.1.1,1.2
- Next message: [Commit] nickle ChangeLog, 1.7, 1.8 box.c, 1.18, 1.19 version.m4,
1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: cworth
Update of /local/src/CVS/rrsolve/src
In directory home.keithp.com:/tmp/cvs-serv31259/src
Modified Files:
Makefile.am rrsolve.c
Log Message:
* src/Makefile.am (rrsolve_LDFLAGS): Fix to not ovverride user
variables.
* src/rrsolve.c (handle_events): Speed up rrsolve robot movement
slightly.
(handle_events): Keep track of users in the game and their scores.
(handle_events): Implement "pity points". If another user with a
lower score than rrsolve matches its bid, then rrsolve will revoke
its bid (and immediately make it again), to give the other user
the first chance to demonstrate the solution. This behavior makes
solitaire play against rrsolve much more enjoyable.
* configure.in: Now require librr >= 0.1.1
Index: Makefile.am
===================================================================
RCS file: /local/src/CVS/rrsolve/src/Makefile.am,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -d -r1.1.1.1 -r1.2
--- Makefile.am 25 Jun 2003 10:45:06 -0000 1.1.1.1
+++ Makefile.am 11 Jan 2004 05:15:06 -0000 1.2
@@ -7,5 +7,5 @@
rrs_state_buf.c \
rrs_solution.c
-INCLUDES = $(rrsolve_CFLAGS)
-LDFLAGS = $(rrsolve_LIBS)
+rrsolve_INCLUDES = $(rrsolve_CFLAGS)
+rrsolve_LDFLAGS = $(rrsolve_LIBS)
Index: rrsolve.c
===================================================================
RCS file: /local/src/CVS/rrsolve/src/rrsolve.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- rrsolve.c 11 Jul 2003 01:03:15 -0000 1.9
+++ rrsolve.c 11 Jan 2004 05:15:06 -0000 1.10
@@ -39,7 +39,7 @@
#define RRS_STATE_GET_ROBOT(s, ri, x, y) { (y) = ((s) >> ((ri)<<3)) & 0xf; (x) = ((s) >> (((ri)<<3) + 4)) & 0xf; }
static void
-handle_events (rr_client_t *client);
+handle_events (rr_client_t *client, char *name);
static rrs_state_t
rrs_state_get_from_board (rr_board_t *board);
@@ -111,7 +111,7 @@
return 1;
}
- handle_events (client);
+ handle_events (client, args.user);
rr_client_destroy (client);
}
@@ -120,7 +120,7 @@
}
static void
-handle_events (rr_client_t *client)
+handle_events (rr_client_t *client, char *name)
{
int i;
rr_status_t status;
@@ -128,7 +128,10 @@
rrs_solution_t solution;
rr_board_t *board;
char *diagram;
- struct timespec move_delay = { 1, 200000000l };
+ struct timespec move_delay = { 0, 800000000l };
+ rr_players_t *players;
+
+ rr_client_players (client, &players);
/* XXX: This block of code can go away when add a NOTICE BOARD
for new users joining a game. */
@@ -212,23 +215,38 @@
}
}
break;
+ case RR_NOTICE_BID:
+ /* rrsolve is kind enought to offer pity points */
+ if (notice->u.bid.number == solution.num_moves &&
+ strcmp (notice->u.bid.username, name) &&
+ rr_players_get_score (players, notice->u.bid.username) < rr_players_get_score (players, name))
+ {
+ rr_client_revoke (client);
+ rr_client_bid (client, solution.num_moves);
+ }
+ break;
+ case RR_NOTICE_JOIN:
+ rr_players_add (players, notice->u.string);
+ break;
+ case RR_NOTICE_PART:
+ rr_players_remove (players, notice->u.string);
+ break;
+ case RR_NOTICE_SCORE:
+ rr_players_set_score (players, notice->u.bid.username, notice->u.bid.number);
+ break;
case RR_NOTICE_GAMEOVER:
case RR_NOTICE_GAME:
case RR_NOTICE_USER:
- case RR_NOTICE_JOIN:
case RR_NOTICE_QUIT:
case RR_NOTICE_DISPOSE:
case RR_NOTICE_MESSAGE:
case RR_NOTICE_WATCH:
- case RR_NOTICE_PART:
- case RR_NOTICE_BID:
case RR_NOTICE_REVOKE:
case RR_NOTICE_TIMER:
case RR_NOTICE_ACTIVE:
case RR_NOTICE_MOVE:
case RR_NOTICE_UNDO:
case RR_NOTICE_RESET:
- case RR_NOTICE_SCORE:
/* Ignore these notices */
break;
}
- Previous message: [Commit] rrsolve ChangeLog,1.2,1.3 configure.in,1.1.1.1,1.2
- Next message: [Commit] nickle ChangeLog, 1.7, 1.8 box.c, 1.18, 1.19 version.m4,
1.6, 1.7
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the Commit
mailing list