Informatika gyűjtemény

Egy szinttel feljebb 6. óra - Karaktergrafika / 2. rész

2004050607080910

NézetNyomtat

6. óra - Karaktergrafika / 2. rész

Eljárások és paraméterek

Kutya megy a házikóba

using System;

namespace Haz
{
    class Program
    {
        
        /// <summary>
        /// Házrajzolás forciklussal. x és y alapkoodrdinátákkal
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        public static void House(int x, int y) {
            int i;
            
            Console.ForegroundColor = ConsoleColor.DarkYellow;
            for (= 0; i < 10; i++) {
                Console.SetCursorPosition(i+x, 10+y);
                Console.Write("-");
                Console.SetCursorPosition(i+x, 19+y);
                Console.Write("-");
            }
            for (= 0; i < 10; i++) {
                Console.SetCursorPosition(0+x, i+10+y);
                Console.Write("|");
                Console.SetCursorPosition(10+x, i+10+y);
                Console.Write("|");
            }
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            for (= 0; i < 5; i++) {
                Console.SetCursorPosition(i+x, 10-i+y);
                Console.Write("/");
            }
            Console.SetCursorPosition(5+x, 6+y);
            Console.Write('=');
            for (= 0; i < 5; i++) {
                Console.SetCursorPosition(i+6+x, 6+i+y);
                Console.Write("\\");
            }
        }
        
        /// <summary>
        /// Házrajzolás forciklus nélkül x és y alapkoordinátákkal.
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        public static void EasyHouse(int x, int y) {
            int i;
            
            Console.ForegroundColor = ConsoleColor.DarkYellow;
            Console.SetCursorPosition(x, y+6);
            Console.Write("    /=\\");
            Console.SetCursorPosition(x, y+7);
            Console.Write("   /   \\");
            Console.SetCursorPosition(x, y+8);
            Console.Write("  /     \\");
            Console.SetCursorPosition(x, y+9);
            Console.Write(" /       \\");
            Console.SetCursorPosition(x, y+10);
            Console.Write("/---------\\");
            Console.SetCursorPosition(x, y+11);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+12);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+13);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+14);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+15);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+16);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+17);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+18);
            Console.Write("|         |");
            Console.SetCursorPosition(x, y+19);
            Console.Write("|---------|");
        }       
        
        /// <summary>
        /// Kutyarajzolás x és y koordinátákkal.
        /// </summary>
        /// <param name="x"></param>
        /// <param name="y"></param>
        /// <param name="tail">Ez csak extra, nem biztos, hogy lesz.</param>
        public static void Dog(int x, int y, string tail) {
            Console.ForegroundColor  = ConsoleColor.Red;
            Console.SetCursorPosition(x  , y);
            Console.Write("O____"+tail);
            Console.SetCursorPosition(x, y+1);
            Console.Write(" /  \\");
        }
        
        public static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            
            int y = 0; //OPCIONÁLIS
            int i;
            
            //kutya bemegy a házba forciklus
            for (= 0; i < 18; i++) {
                Console.Clear();
        
                House(0, 0);
                Dog(20-, 15+y, "/");

                //Console.ReadKey(true);
                //OPCIONÁLIS:
                char ch = Console.ReadKey(true).KeyChar;
                if (ch == 'a') y++;
                if (ch == 'q') y--;             
                
            }
            
            //kutya csóválja a farkát. OPCIONÁLIS
            for (= 0; i < 7; i++) {
                Console.Clear();
                House(0, 0);
                if (% 2 == 0) {
                    Dog(20-17 , 15+y, "\\");
                } else {
                    Dog(20-17 , 15+y, "/");
                }
                Console.ReadKey(true);
            }
            Console.WriteLine("The END");
            
            Console.ReadKey(true);
        }
    }
}