File tree Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Expand file tree Collapse file tree 1 file changed +14
-7
lines changed Original file line number Diff line number Diff line change @@ -56,24 +56,31 @@ static void roulette_show(roulette *rte)
56
56
static roulette * roulette_play (roulette * rte )
57
57
{
58
58
int cham , trig ;
59
- roulette * rtep = rte ;
59
+ roulette * rtep = rte , * fnode ;
60
60
if (!rtep ) {
61
61
printf ("roulette is not exist\n" );
62
62
return ;
63
63
}
64
64
65
65
//首先找到首元节点的前趋节点作为计数起始点的前趋
66
- while ( rtep -> next != rte ) {
66
+ do {
67
67
rtep = rtep -> next ;
68
- }
68
+ } while ( rtep -> next != rte );
69
69
70
70
do {
71
71
printf ("please input chamber number & trigger number: " );
72
- scanf ("%d %d" , & cham , & trig );
73
- for (; i < hit ; i ++ ) {
74
-
72
+ scanf ("%d %d" , & cham , & trig );
73
+ if (trig < cham ) { //活下来了
74
+ rtep = rtep -> next ;
75
+ roulette_show (rtep );
76
+ } else { //自杀了
77
+ fnode = rtep -> next ;
78
+ rtep -> next = rtep -> next -> next ;
79
+ free (fnode );
80
+ fnode = NULL ;
81
+ roulette_show (rtep -> next );
75
82
}
76
- } while ( );
83
+ } while (rtep -> next != rtep );
77
84
78
85
return rtep ;
79
86
}
You can’t perform that action at this time.
0 commit comments