public Table(int id, int size, AbstractStrategy strategy, AbstractOutput output) { this.Id = id; this.Size = size; this.Seats = new List <AbstractSeat>(); this.Board = new List <Card>(); this.Board.Clear(); AbstractSeat prevSeat = new EmptySeat(this, null, null); for (int i = 1; i < this.Size; i++) { this.Seats.Add(prevSeat); prevSeat = new EmptySeat(this, null, prevSeat); } this.Seats.Add(prevSeat); this.Seats[0].Right = prevSeat; while (prevSeat.Right.Left == null) { prevSeat.Right.Left = prevSeat; prevSeat = prevSeat.Right; } this.SitIn(0, new ArtificialPlayer(strategy, output)); }
public SiglaStamper ( [NotNull] string connectionString, [NotNull] AbstractOutput output ) { Output = output; IrbisConnection connection = new IrbisConnection(connectionString); Connection = connection; }
/// <summary> /// Dump the array of data to <see cref="AbstractOutput"/>. /// </summary> public static void DumpToOutput <T> ( [NotNull] AbstractOutput output, [NotNull] T[] data ) where T : struct { Code.NotNull(output, "output"); Code.NotNull(data, "data"); string text = DumpToText(data); output.WriteLine(text); }
/// <summary> /// Constructor. /// </summary> public DataflowBatchReader ( [NotNull] IrbisConnection connection, [NotNull] string database, [NotNull] AbstractOutput log ) { Code.NotNull(connection, "connection"); Code.NotNullNorEmpty(database, "database"); Code.NotNull(log, "log"); Connection = connection; Database = database; Log = log; Readers = new BlockingCollection <ReaderInfo>(); Debtors = new BlockingCollection <DebtorInfo>(); }
/// <summary> /// Initialize. /// </summary> public static void Initialize ( [CanBeNull] AbstractOutput output ) { Output = output; Configuration = JObject.Parse ( File.ReadAllText("osmi.json") ); ConnectionString = CM.AppSettings["connectionString"]; string baseUri = CM.AppSettings["baseUri"]; string apiId = CM.AppSettings["apiID"]; string apiKey = CM.AppSettings["apiKey"]; // try // { Client = new OsmiCardsClient ( baseUri, apiId, apiKey ); TemplateName = CM.AppSettings["template"]; WriteLine("Reading OSMI template: {0}", TemplateName); Template = Client.GetTemplateInfo(TemplateName); // } // catch (Exception inner) // { // Encoding encoding = Encoding.UTF8; // ArsMagnaException outer = new ArsMagnaException("OSMI error", inner); // outer.Attach(new BinaryAttachment("baseUri", encoding.GetBytes(baseUri))); // outer.Attach(new BinaryAttachment("apiId", encoding.GetBytes(apiId))); // outer.Attach(new BinaryAttachment("apiKey", encoding.GetBytes(apiKey))); // // throw outer; // } }
/// <summary> /// Конструктор. /// </summary> public RecordExtractor ( ManagedClient64 client, AbstractOutput output ) { if (ReferenceEquals(client, null)) { throw new ArgumentNullException("client"); } if (ReferenceEquals(output, null)) { output = AbstractOutput.Null; } ReadRecords = false; _client = client; _output = output; }
public DataAccessLevel ( AbstractOutput output ) { if (ReferenceEquals(output, null)) { throw new ArgumentNullException("output"); } Output = output; string sqlConnectionString = CM.AppSettings["sql-connection-string"]; Db = new DbManager ( new Sql2008DataProvider(), sqlConnectionString ); Output.WriteLine ( "Подключились к SQL-серверу" ); string irbisConnectionString = CM.AppSettings["irbis-connection-string"]; Client = new IrbisConnection(); Client.ParseConnectionString(irbisConnectionString); Client.Connect(); Output.WriteLine("Подключились к ИРБИС-серверу"); _timer = new Timer { Enabled = true, Interval = 60 * 1000 }; _timer.Tick += _timer_Tick; }
static void Main(string[] args) { if (args.Length != 2) { Console.WriteLine("SIGLER <sigla.txt> <connectionString>"); return; } string fileName = args[0]; string connectionString = args[1]; AbstractOutput output = AbstractOutput.Console; using (SiglaStamper stamper = new SiglaStamper ( connectionString, output )) { stamper.ProcessFile(fileName); } }
static void Main(string[] args) { if (args.Length != 2) { return; } string rootPath = args[0]; string formatName = args[1]; try { using (LocalProvider provider = new LocalProvider(rootPath)) { FileSpecification specification = new FileSpecification ( IrbisPath.MasterFile, provider.Database, formatName ); string source = provider.ReadFile(specification); if (string.IsNullOrEmpty(source)) { Console.WriteLine("No file: {0}", formatName); } else { PftContext context = new PftContext(null); context.SetProvider(provider); PftFormatter formatter = new PftFormatter(context); formatter.ParseProgram(source); PftProgram program = (PftProgram)formatter.Program.Clone(); program.Optimize(); //Console.WriteLine(program.DumpToText()); //Console.WriteLine(); if (!Directory.Exists("Out")) { Directory.CreateDirectory("Out"); } PftCompiler compiler = new PftCompiler { Debug = true, KeepSource = true, //OutputPath = "Out" OutputPath = "." }; compiler.SetProvider(provider); string className = compiler.CompileProgram ( program ); //string sourceCode = compiler.GetSourceCode(); //Console.WriteLine(sourceCode); AbstractOutput output = AbstractOutput.Console; string assemblyPath = compiler.CompileToDll ( output, className ); if (!ReferenceEquals(assemblyPath, null)) { Console.WriteLine ( "Compiled to {0}", assemblyPath ); MarcRecord record = provider.ReadRecord(1); //if (!ReferenceEquals(record, null)) //{ // Assembly assembly // = Assembly.LoadFile(assemblyPath); // Func<PftContext, PftPacket> creator // = CompilerUtility.GetEntryPoint(assembly); // PftPacket packet = creator(context); // string formatted = packet.Execute(record); // Console.WriteLine(formatted); // Stopwatch stopwatch = new Stopwatch(); // stopwatch.Start(); // for (int i = 0; i < 100000; i++) // { // if (i % 1000 == 0) // { // Console.WriteLine(i); // } // packet.Execute(record); // } // stopwatch.Stop(); // Console.WriteLine(stopwatch.Elapsed); //} if (!ReferenceEquals(record, null)) { using (RemoteFormatter remote = new RemoteFormatter(assemblyPath)) { PftPacket packet = remote.GetFormatter(context); Console.WriteLine(RemotingServices.IsTransparentProxy(packet)); string formatted = packet.Execute(record); Console.WriteLine(formatted); Stopwatch stopwatch = new Stopwatch(); stopwatch.Start(); for (int i = 0; i < 100; i++) { if (i % 10 == 0) { Console.WriteLine(i); } packet.Execute(record); } stopwatch.Stop(); Console.WriteLine(stopwatch.Elapsed); } } } } } } catch (Exception exception) { Console.WriteLine(exception); } }
private static bool InitializeOutputSystem(AbstractOutput DesiredOutputSystem) { if (DesiredOutputSystem == null) throw new ArgumentNullException ("DesiredOutputSystem", "DesiredOutputSystem must be specified to initialize the system"); bool success = false; SkipInput = true; System.Threading.Thread skip_input_buffer = new System.Threading.Thread (FlushKeyboard); skip_input_buffer.IsBackground = true; skip_input_buffer.Start (); ActiveOutputSystem = DesiredOutputSystem; success = ActiveOutputSystem.InitializeSystem (); string outputType = ActiveOutputSystem.GetType ().Name.Trim (); if (outputType == "") { outputType = "Unknown"; } if (success) { Console.WriteLine ("- Connected to '{0}' via '{1}'", outputType, ActiveOutputSystem.Identifier); // Don't allow a shorter animation time than the output system processing can manage Light_Animation_Latency = Math.Max (ActiveOutputSystem.ProcessingLatency + 1, Light_Animation_Target_Latency); // Update number of lights, (re-)initalize the light queues LightSystem.SetLightCount (ActiveOutputSystem.LightCount); CreateLightQueues (LightSystem.LIGHT_COUNT); } else { Console.WriteLine ("- Could not connect to '{0}'", outputType); } SkipInput = false; if (skip_input_buffer.IsAlive) skip_input_buffer.Abort (); return success; }
public Game(AbstractOutput output) { GameDeck = new Deck(new CardFactory()); observers = new List <IObserver <Player> >(); this.Output = output; }
public ArtificialPlayer(AbstractStrategy strategy, AbstractOutput output) { this.strategy = strategy; this.output = output; }