Sign in to follow this  

How to create c# text based game like this

Recommended Posts

TheScriptan    208

I was really confused when i tried to make so simple game, maybe im just out of ideas, here is what i want to make:


int input = 0; Console.WriteLine("You woke up in the island what you gonna do?");

Console.WriteLine("1. Go to city");

Console.WriteLine("2. Survive in wilderness");

input = Console.ReadLine();

if (input == 1) {How i need to go to the jumpspot?}()

if (input == 2) isDead = true; isDeadTrue();


jumpspot: How i need jump here to continue the game???


Console.WriteLine("You are in the city what you gonna do?");

Console.WriteLine("1. Search for food");

Console.WriteLine("2. Kill people");

if (input == 1) {jumpspot2:}()

if (input == 2) isDead = true; isDeadTrue();


and it goes on


Share this post

Link to post
Share on other sites
while(isDead != true)
    //intro and selection options

    if(input == 2)
        isDead = true;
    //continue on


? Something like that possibly. Pretty much when you choose "Survive in wilderness" the bool variable "isDead" is set to true which then pushes you out of the while loop. "While(isDead != true" 



(my apologizes if some of this syntax is incorrect, i've been using C++ for a while so my C# is rusty)

Share this post

Link to post
Share on other sites
pulpfist    528

I suggest you read up on classes, loops and lists (including the Dictionary)


If you do, you should be able to understand how this skeleton works




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace RPG
    // A class representing a location in the game world
    class Location
        public Location(string description) // Class constructor
            Description = description;
            Exits = new Dictionary<string, Location>();
        // Description of this location
        public string Description;
        // Available exits for this location (Could use a List instead, but I prefer a Dictionary)
        public Dictionary<string, Location> Exits;
    class Program
        static void Main(string[] args)
            // A Dictionary of locations, representing the game world
            Dictionary<string, Location> Locations = new Dictionary<string, Location>();                    
            // Create the locations and add them to the "world"
            Locations["Island"] = new Location("An island surrounded by turquoise water");
            Locations["Town"] = new Location("A town with shops and houses");
            Locations["Farm"] = new Location("A farm in the forrest");
            Locations["Tavern"] = new Location("A tavern selling food and drinks");
            // Connect the locations together
            Locations["Island"].Exits["Town"] = Locations["Town"];
            Locations["Town"].Exits["Island"] = Locations["Island"];
            Locations["Town"].Exits["Farm"] = Locations["Farm"];
            Locations["Farm"].Exits["Town"] = Locations["Town"];
            Locations["Town"].Exits["Tavern"] = Locations["Tavern"];
            Locations["Tavern"].Exits["Town"] = Locations["Town"];
            // A reference to the "current" location
            // This reference always points to the current location
            Location currentLocation = Locations["Island"];
            // Game loop
            while (true)
                // Print information
                Console.WriteLine("You are here: " + currentLocation.Description);                
                Console.Write("You can go: ");
                foreach (string exit in currentLocation.Exits.Keys)                
                    Console.Write(exit + " ");                
                // Take input from player
                string input = Console.ReadLine();
                if (input == "Quit" || input == "quit") // Exit if the player types Quit
                // If the player typed the name of one of the current locations exits, update the current location
                if (currentLocation.Exits.Keys.Contains(input))
                    currentLocation = currentLocation.Exits[input];
                    Console.WriteLine("Can not go to " + input);


Share this post

Link to post
Share on other sites
Thank you Inuyashakagome16  you really helped me. I did very stupid mistake, i needed to try more with my made code biggrin.png

No problem. :) I would look into what pulpfist was talking about with classes, loops,  lists, and the dictionary. I probably should have had a response like that instead of JUST the answer an a mild explanation. Your setup is fine, but as he stated and the example he posted I would look into those areas as well. :) 

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this