Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- namespace Azul_Game
- {
- public class Game
- {
- public korong[] Korongok;
- // Az ID-k különbő jelő csempéket jelölnek
- // 0-A, 1-B, 2-C, 3-D, 4-E,
- public int[] zsak;
- // eldobott csempék
- // ugyan azok a jelölések, mint felül
- public int[] eldobottCsempe;
- public void KorongGeneralas(int korongokSzama)
- {
- Korongok = new korong[korongokSzama];
- for (int x = 0; x < korongokSzama; x++)
- {
- Korongok[x].KorongTomb = new char[4];
- }
- }
- }
- public struct korong
- {
- public char[] KorongTomb;
- }
- public class Player
- {
- public string playerName;
- public int pontszam;
- public Jatektabla tabla;
- public Player(string name)
- {
- playerName = name;
- pontszam = 0;
- tabla = new Jatektabla();
- }
- }
- public class Jatektabla
- {
- public Padlovonal padlovonal;
- public MintaSorok mintaSorok;
- public Fal fal;
- public Jatektabla()
- {
- padlovonal = new Padlovonal();
- mintaSorok = new MintaSorok();
- fal = new Fal();
- }
- }
- public class Padlovonal
- {
- public char[] PadlovonalonLevoCsempek;
- public int[] Pontlevonasok;
- public Padlovonal()
- {
- PadlovonalonLevoCsempek = new char[7];
- Pontlevonasok = new int[7];
- #region pontlevonások generálása
- Pontlevonasok[0] = -1;
- Pontlevonasok[1] = -1;
- Pontlevonasok[2] = -2;
- Pontlevonasok[3] = -2;
- Pontlevonasok[4] = -2;
- Pontlevonasok[5] = -3;
- Pontlevonasok[6] = -3;
- #endregion
- }
- }
- public class MintaSorok
- {
- public int[] hossz;
- public char[] CharacterErtek;
- public MintaSorok()
- {
- hossz = new int[5];
- CharacterErtek = new char[5];
- for (int x = 0; x < 5; x++)
- {
- hossz[x] = Convert.ToInt32(x+1);
- CharacterErtek[x] = '-';
- }
- }
- }
- public class Fal
- {
- public char[,] falMap;
- public Fal()
- {
- falMap = new char[5, 5];
- for (int y = 0; y < 5; y++)
- {
- for (int x = 0; x < 5; x++)
- {
- falMap[x, y] = '.';
- }
- }
- }
- }
- class Program
- {
- static Player[] Playerek;
- static Game game;
- static void Main(string[] args)
- {
- game = new Game();
- int jatekosokSzama = 0;
- //Console.Clear();
- #region Játékosok számának kiválasztása, korongok legenerálása
- // játékosok számának beállítása
- elorol:;
- Console.WriteLine("Kérem a játékosok számát: ");
- jatekosokSzama = Convert.ToInt32(Console.ReadLine());
- Playerek = new Player[jatekosokSzama];
- for (int x = 0; x < jatekosokSzama; x++)
- {
- Playerek[x] = new Player(Convert.ToInt32(x+1) + ". játékos");
- }
- // Console.Clear();
- Console.WriteLine("A játékosok száma: " + jatekosokSzama);
- switch (jatekosokSzama)
- {
- case 2:
- game.KorongGeneralas(5);
- Console.WriteLine("Korongok száma: " + game.Korongok.Length);
- break;
- case 3:
- game.KorongGeneralas(7);
- Console.WriteLine("Korongok száma: " + game.Korongok.Length);
- break;
- case 4:
- game.KorongGeneralas(9);
- Console.WriteLine("Korongok száma: " + game.Korongok.Length);
- break;
- default:
- Console.WriteLine("Rossz játékos számot adtál meg! Add meg újra!");
- goto elorol;
- }
- #endregion
- Console.WriteLine("Nyomj entert a játék kezdéséhez!");
- for (int x = 0; x < jatekosokSzama; x++)
- {
- Console.WriteLine(Playerek[x].playerName);
- }
- Console.ReadKey();
- #region zsák legenerálása, eldobott csempék zsákjának legenerálása
- game.zsak = new int[5];
- game.eldobottCsempe = new int[5];
- for (int x = 0; x < game.zsak.Length; x++)
- {
- game.zsak[x] = 20; // minden típusból 20-20 db a zsákban
- }
- #endregion
- //Console.Clear();
- //korongok megtöltése
- string txt = "";
- /*
- for (int x = 0; x < game.Korongok.Length; x++)
- {
- txt += x + ". Korong: ";
- for (int i = 0; i < game.Korongok[x].KorongTomb.Length; i++)
- {
- game.Korongok[x].KorongTomb[i] = ZsakbolCsempeKihuz(game);
- txt += game.Korongok[x].KorongTomb[i];
- }
- txt += "\n";
- }
- */
- // játékosok táblájának a kiíratása
- for (int x = 0; x < Playerek.Length; x++)
- {
- JatekTablaKiiratasa(Playerek[x]);
- }
- ez:;
- //Console.Write(txt);
- Console.WriteLine();
- Console.WriteLine();
- Console.ReadKey();
- Console.WriteLine();
- string szoveg = "";
- // masik kiiratas
- //=====================
- // függvény, ami kezeli a csempék kiválasztását
- /*
- Console.WriteLine("Honnan szeretnél Kiválasztani csempét?");
- Console.WriteLine("1 - Korongról");
- Console.WriteLine("2 - Asztal közepéről");
- int bekert = Convert.ToInt32(Console.ReadLine());
- if(bekert == 1)
- {
- Console.WriteLine("Korongról választasz");
- }
- else if(bekert == 2)
- {
- Console.WriteLine("Asztal közepéről választasz");
- }
- else
- {
- Console.WriteLine("Rossz lehetőségek, próbáld újra");
- goto ez;
- }
- */
- Console.ReadLine();
- }
- static string GetSorString(int hossz, string txt)
- {
- string text = "";
- for (int x = 0; x < hossz; x++)
- {
- text += txt+"-"+txt;
- }
- return text;
- }
- static char ZsakbolCsempeKihuz(Game game)
- {
- Random random = new Random();
- char character = ' ';
- elorolGeneral:;
- int RandomNumber = random.Next(0, 5);
- if(RandomNumber == 0)
- character = 'A';
- else if (RandomNumber == 1)
- character = 'B';
- else if (RandomNumber == 2)
- character = 'C';
- else if (RandomNumber == 3)
- character = 'D';
- else if (RandomNumber == 4)
- character = 'E';
- return character;
- }
- static void JatekTablaKiiratasa(Player jelenlegi)
- {
- Console.WriteLine(jelenlegi.playerName + " táblája: ");
- string sorKiiratasTXT = "";
- for (int y = 0; y < jelenlegi.tabla.fal.falMap.GetLength(1); y++)
- {
- sorKiiratasTXT = "";
- for (int x = 0; x < jelenlegi.tabla.fal.falMap.GetLength(0); x++)
- {
- if (y == 0 && x == 0)
- {
- string fejlec = "";
- for (int a = 0; a < jelenlegi.tabla.fal.falMap.GetLength(0); a++)
- {
- fejlec += " " + Convert.ToInt32(a + 1) + " ";
- }
- Console.WriteLine(fejlec + " Pontok: " + 0);
- }
- sorKiiratasTXT += " " + jelenlegi.tabla.fal.falMap[x, y] + " ";
- }
- sorKiiratasTXT += " " + Convert.ToInt32(y + 1) + " " + GetSorString(Playerek[0].tabla.mintaSorok.hossz[y], "");
- Console.WriteLine(sorKiiratasTXT);
- }
- // padlóvonal kiíratása
- Console.WriteLine();
- Console.WriteLine(GetSorString(jelenlegi.tabla.padlovonal.PadlovonalonLevoCsempek.GetLength(0), " ") + " ");
- sorKiiratasTXT = "";
- for (int x = 0; x < jelenlegi.tabla.padlovonal.Pontlevonasok.GetLength(0); x++)
- {
- sorKiiratasTXT += jelenlegi.tabla.padlovonal.Pontlevonasok[x] + " ";
- }
- Console.WriteLine(sorKiiratasTXT);
- Console.WriteLine();
- Console.WriteLine();
- Console.WriteLine();
- }
- static void CsempeKivalasztasa(Game game, Player player)
- {
- // Bekérni a korong sorszámát, ha a sorszám 0, akkor az asztal közepétől válasszon
- // ha az asztal közepe üres, akkor az adatokat újra bekérni
- // ha a szám 1-től 5/7/9 közé esik, akkor az adott korongot válassza ki
- // megvizsgálni, hogy melyik korong nem üres
- // ha üres korongot választ, akkor újra bekérni a korong sorszámát
- // ha túl nagy, vagy nem létező korongot ad meg, akkor újra bekérni a korong sorszámát
- //Ha kiválasztotta az asztal közepét, vagy a korongot, akkor bekérni tőle, hogy milyen színt szeretne választani
- //helytelen, nem létező színválasztás esetén az adatokat újra bekérni
- // ha kiválasztott egy jó színt, akkor vegye el az összes csempét az adott korongról, vagy középről
- // ha középről veszi el, akkor a kezdőjátékos jelzőt is vegye el, ha ott van...
- // ha nincs ott, akkor nem
- // ha minden megfelelő, akkor bekérni a mintasor sorszámát, ahova tenni szeretné a játékos a csempéket
- // ha a sorszám 0, akkor az összes csempét a partvonalra kell rakni
- }
- }
- static class Kiszamolas
- {
- public static int RandomGeneral()
- {
- Random random = new Random();
- int generaltErtek = random.Next(0, 5);
- return generaltErtek;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment