samedi 31 octobre 2015

Text adventure game--randomly connecting rooms together - C

I'm trying to create a text adventure game that 7 rooms, with the information saved in files. This question IS similar to Connect Rooms Randomly in Adventure Game however the answer didn't exactly help me. I've gone about my program in a different way than that OP so I'm not sure how to use that answer to help me.

The idea is you have 7 rooms, named say A, B, C, D, E, F, and G. After the rooms are created, I need to randomly connect them to each other. Each room needs between 3 and 6 random connections. If room A is connected to B, C, and D, each of those rooms should be connected to A. This information is then saved to a file which is read later.

The code I have for this section so far is:

    char connections[7][7];
    int j = 0;
    int randomRoom;
    for (j = 0; j <= randConnections; j++) {
             randomRoom = rand() % 10;
             if (randomRoom == randName) {
                     randomRoom = rand() % 10;
             } else {
                    connections[j] = names[randomRoom];
    }

randConnections is a random int between 3 and 6, defined earlier in the code. names is a string array that holds the names of the rooms, also defined earlier in my program.

Now first of all, this code doesn't compile. There is an issue with the line

   connections[j] = names[randomRoom];

I can't seem to figure out why this assignment statement doesn't work either. I am pretty new to C (I'm mostly experienced with Java) so I can't figure it out. The error I get is: incompatible types when assigning to type char[7] from type char *

I should mention, this is all in one function defined as:

    void createRooms(FILE *fp)

I know there are probably more efficient ways to do this, but at this point I'm just trying to get the code working and deal with efficiency later.

I've done a ton of googling and am honestly beating my head against the wall right now. Any help would be greatly appreciated. If there's any more code I should post or any other information let me know.




Aucun commentaire:

Enregistrer un commentaire