Заказать Сервер Заказать Плагин Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Плагин на решение уравнения
Плагин на решение уравнения
VisRex Дата: Среда, 04.07.2018, 14:28:51 | Сообщение # 1
Сообщений: 5
Репутация: 0 [ +/- ]
Здравствуйте. Делаю плагин для JB мода на решение примера. Суть заключается в том, что плагин сам решает уравнение, написанное Саймоном и выделяет первого зека, ответившего правильно.
Код

#include <sourcemod>

public OnPluginStart()
{
  AddCommandListener(Urav, "say");
}

public Action:Urav(client, const String:Command[], argc)
{
  decl String:text[192];
  decl String:buf[6][10];
  GetCmdArgString(text, sizeof(text) - 1 );
  StripQuotes(text);
  TrimString(text);
  new String:str2[192];
  str2=text;
  int ZeroExp;
  new String:Decim[]={"+","-","*","/"};
  for (new i=0; i<strlen(Decim);i++)
  {
   ZeroExp = ZeroExp + ExplodeString(text,Decim[i],buf,6,10);
   TrimString(buf[i]);
  }
  for (new i=0; i<ZeroExp;i++)
  {
   new x = StrContains(str2,text[i],false);
   x = x+strlen(buf[i])+1;
   new Znak = str2[x];
  }
  return Plugin_Handled;  
}

Данный код пока что не окончательный. Он делит уравнение по знакам на массив чисел для дальнейшей обработки. Переменная Znak определяет знак (умножить, делить, сложить, вычесть). Дальше я уже не знаю как лучше сделать. В плане лишь найти знак умножить или делить, потом сложить, вычесть (по приоритету), а далее найти 2 числа, стоящих между знаком и провести вычисление. Вот дальше я уже и запутался. Записывать ли полученный результат в новый массив для дальнейших вычислений или как?
 
_wS_ Дата: Четверг, 05.07.2018, 02:02:52 | Сообщение # 2
Начал делать свой простой вариант без скобок и только с целыми числами и бросил, т.к. такое уже делали:
https://forums.alliedmods.net/showthread.php?p=1271762
 
Форум » SourceMod - Counter Strike Source && CS GO » Обсуждение » Плагин на решение уравнения
  • Страница 1 из 1
  • 1
Поиск: