Jump to content
  • Advertisement
Sign in to follow this  

How to create c# text based game like this

This topic is 2154 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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

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
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!