Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Strelok

Como criar páginas só para funções

Recommended Posts

Bem, estou aprendendo C#, e para isso, estou criando um joguinho.

Tô utilizando:

Microsoft Visual C# 2008.

 

Bem, até agora já fiz isso:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Declaração de Variáveis
            string nome;
            string genero;
            int escolha = 0;
            int genero1 = 0;

            // Escolha do Nome do personagem
            Console.WriteLine("Este é o Joguinho de Aventura PERDIDOS.");
            Console.WriteLine("Então... Você estava indo para a casa da sua sogra buscar sua mulher, quando por sorte seu avião cai.");
            Console.WriteLine("Agora você está em uma ilha aventureiro... Aliás, qual é o seu nome mesmo?");
            nome = (Console.ReadLine());
            Console.WriteLine("Hum... " + nome + " um bom nome.");

            // Aqui será perguntado o Genero do personagem
            while (genero1 == 0 || genero1 > 2)
            {
                Console.WriteLine("Desculpa perguntar, mas é que estou sem óculos. \n Qual o seu gênero mesmo? \n 1- Homen \n 2- Mulher");
                genero1 = Convert.ToInt32(Console.ReadLine());
                if (genero1 == 1)
                {
                    genero = "Homen";
                    Praia10(); //Chama a Função Praia10, que viria a ser o começo do jogo.
                }
                if (genero1 == 2)
                {
                    genero = "Mulher"; //Chama a Função Praia10, que viria a ser o começo do jogo.
                }
                if (genero1 != 1 & genero1 != 2)
                {
                    Console.WriteLine("Hum... Desculpa, eu não entendi.");
                }
            }  
        }
    }
}

Até ai o código pega o nome e o gênero do jogador. O próximo passo é começar a movimentação, já tenho a base de como vou fazer.

Vou utilizar uma função por mapa, e cada movimentação vai chamar uma função diferente, iniciando outro mapa.

 

Só que não sei como criar um documento de código só pra uma função, ou pra um conjunto de funções. EX.: Floresta1, Floresta2, Floresta3...

 

Estou criando no modo console pôs o jogo será todo Textbased.

 

Alguma dica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, mas onde entraria a Classe, e como ela funcionaria?

Eu tenho em mente algo assim:

 

[Em pseudolinguagem]

Função PraiaInicio1();
{
	escolha = 0;
	Enquanto ( escolha for igual a 0 ou maior que 3 );
	{
		Escrever "Hum... Então " + genero + nome + " nós temos de sair da praia e encontrar um meio de sobreviver. /n Como estou cego, vou seguir você.";
		Escrever "Você está na Praia, o que você deseja fazer? /n 1 - Entrar na Floresta /n 2 - Ir para o outro lado da Praia /n 3 - Observar o ambiente a sua volta";
		Ler escolha;
		Se ( escolha for igual a 1 );
		{
			Floresta10(); // Floresta 1.0
		}
		Se ( escolha for igual a 2 );
		{
			LadoPraia3();
		}
		Se ( escolha for igual a 3 );
		{
			Escrever "Você está em uma praia, há destroços do avião por toda a parte, pessoas vagando, procurando por objetos e por outras pessoas, /n por sorte você não sofreu nenhum arranhão.";
		}
	}
}

Bem, funcionaria assim, todo mapa teria sua própria função que seria chamada de acordo com a opção de movimentação do personagem.

Como eu poderia fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem, eu fiz isso aqui:

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            // Declaração de Variáveis
            string nome;
            string genero;
            int escolha = 0;
            int genero1 = 0;
 
            // Escolha do Nome do personagem
            Console.WriteLine("Este é o Joguinho de Aventura PERDIDOS.");
            Console.WriteLine("Então... Você estava indo para a casa da sua sogra buscar sua mulher, quando por sorte seu avião cai.");
            Console.WriteLine("Agora você está em uma ilha aventureiro... Aliás, qual é o seu nome mesmo?");
            nome = (Console.ReadLine());
            Console.WriteLine("Hum... " + nome + " um bom nome.");

            // Aqui será perguntado o Genero do personagem
            while (genero1 == 0 || genero1 > 2)
            {
                Console.WriteLine("Desculpa perguntar, mas é que estou sem óculos. \n Qual o seu gênero mesmo? \n 1- Homen \n 2- Mulher");
                genero1 = Convert.ToInt32(Console.ReadLine());
                if (genero1 == 1)
                {
                    genero = "Homen";
                    Praia10();
                }
                if (genero1 == 2)
                {
                    genero = "Mulher";
                }
                if (genero1 != 1 & genero1 != 2)
                {
                    Console.WriteLine("Hum... Desculpa, eu não entendi.");
                }
            }
        }

        public static void Praia10()
        {
            throw new NotImplementedException();
            {
                int escolha;
                escolha = 0;
                while (escolha == 0 & escolha > 3)
                {
                    Console.WriteLine("Hum... Então " + genero + nome + " nós temos de sair da praia e encontrar um meio de sobreviver. /n Como estou cego, vou seguir você.");
                    Console.WriteLine("Você está na Praia, o que você deseja fazer? /n 1 - Entrar na Floresta /n 2 - Ir para o outro lado da Praia /n 3 - Observar o ambiente a sua volta");
                    escolha = Convert.ToInt32(Console.ReadLine());
                    if (escolha == 1)
                    {
                        Floresta10();
                    }
                    if (escolha == 2)
                    {
                        Praia11();
                    }
                }
            }
        }

    }
}

Acho que criei outra função chamada Praia10(), só que eu não consigo fazer as variáveis utilizadas na função Main funcionarem em Praia10(). Em Praia10() aparece como se as variáveis não existissem. Adoraria alguma ajuda.

Eu tô me baseando em um Guia de Consulta Rápida em C# da Novatec que eu comprei, e não tô conseguindo encontrar uma resposta pra isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ainda acho que precisa ler um pouco de teoria na internet, o site do macoratti é muito bom.

Você possui dois métodos nessa classe. Sua variáveis declaradas dentro de um método não são acessíveis dentro de outro método.

Você tem duas alternativas, a primeira criar parâmetro de entrada no seu segundo método para ele receber os valores das variáveis do primeiro método, e a outra alternativa é declarar essas variáveis no escopo da classe, fora do seu método, ae elas estarão acessíveis em toda a classe.

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.