Q:

While (true) problems, what did i do wrong? 

Why when I type "gamble" the first time, only the if statement works?  It's no use typing anything else, it still adds 10 woods.  And why when I type anything else the first time, just the else statement works?  It is no use typing "gamble,  will continue saying " Write '' gamble '' to hit the tree. "  PS: The variable its int = woods; and string gamble;
Console. WriteLine("You have {0} woods", woods);
Console. WriteLine("Write ''gamble'' to hit the tree");
gamble = Console. ReadLine();
bool loop = true;

while (loop)
{
    if (gamble. Contains("gamble"))
    {
        woods = woods + 10;
        Console. Clear();
    }
    else
    {
        Console. WriteLine("Write ''gamble'' to hit the tree");
    }

    Console. WriteLine("You have {0} woods", woods);
    Console. ReadLine();
}                      

A:

    gamble = Console. ReadLine();

You only set gamble in the beginning.  In the loop it is never changed.  So it keeps using the first value over and over again. 
Add gamble = to the last line of the loop.