using Gtk; using System; class SharpApp : Window { public SharpApp() : base("Гра Баше (основний варіант)") { int n=0, // Кількість предметів у купі p=0, // Верхня межа кількості предметів, яку можна забрати k=0; // Забрана останнім ходом кількість предметів SetDefaultSize(0, 0); // Розмір вікна як усталено SetPosition(WindowPosition.Center);// Розташування вікна у центрі екрану DeleteEvent += delegate {Application.Quit();}; VBox v = new VBox(false, 3); // Вертикальний контейнер HBox h = new HBox(false, 3); // Горизонтальний контейнер Label l1 = new Label( "Правила гри. У початковий момент в купці є n предметів.\n"+ "Два гравці по черзі забирають з цієї купки предмети — \n"+ "від 1 до p включно, де 1 < p. Переможцем вважають того,\n"+ "хто зробить останній хід."); Label l2 = new Label(""); Label l3 = new Label("Забрати предметів"); Button b = new Button("Почати гру"); Entry e = new Entry(""); e.WidthChars = 3; // Ширина поля введення у символах l1.SetPadding(9, 0); // Відступ від краю l2.SetPadding(9, 0); l3.SetPadding(9, 0); h.PackStart(l3,false, false, 0); h.PackStart(e, false, false, 0); h.PackStart(b, true, true, 0); v.PackStart(l1,false, false, 0); v.PackStart(l2,false, false, 0); v.PackStart(h, false, false, 0); Add(v); // Додавання контейнера vbox у вікно ShowAll(); // Показ всього долученого у вікно Random r = new Random(); // # 3 Опрацювання події натискання кнопки b.Clicked += delegate {}; // # 3 Кінець } public static void Main() { Application.Init(); new SharpApp(); Application.Run(); } // # 2 Методи виклику вікон повідомлень public void Info (String s) // Виклик вікна повідомленняing { MessageDialog md = new MessageDialog (this, DialogFlags.DestroyWithParent, MessageType.Info, ButtonsType.Ok, s); md.Title="Гра Баше"; md.Run(); md.Destroy(); } public void Err (String s) // Виклик вікна повідомлення про помилку { MessageDialog md = new MessageDialog (this, DialogFlags.DestroyWithParent, MessageType.Error, ButtonsType.Ok, s); md.Title="Хибне число у полі введення"; md.Run(); md.Destroy(); } // # 2 Кінець }