@MapKyuJa

Нужен совет по PascalABC.NET?

Хочу написать покер на паскале.
Суть вопроса в том что я хочу сделать так ,чтобы после раздачи у меня автоматом выскакивало сообщение в котором написана моя комбинация карт. Есть идея как это можно сделать, создать несколько массивов в которых записано комбинация (первое будет стрит так как грубо говоря она относительно основная комбинация(стрит , стрит флеш, флеш рояль) )так вот всего существует 9 все возможных стритов (5 карт подряд) то есть 9 массивов и теперь я подставляю в еще 1 массив 5 карт со стола и 2 своих после этого начинаю сравнивать все массивы. В этом заключается моя идея.

Но мне кажется можно сделать чуток проще используя двумерный массив , то бишь сравнивая строки с моим массивом.

И заодно можно спросить я сделал часть кода и хочу узнать как он выглядит с точки зрения про айтишника то есть аккуратен ли он(Я сам школяр 9 класс Паскаль начал учить относительно недавно)

//Покер\\
uses crt;
var

      urpok1: array [1..2] of string ;
      urpok2: array [1..2] of string ;
      urpok3: array [1..2] of string ;
      urpok4: array [1..2] of string ;
      koloda: Array [1..52] Of string = ('2♣','3♣','4♣','5♣','6♣','7♣','8♣','9♣','10♣','J♣','Q♣','K♣','A♣','2♠','3♠','4♠','5♠','6♠','7♠','8♠','9♠','10♠','J♠','Q♠','K♠','A♠','2♦','3♦','4♦','5♦','6♦','7♦','8♦','9♦','10♦','J♦','Q♦','K♦','A♦','2♥','3♥','4♥','5♥','6♥','7♥','8♥','9♥','10♥','J♥','Q♥','K♥','A♥');
                                  //Переменный для тосовки\\
                                  Tocovka,Tosovka1:integer;
                                  //Переменный для раздачи\\
                                  a,a1:integer;
   
begin  
//write('Колода',koloda);
                                  //Тосовка колоды\\  
                                  randomize;
                                  for Tocovka:=0 to 51 do 
                                  begin
                                  Tosovka1:=random(52-Tocovka)+1;
                                  swap(koloda[Tosovka1],koloda[52-Tocovka]);
                                  end;
                                  
                                  //Раздача карт\\  
                                  a1:=0;
                                  for a:=1 to 2 do begin
                                  
                                  urpok1[a]:=koloda[52-a1];
                                  a1:=a1+1;
                                  urpok2[a]:=koloda[52-a1];
                                  a1:=a1+1;                                  
                                  urpok3[a]:=koloda[52-a1];
                                  a1:=a1+1;
                                  urpok4[a]:=koloda[52-a1];                                 
                                  a1:=a1+1;
                                  end;
                                  writeln('Моя рука ',urpok1);
  
  
  
                                  //Стол\\
                                  writeln('Стол');
                                  writeln(koloda[44],'  ',koloda[43],'  ',koloda[42]);  
                                 
  
  
  
writeln;

writeln('Рука второго ',urpok2);
writeln('Рука третьего',urpok3);
writeln('Рука четвертого',urpok4);
writeln;
writeln;
writeln;
writeln;
write('вся колода после перемешки ',koloda);
writeln;


end.


И да я знаю что пискаль для игр не совсем подходит пишу для себя думал мол лучше пойму язык а оказалось что достаточно просто за исключением комбинаций ( как мне кажется )
  • Вопрос задан
  • 310 просмотров
Пригласить эксперта
Ответы на вопрос 1
AnnTHony
@AnnTHony
Интроверт
Правил покера к сожалению не знаю.
Но вместо массива для колоды использовал бы очередь:
koloda: Queue<string>;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы