How to create c# text based game like this

Started by
5 comments, last by pulpfist 11 years, 3 months ago

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();

jumpspot2:

and it goes on

Check out my blog or twitter for news how I am doing in the project "Learn Programming in 2 Years!". You can follow my progress, and help me! :)

My Projects:

"Learn Programming In 2 Years"

"Windows Tutorials"

"Ubuntu Tutorials"

My Games:

Moving@ IndieDB: http://www.indiedb.com/games/moving-rl

My Links:

My Blog: http://www.thescriptan.blogspot.com

My Twitter: https://twitter.com/TheScriptan

Advertisement

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)

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

[source]

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.Clear();
Console.WriteLine("You are here: " + currentLocation.Description);
Console.Write("You can go: ");
foreach (string exit in currentLocation.Exits.Keys)
Console.Write(exit + " ");
Console.WriteLine();
// Take input from player
string input = Console.ReadLine();
if (input == "Quit" || input == "quit") // Exit if the player types Quit
break;
// 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];
}
else
{
Console.WriteLine("Can not go to " + input);
}
}
}
}
}

[/source]

Thank you Inuyashakagome16 you really helped me. I did very stupid mistake, i needed to try more with my made code :D

Check out my blog or twitter for news how I am doing in the project "Learn Programming in 2 Years!". You can follow my progress, and help me! :)

My Projects:

"Learn Programming In 2 Years"

"Windows Tutorials"

"Ubuntu Tutorials"

My Games:

Moving@ IndieDB: http://www.indiedb.com/games/moving-rl

My Links:

My Blog: http://www.thescriptan.blogspot.com

My Twitter: https://twitter.com/TheScriptan

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. :)

I didn't wanted areas i just wanted that my script continues :)

Check out my blog or twitter for news how I am doing in the project "Learn Programming in 2 Years!". You can follow my progress, and help me! :)

My Projects:

"Learn Programming In 2 Years"

"Windows Tutorials"

"Ubuntu Tutorials"

My Games:

Moving@ IndieDB: http://www.indiedb.com/games/moving-rl

My Links:

My Blog: http://www.thescriptan.blogspot.com

My Twitter: https://twitter.com/TheScriptan

deleted

This topic is closed to new replies.

Advertisement