using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Base
{
public interface CaptchaGlitch
{
///
/// The chance of the Glitch being called, must be bewteen 0 and 1. Set this to zero if it should not be called (select based on currentLevel)
///
double chance { get; }
///
/// The current level, intended for modifying the intensity of the Glitch
///
int currentLevel { get; set; }
///
/// If set to true this will always try to execute the glitch (check the chance)
///
bool postGlitch { get; }
///
/// Called with the selected chance after the player inputs a char to the Captcha-box
///
/// The character the player typed
/// The string to be added to the Captcha-box, modified by previous CaptchaGlitch instances
/// The characters which can be added to the CaptchaBox
/// Random Number Generator shared between instances
void apply(char inputChar, ref string inputString, char[] captchaChars, Random rnd);
}
}