7
Help with C [Closed | Problem patched]
(lemmygrad.ml)
submitted
2 years ago* (last edited 2 years ago)
by
sparkingcircuit@lemmygrad.ml
to
c/programming@lemmy.ml
I've been working on re-implementing a board game in C. However, when running the players positions don't increment.
Current output:
6, 9, 7, 6, 5, 5, 8, 7
6, 9, 7, 6, 5, 5, 8, 7
Expected output:
6, 9, 7, 6, 5, 5, 8, 7
14, 15, 19, 16, 13, 13, 14, 17
Code:
#include <stdlib.h>
#include <stdio.h>
// Define types here:
typedef enum {false, true} bool;
// Define constants here:
const unsigned char MAXPLAYERS = 7; //Game has max of 8 players
const unsigned char SPACES = 40; //Board has 40 spaces
const unsigned int SEED = 51732; //Seed for random numbers
const unsigned int DIE = 6; //Number of sides of die
// Define variables here:
unsigned char player = 0;
unsigned char player_position [] = {0, 0, 0, 0, 0, 0, 0, 0};
unsigned char die = 0;
// Define functions here:
// Moves player Input spaces.
void move_player (char moves) {
player_position [player] += moves;
if (player_position [player] > SPACES) {
player_position [player] -= SPACES;
}
}
// Switches active player in order.
void increment_player () {
player ++;
if (player > MAXPLAYERS) {
player = 0;
}
}
// Returns random number between 1 - Input.
unsigned char rand_num (unsigned char max) {
unsigned char i;
i = rand () % max + 1;
return (i);
}
// Sets dice variable && returns 1 if double.
bool roll_dice () {
unsigned char a = rand_num (DIE);
unsigned char b = rand_num (DIE);
die = a + b;
return (0);
}
// Main logic
int main () {
char input = 0;
srand (SEED);
printf ("Game client started.\n",
"Press enter to iterate turns.\n");
while (1) {
scanf ("%c", &input);
for (unsigned char i; i <= MAXPLAYERS; i++) {
roll_dice ();
move_player (die);
increment_player ();
}
printf ("%2i, %2i, %2i, %2i, %2i, %2i, %2i, %2i\n",
player_position [0], player_position [1], player_position [2],
player_position [3], player_position [4], player_position [5],
player_position [6], player_position [7]);
}
return (0);
}
China's take on the Japanese government's handling of the situation, largely due to some of the isotopes they haven't filtered out. Particularly the strontium, iodine, and carbon variants. These have leaked into said wastewater due to the meltdown in several of Fukushima's reactors.