Alivegamer
Member
- Joined
- Jul 20, 2022
- Messages
- 10
- Programming Experience
- 1-3
I am starting to learn C# and I've created a very simple game you can say and want to get feedback and tips on how to make my code more efficient or something I could do differently and make my code better or tips on some habits I should pick up.
I also don't know if this is a good place to post this.
I also don't know if this is a good place to post this.
C#:
using System;
namespace Game
{
class Menu
{
static void Main(string[] args)
{
bool loop = true;
string Input;
while (loop == true)
{
Console.Clear();
Console.WriteLine("Colony Simulator");
Console.WriteLine("Start");
Console.WriteLine("End");
Input = Console.ReadLine().ToLower();
if (Input == "start")
{
GamePlay Game = new GamePlay();
Game.Start();
}
if (Input == "end")
{
loop = false;
}
}
}
}
public class GamePlay
{
private int Wood;
private int People;
private int Rock;
private int House;
private int Lumberjack;
private int Mines;
private int Miners;
private int WoodCutters;
private int Farms;
private int Farmers;
private int Food;
private string Input;
public GamePlay()
{
House = Lumberjack = Mines = Miners = WoodCutters = 0;
Wood = Rock = Food = 50;
People = 10;
}
public void Job()
{
int Working;
bool loop = true;
string Input;
while (loop == true)
{
Working = Farmers+Miners+Lumberjack;
Console.Clear();
Console.WriteLine("JOBS:\nFarmers: " + Convert.ToString(Farmers) + "\nMiners: " + Convert.ToString(Miners) + "\nLumberjacks: " + Convert.ToString(Lumberjack));
Console.WriteLine("BACK");
Console.WriteLine("What job do you want to use?");
Input = Console.ReadLine().ToLower();
if (Input == "farmers")
{
Console.Clear();
Console.WriteLine("How many farmers?");
int amount = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Console.WriteLine("Plus or minus?");
Input = Console.ReadLine().ToLower();
if (Input == "plus")
{
if (amount + Farmers <= Farms * 2 && amount <= People - Working)
{
Farmers += amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have enough people or farms\nENTER");
Console.ReadLine();
}
}
if (Input == "minus")
{
if (amount <= Farmers)
{
Farmers -= amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have that much Farmer\nENTER");
Console.ReadLine();
}
}
}
if (Input == "miner" || Input == "miners")
{
Console.Clear();
Console.WriteLine("How many miners?");
int amount = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Console.WriteLine("Plus or minus?");
Input = Console.ReadLine().ToLower();
if (Input == "plus")
{
if (amount + Miners <= Mines * 2 && amount <= People - Working)
{
Miners += amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have enough people or mines\nENTER");
Console.ReadLine();
}
}
if (Input == "minus")
{
if (amount <= Miners)
{
Miners -= amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have that much Miners\nENTER");
Console.ReadLine();
}
}
}
if (Input == "lumberjack")
{
Console.Clear();
Console.WriteLine("How many Lumberjacks?");
int amount = Convert.ToInt32(Console.ReadLine());
Console.Clear();
Console.WriteLine("Plus or minus?");
Input = Console.ReadLine().ToLower();
if (Input == "plus")
{
if (amount + Lumberjack <= WoodCutters * 2 && amount <= People - Working)
{
Lumberjack += amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have enough WoodCutters or people\nENTER");
Console.ReadLine();
}
}
if (Input == "minus")
{
if (amount <= Lumberjack)
{
Lumberjack -= amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have that much Lumberjacks\nENTER");
Console.ReadLine();
}
}
}
if (Input == "back")
{
loop = false;
}
}
}
public void Build()
{
bool loop = true;
string Input;
while (loop == true)
{
Console.Clear();
Console.WriteLine("You Have:\nHouse: " + Convert.ToString(House) + "\nMines: " + Convert.ToString(Mines) + "\nWoodCutters: " + Convert.ToString(WoodCutters));
Console.WriteLine("Farms: " + Convert.ToString(Farms));
Console.WriteLine("What do you want to build?");
Console.WriteLine("House\nMine\nLumberMill\nFarm\n\nBACK");
Input = Console.ReadLine().ToLower();
if (Input == "house")
{
Console.Clear();
Console.WriteLine("House Cost 5 Wood and 5 Rock\nHow many do you want to build?");
int amount = Convert.ToInt32(Console.ReadLine());
if (amount*5 <= Wood && amount*5 <= Rock)
{
Wood -= amount * 5;
Rock -= amount *5;
House += amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have " + Convert.ToString(amount*5)+ " Wood and/or Rock\nENTER");
Console.ReadLine();
}
}
if (Input == "mine" || Input == "mines")
{
Console.Clear();
Console.WriteLine("Mine Cost 10 Rock and 5 Wood\nHow many do you want to build?");
int amount = Convert.ToInt32(Console.ReadLine());
if (amount * 5 <= Wood && amount * 10 <= Rock)
{
Rock -= amount * 10;
Wood -= amount * 5;
Mines += amount;
}
else
{
Console.Clear();
Console.WriteLine("You dont have " + Convert.ToString(amount*5) + " Wood or " + Convert.ToString(amount*10) + " Rock\nENTER");
Console.ReadLine();
}
}
if (Input == "woodcutter")
{
Console.Clear();
Console.WriteLine("WoodCutter Cost 5 Wood and 10 Rock\nHow many do you want to build?");
int amount = Convert.ToInt32(Console.ReadLine());
if (amount * 5 <= Wood && amount * 10 <= Rock)
{
Wood -= amount*5;
Rock -= amount*10;
WoodCutters += amount;
}
else
{
Console.Clear();
Console.WriteLine("You Don't have " + Convert.ToString(amount * 5) + " Wood or " + Convert.ToString(amount*10) + " Rock\nENTER");
Console.ReadLine();
}
}
if (Input == "farm")
{
Console.Clear();
Console.WriteLine("Farm Cost 10 Wood\nHow many do you want to build?");
int amount = Convert.ToInt32(Console.ReadLine());
if (amount*10 <=Wood)
{
Wood -= amount * 10;
Farms += amount;
}
else
{
Console.Clear();
Console.WriteLine("You Dont have " + Convert.ToString(amount * 10) + " Wood\nENTER");
Console.ReadLine();
}
}
if (Input == "back")
{
loop = false;
}
}
}
public void Start()
{
bool loop = true;
while (loop == true)
{
Console.Clear();
Console.WriteLine("Food " + Convert.ToString(Food) + " " + Convert.ToString((Farmers*5)-People*2) + "\nPeople " + Convert.ToString(People) + "\nWood " + Convert.ToString(Wood) + "\nRock " + Convert.ToString(Rock));
Console.WriteLine("CAN DO:");
Console.Write("Next Day\nBuild\nJobs\nQuit");
Input = Console.ReadLine().ToLower();
if (Input == "next" || Input == "next day")
{
Wood += Lumberjack * 2;
Rock += Miners * 2;
Food += Farmers * 5;
Food -= People * 2;
if (Food > 0 && House * 5 > People)
{
People *= 2;
if (People > House * 5)
{
People = House * 5;
}
}
}
if (Input == "build")
{
Build();
}
if (Input == "job")
{
Job();
}
if (Input == "quit")
{
loop = false;
}
if (Food <= 0)
{
Console.Clear();
Console.WriteLine("Your colony starved\nENTER");
Console.ReadLine();
loop = false;
}
}
}
}
}