Lasszo

Azul_Version0.1

Apr 13th, 2020
839
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.34 KB | None | 0 0
  1. using System;
  2.  
  3. namespace Azul_Game
  4. {
  5.  
  6.     public class Game
  7.     {
  8.         public korong[] Korongok;
  9.  
  10.         //  Az ID-k különbő jelő csempéket jelölnek
  11.         // 0-A, 1-B, 2-C, 3-D, 4-E,
  12.         public int[] zsak;
  13.  
  14.         // eldobott csempék
  15.         // ugyan azok a jelölések, mint felül
  16.         public int[] eldobottCsempe;
  17.  
  18.         public void KorongGeneralas(int korongokSzama)
  19.         {
  20.             Korongok = new korong[korongokSzama];
  21.  
  22.             for (int x = 0; x < korongokSzama; x++)
  23.             {
  24.                 Korongok[x].KorongTomb = new char[4];
  25.             }
  26.         }
  27.     }
  28.  
  29.     public struct korong
  30.     {
  31.         public char[] KorongTomb;
  32.     }
  33.  
  34.     public class Player
  35.     {
  36.         public string playerName;
  37.         public int pontszam;
  38.         public Jatektabla tabla;
  39.  
  40.         public Player(string name)
  41.         {
  42.             playerName = name;
  43.             pontszam = 0;
  44.             tabla = new Jatektabla();
  45.         }
  46.     }
  47.  
  48.     public class Jatektabla
  49.     {
  50.         public Padlovonal padlovonal;
  51.         public MintaSorok mintaSorok;
  52.         public Fal fal;
  53.  
  54.         public Jatektabla()
  55.         {
  56.             padlovonal = new Padlovonal();
  57.             mintaSorok = new MintaSorok();
  58.             fal = new Fal();
  59.         }
  60.     }
  61.  
  62.     public class Padlovonal
  63.     {
  64.         public char[] PadlovonalonLevoCsempek;
  65.         public int[] Pontlevonasok;
  66.  
  67.         public Padlovonal()
  68.         {
  69.             PadlovonalonLevoCsempek = new char[7];
  70.  
  71.             Pontlevonasok = new int[7];
  72.  
  73.             #region pontlevonások generálása
  74.             Pontlevonasok[0] = -1;
  75.             Pontlevonasok[1] = -1;
  76.             Pontlevonasok[2] = -2;
  77.             Pontlevonasok[3] = -2;
  78.             Pontlevonasok[4] = -2;
  79.             Pontlevonasok[5] = -3;
  80.             Pontlevonasok[6] = -3;
  81.             #endregion
  82.         }
  83.     }
  84.     public class MintaSorok
  85.     {
  86.         public int[] hossz;
  87.         public char[] CharacterErtek;
  88.  
  89.         public MintaSorok()
  90.         {
  91.             hossz = new int[5];
  92.             CharacterErtek = new char[5];
  93.             for (int x = 0; x < 5; x++)
  94.             {
  95.                 hossz[x] = Convert.ToInt32(x+1);
  96.                 CharacterErtek[x] = '-';
  97.             }
  98.         }
  99.     }
  100.     public class Fal
  101.     {
  102.         public char[,] falMap;
  103.  
  104.         public Fal()
  105.         {
  106.             falMap = new char[5, 5];
  107.  
  108.             for (int y = 0; y < 5; y++)
  109.             {
  110.                 for (int x = 0; x < 5; x++)
  111.                 {
  112.                     falMap[x, y] = '.';
  113.                 }
  114.             }
  115.         }
  116.     }
  117.  
  118.     class Program
  119.     {
  120.         static Player[] Playerek;
  121.         static Game game;
  122.  
  123.  
  124.         static void Main(string[] args)
  125.         {
  126.             game = new Game();
  127.  
  128.  
  129.             int jatekosokSzama = 0;
  130.            
  131.             //Console.Clear();
  132.  
  133.             #region Játékosok számának kiválasztása, korongok legenerálása
  134.             // játékosok számának beállítása
  135.             elorol:;
  136.             Console.WriteLine("Kérem a játékosok számát: ");
  137.             jatekosokSzama = Convert.ToInt32(Console.ReadLine());
  138.  
  139.             Playerek = new Player[jatekosokSzama];
  140.             for (int x = 0; x < jatekosokSzama; x++)
  141.             {
  142.                 Playerek[x] = new Player(Convert.ToInt32(x+1) + ". játékos");
  143.             }
  144.  
  145.         //  Console.Clear();
  146.             Console.WriteLine("A játékosok száma: " + jatekosokSzama);
  147.  
  148.             switch (jatekosokSzama)
  149.             {
  150.                 case 2:
  151.                     game.KorongGeneralas(5);
  152.                     Console.WriteLine("Korongok száma: " + game.Korongok.Length);
  153.                     break;
  154.                 case 3:
  155.                     game.KorongGeneralas(7);
  156.                     Console.WriteLine("Korongok száma: " + game.Korongok.Length);
  157.                     break;
  158.                 case 4:
  159.                     game.KorongGeneralas(9);
  160.                     Console.WriteLine("Korongok száma: " + game.Korongok.Length);
  161.                     break;
  162.                 default:
  163.                     Console.WriteLine("Rossz játékos számot adtál meg! Add meg újra!");
  164.                     goto elorol;
  165.             }
  166.  
  167.             #endregion
  168.  
  169.             Console.WriteLine("Nyomj entert a játék kezdéséhez!");
  170.  
  171.             for (int x = 0; x < jatekosokSzama; x++)
  172.             {
  173.                 Console.WriteLine(Playerek[x].playerName);
  174.             }
  175.  
  176.             Console.ReadKey();
  177.  
  178.             #region zsák legenerálása, eldobott csempék zsákjának legenerálása
  179.  
  180.             game.zsak = new int[5];
  181.             game.eldobottCsempe = new int[5];
  182.             for (int x = 0; x < game.zsak.Length; x++)
  183.             {
  184.                 game.zsak[x] = 20;  // minden típusból 20-20 db a zsákban
  185.             }
  186.  
  187.             #endregion
  188.  
  189.             //Console.Clear();
  190.  
  191.             //korongok megtöltése
  192.  
  193.             string txt = "";
  194.             /*
  195.             for (int x = 0; x < game.Korongok.Length; x++)
  196.             {
  197.                 txt += x + ". Korong: ";
  198.  
  199.                 for (int i = 0; i < game.Korongok[x].KorongTomb.Length; i++)
  200.                 {
  201.                     game.Korongok[x].KorongTomb[i] = ZsakbolCsempeKihuz(game);
  202.                     txt += game.Korongok[x].KorongTomb[i];
  203.                 }
  204.                 txt += "\n";
  205.             }
  206.             */
  207.  
  208.             // játékosok táblájának a kiíratása
  209.             for (int x = 0; x < Playerek.Length; x++)
  210.             {
  211.                 JatekTablaKiiratasa(Playerek[x]);
  212.             }
  213.  
  214.             ez:;
  215.             //Console.Write(txt);
  216.  
  217.             Console.WriteLine();
  218.             Console.WriteLine();
  219.             Console.ReadKey();
  220.             Console.WriteLine();
  221.  
  222.             string szoveg = "";
  223.  
  224.  
  225.            
  226.  
  227.             // masik kiiratas
  228.  
  229.             //=====================
  230.  
  231.             // függvény, ami kezeli a csempék kiválasztását
  232.  
  233.  
  234.             /*
  235.             Console.WriteLine("Honnan szeretnél Kiválasztani csempét?");
  236.             Console.WriteLine("1 - Korongról");
  237.             Console.WriteLine("2 - Asztal közepéről");
  238.             int bekert = Convert.ToInt32(Console.ReadLine());
  239.             if(bekert == 1)
  240.             {
  241.                 Console.WriteLine("Korongról választasz");
  242.             }
  243.             else if(bekert == 2)
  244.             {
  245.                 Console.WriteLine("Asztal közepéről választasz");
  246.             }
  247.             else
  248.             {
  249.                 Console.WriteLine("Rossz lehetőségek, próbáld újra");
  250.                 goto ez;
  251.             }
  252.  
  253.     */
  254.             Console.ReadLine();
  255.         }
  256.  
  257.         static string GetSorString(int hossz, string txt)
  258.         {
  259.             string text = "";
  260.             for (int x = 0; x < hossz; x++)
  261.             {
  262.                 text += txt+"-"+txt;
  263.             }
  264.             return text;
  265.         }
  266.  
  267.         static char ZsakbolCsempeKihuz(Game game)
  268.         {
  269.             Random random = new Random();
  270.             char character = ' ';
  271.             elorolGeneral:;
  272.  
  273.             int RandomNumber = random.Next(0, 5);
  274.  
  275.             if(RandomNumber == 0)
  276.                 character = 'A';
  277.             else if (RandomNumber == 1)
  278.                 character = 'B';
  279.             else if (RandomNumber == 2)
  280.                 character = 'C';
  281.             else if (RandomNumber == 3)
  282.                 character = 'D';
  283.             else if (RandomNumber == 4)
  284.                 character = 'E';
  285.  
  286.             return character;
  287.         }
  288.  
  289.         static void JatekTablaKiiratasa(Player jelenlegi)
  290.         {
  291.             Console.WriteLine(jelenlegi.playerName + " táblája: ");
  292.             string sorKiiratasTXT = "";
  293.             for (int y = 0; y < jelenlegi.tabla.fal.falMap.GetLength(1); y++)
  294.             {
  295.                 sorKiiratasTXT = "";
  296.                 for (int x = 0; x < jelenlegi.tabla.fal.falMap.GetLength(0); x++)
  297.                 {
  298.                     if (y == 0 && x == 0)
  299.                     {
  300.                         string fejlec = "";
  301.                         for (int a = 0; a < jelenlegi.tabla.fal.falMap.GetLength(0); a++)
  302.                         {
  303.                             fejlec += " " + Convert.ToInt32(a + 1) + " ";
  304.                         }
  305.                         Console.WriteLine(fejlec + "    Pontok: " + 0);
  306.                     }
  307.  
  308.  
  309.                     sorKiiratasTXT += " " + jelenlegi.tabla.fal.falMap[x, y] + " ";
  310.                 }
  311.                 sorKiiratasTXT += " " + Convert.ToInt32(y + 1) + "  " + GetSorString(Playerek[0].tabla.mintaSorok.hossz[y], "");
  312.  
  313.                 Console.WriteLine(sorKiiratasTXT);
  314.             }
  315.  
  316.             // padlóvonal kiíratása
  317.             Console.WriteLine();
  318.             Console.WriteLine(GetSorString(jelenlegi.tabla.padlovonal.PadlovonalonLevoCsempek.GetLength(0), " ") + " ");
  319.  
  320.             sorKiiratasTXT = "";
  321.             for (int x = 0; x < jelenlegi.tabla.padlovonal.Pontlevonasok.GetLength(0); x++)
  322.             {
  323.                 sorKiiratasTXT += jelenlegi.tabla.padlovonal.Pontlevonasok[x] + " ";
  324.             }
  325.  
  326.             Console.WriteLine(sorKiiratasTXT);
  327.             Console.WriteLine();
  328.             Console.WriteLine();
  329.             Console.WriteLine();
  330.         }
  331.  
  332.         static void CsempeKivalasztasa(Game game, Player player)
  333.         {
  334.             // Bekérni a korong sorszámát, ha a sorszám 0, akkor az asztal közepétől válasszon
  335.                 // ha az asztal közepe üres, akkor az adatokat újra bekérni
  336.             // ha a szám 1-től 5/7/9 közé esik, akkor az adott korongot válassza ki
  337.                 // megvizsgálni, hogy melyik korong nem üres
  338.                     // ha üres korongot választ, akkor újra bekérni a korong sorszámát
  339.                 // ha túl nagy, vagy nem létező korongot ad meg, akkor újra bekérni a korong sorszámát
  340.  
  341.             //Ha kiválasztotta az asztal közepét, vagy a korongot, akkor bekérni tőle, hogy milyen színt szeretne választani
  342.             //helytelen, nem létező színválasztás esetén az adatokat újra bekérni
  343.  
  344.             // ha kiválasztott egy jó színt, akkor vegye el az összes csempét az adott korongról, vagy középről
  345.                 // ha középről veszi el, akkor a kezdőjátékos jelzőt is vegye el, ha ott van...
  346.                     // ha nincs ott, akkor nem
  347.  
  348.             // ha minden megfelelő, akkor bekérni a mintasor sorszámát, ahova tenni szeretné a játékos a csempéket
  349.             // ha a sorszám 0, akkor az összes csempét a partvonalra kell rakni
  350.  
  351.            
  352.         }
  353.  
  354.     }
  355.  
  356.  
  357.  
  358.     static class Kiszamolas
  359.     {
  360.         public static int RandomGeneral()
  361.         {
  362.             Random random = new Random();
  363.             int generaltErtek = random.Next(0, 5);
  364.             return generaltErtek;
  365.         }
  366.     }
  367.  
  368. }
Advertisement
Add Comment
Please, Sign In to add comment