123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682 |
- <?xml version="1.0" encoding="utf-8"?>
- <Report ScriptLanguage="CSharp" StartReportEvent="_StartReport" ReportInfo.Name="Fast M1nesweeper" ReportInfo.Author="Detrav" ReportInfo.Version="4/1/2019" ReportInfo.Created="04/01/2019 00:00:02" ReportInfo.Modified="04/01/2019 00:00:02" ReportInfo.CreatorVersion="2019.2.42.25769">
- <ScriptText>using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Windows.Forms;
- using System.Drawing;
- using System.Data;
- using FastReport;
- using FastReport.Matrix;
- using FastReport.Data;
- using FastReport.Dialog;
- using FastReport.Barcode;
- using FastReport.Table;
- using FastReport.Utils;
- namespace FastReport
- {
- public class ReportScript
- {
- const string BOMB = "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABmJLR0QA9QD1APUHT9P6AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAB3RJTUUH4wMaCBo1zI1h5wAABDFJREFUSMe1lltsVFUUhr+158ylFGgRKZcgBLEKJBRCXwhPQjQ+gQQYifFB1CkxNcCUBjtUZCIkdQq9AS/QGY0amkAo0WcTX9GYQKAKMUUw0jQCLQpF2rnu5cO0Y1s62GlwJyfZ5/x7r/+s+xIKXarUtX62CqCx5r0riBR03eQDQqdOTAyIgNFqjFbnIzvc8mXhhAz5NoXaosvWqRIOh3PaAQiyXpD1o7+Fw2FeVeXDltiyRya5KZ/YvPbYe7R9psdtHqi1bzTu3XkOINQWq7Qqa4xoO4BV2WlEL0WCgYsAdS3t28WYM2lNlzTVvD9QEGGWINoPMhvlC0XfcrlcbrfjQkQQYCiRHDmaUvS0IO8AfZFgoCyfTOeJHhb5GiVgjOx4acliZhYXYYwZtqTy/ZVrSNaP7mEyBL4pKGjCp04BUNcW26FWA4vml7Fu9QpS6RRXb/zOjz/9woXLV7lwOUc2NoihKtQWfRugpvnsxCYNNUdn4og7sidwD2D/8dhKtXTNmVXK4gVlXLtxi78HB3PaTSp7MCsbg+/+DBA6FptNWlOR2qoBCTVHwYgb4S5QimofInOG/xZUJ9Rkkjk7Ius+ShlWUzlJH0RPF814FO8GFvJ0Vw+WFyN7A/F/fajK/Dv9cYVKgIy1udOj9wVjqhiTWYOQGBs0Ihw4EFSsXeTzuKlcXo61irVK5YpyfB4PAD6PpzDM6yWdMYsiNQGdOC2MWRVPpui6fhNjstbu6r6Jtdnz8WSyYEyE1cClCQkrypdUJZKpp+pAr8ddBXyeLw+V/3mN0bDr+m8xgbXGSM5Uo/fj3yeDqdVo3kqjqpd9Hg8V5Utzzq8oXzomMArBbCbN3T/7+x8v3qq0fNQof8x9do5LuZOxFtdwVRm9H//+JCyRTNLT28sMb9GCh/HB253HG3RMWvz6/EKfS7kIjBHiGlfO/gsTIJVKcaunB1R5GB/8AfDkNBxf2hS9Lci8qQbFgwcD9N3rz04GqndQnYvIX2opE7dNm0htFVgtsujSSDAgjcGq+VZdK7OKT66GGmMYHBqip7eXu/19iAjPlM54ufN4w7zOE59KJiMviNtO62yNPN6Aa5rP0lq7nTdrD+6fVjStobi4GLfj4DgORgxIthdmMhnS6TTxeJz7AwMkEgmMMRgRfEW+uq8iHx+pPXqU5n37Jt/x/Xvq21WpUtU8/VkmmrGi54417Cx8iALUsgnA5/V95zhOjmTkGen8jsvB6/N+m51zdOOUxsTN1QenI8xVq9s6msKvnG09LCWlJX6vxxsaVbbqZpWWbDvTekg6joRfU6vbBJm3ufrg9IIJXU56g5JZrpWvn/f7/QA8Z4Y6O5rCjUA30N3R9MmR2OHQeQC/30967cbzGJa5nPSGgsN7Y/BQXmzrrvqTW3fVn5zK3SmtLbv3r9qyu75iKnf/AUwGAJZD/bErAAAAAElFTkSuQmCC\"/>";
- const string FLAG = "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAB3RJTUUH4wMWDhQIRD3DcgAAALVJREFUSMftlb0NwkAMhT+bCiZhAJKGhI4lkOioqBiFnYDmwhqsQIGUmJYiiu4XUfAaS6fT+/xOlg++re3uIJ+1iNr90QBsXQjwWGK2wQ0NVSpIxw6fMwAqEZy1OJN4kHrcSQJpQDNRII141iCQJsyCF0gzDN1KBDc0nOVWBnA3o9Yrp9wJOjNquVCL0QHkSuBlHAMIMg4BRBlPAhZ9uvGkmozbdDTBvH+Rq2OlsP6AH/30c+oNWNZbLqWMv1wAAAAASUVORK5CYII=\"/>";
-
-
- private FastM1nesweeper fastM1nesweeper = new FastM1nesweeper();
- private TableObject table = null;
- private bool IsUpdated = false;
- private FillBase backUpFill;
-
- private int clickCount;
- private DateTime startTime;
- private int bombCount;
-
- private void RefreshPreview(Base obj)
- {
- if(obj!=null)
- {
- Report.PreparedPages.ModifyPage(0, obj.Page as ReportPage);
- foreach(System.Reflection.PropertyInfo info in Report.GetType().GetProperties())
- {
- if(info.Name == "Preview")
- {
- object preview = info.GetValue(Report, null);
- if(preview !=null)
- foreach(System.Reflection.MethodInfo method in preview.GetType().GetMethods())
- {
- if(method.Name == "Refresh")
- {
- try{
- method.Invoke(preview, null);
- }
- catch{
-
- }
- }
- }
- }
- }
- }
- table = null;
- }
-
- private bool IsRightClick(EventArgs e)
- {
- foreach(System.Reflection.PropertyInfo info in e.GetType().GetProperties())
- {
- if(info.Name == "Button")
- {
- try{
- return 2097152 == (int)info.GetValue(e, null);
- }
- catch{
- return false;
- }
- }
- }
- return false;
- }
-
- private void TableCell_Click(object sender, EventArgs e)
- {
- if(clickCount == 0)
- startTime = DateTime.Now;
- clickCount++;
- IsUpdated = false;
- TextObjectBase cell = sender as TextObjectBase;
-
- if(table == null)
- {
- table = cell.Parent.Parent as TableObject;
- }
-
-
- if(!fastM1nesweeper.IsGameOver)
- {
- if(table!=null )
- {
-
-
- for(int i =0; i< fastM1nesweeper.Width; i ++)
- for(int j = 0; j < fastM1nesweeper.Height; j++)
- {
- if(sender == table[i,j])
- {
-
- if(IsRightClick(e))
- fastM1nesweeper.FlagClick(i,j);
- else
- fastM1nesweeper.OpenClick(i,j);
- }
- }
-
- if(bombCount != fastM1nesweeper.BombCount)
- {
- bombCount = fastM1nesweeper.BombCount;
-
- TextObject tBombsBox = table.Page.FindObject("tBombs") as TextObject;
- if(tBombsBox!=null)
- {
- tBombsBox.Text = fastM1nesweeper.BombCount.ToString();
- IsUpdated = true;
- }
- }
-
- if(fastM1nesweeper.IsGameOver)
- {
- TextObject labelGameOver = table.Page.FindObject("LabelGameOver") as TextObject;
- TextObject labelClicks = table.Page.FindObject("LabelClicks") as TextObject;
- TextObject labelTime = table.Page.FindObject("LabelTime") as TextObject;
- TextObject labelScore = table.Page.FindObject("LabelScore") as TextObject;
-
- TextObject tClicksBox = table.Page.FindObject("tClicks") as TextObject;
- TextObject tTimeBox = table.Page.FindObject("tTime") as TextObject;
- TextObject tScoreBox = table.Page.FindObject("tScore") as TextObject;
-
- if(labelGameOver!=null)
- {
- if(fastM1nesweeper.IsVictory)
- {
- labelGameOver.Text="Victory!";
- labelGameOver.TextFill = new SolidFill(Color.Green);
- }
- else
- {
- labelGameOver.Text="GAME OVER";
- labelGameOver.TextFill = new SolidFill(Color.Red);
- }
- IsUpdated = true;
- }
- if(labelClicks!=null)
- {
- labelClicks.Text = "Clicks:";
- IsUpdated = true;
- }
-
- if(labelTime!=null)
- {
- labelTime.Text = "Time:";
- IsUpdated = true;
- }
-
- if(labelScore!=null)
- {
- labelScore.Text = "Score:";
- IsUpdated = true;
- }
-
- if(tClicksBox !=null)
- {
- tClicksBox.Text = clickCount.ToString();
- IsUpdated = true;
- }
-
- if(tTimeBox !=null)
- {
- TimeSpan span = DateTime.Now - startTime;
- tTimeBox.Text = span.ToString();
- IsUpdated = true;
- }
-
- if(tScoreBox != null)
- {
- tScoreBox.Text = fastM1nesweeper.Score.ToString();
- IsUpdated = true;
- }
- }
- if(IsUpdated)
- RefreshPreview(table);
- }
- }
- }
-
- private void TableMap_ManualBuild(object sender, EventArgs e)
- {
-
-
- for(int i =0; i< fastM1nesweeper.Height; i ++)
- {
- TableMap.PrintRow(0);
- for(int j =0; j< fastM1nesweeper.Width; j ++)
- {
- TableMap.PrintColumn(0);
- }
- }
- }
- private void _StartReport(object sender, EventArgs e)
- {
- fastM1nesweeper.CellUpdated += CellUpdated;
- clickCount = 0;
- }
-
- private void CellUpdated(object sender, FastM1nesweeperCellUpdateEventArgs e)
- {
- ReDraw(e.X,e.Y,e.Cell);
- }
-
- private void ReDraw(int x, int y, FastM1nesweeperCell cell)
- {
-
- if(cell != null)
- {
- IsUpdated = true;
-
- if(cell.IsFlag)
- {
- table[x,y].Text = FLAG;
- }
- else if(!cell.IsOpened)
- {
- table[x,y].Text = "";
- }
- else if(cell.IsBomb)
- {
-
- table[x,y].Font = new Font(table[x,y].Font.FontFamily, 0.1f);
- table[x,y].Text = BOMB;
-
- }
- else if(cell.Number > 0)
- {
- table[x,y].Text = cell.Number.ToString();
- }
- else table[x,y].Text = "";
-
-
-
- if(cell.IsDefused)
- {
- table[x,y].Fill = new SolidFill(Color.LightGreen);
- table[x,y].Border.Color = Color.Green;
- table[x,y].Border.Lines = BorderLines.All;
- table[x,y].Border.Width = 1;
- }
- else if (cell.IsOpened)
- {
- if(cell.IsBomb)
- {
- table[x,y].Fill = new SolidFill(Color.MistyRose);
- table[x,y].Border.Color = Color.Red;
- table[x,y].Border.Lines = BorderLines.All;
- table[x,y].Border.Width = 1;
- }
- else
- {
- table[x,y].Fill = new SolidFill(Color.WhiteSmoke);
- }
- }
- else
- {
- table[x,y].Fill = backUpFill.Clone();
- }
-
- //table[x,y].Border.Style = LineStyle.Solid;
- //table[x,y].Border.Color = Color.Gainsboro;
- }
- }
- private void Page1_StartPage(object sender, EventArgs e)
- {
- int width;
- int height;
- bombCount = 0;
- Int32.TryParse(tRows.Text, out height);
- if(height < 5) height = 5; else if (height > 25) height = 25;
- Int32.TryParse(tColumns.Text, out width);
- if(width < 5) width = 5; else if (width > 25) width = 25;
- Int32.TryParse(tBombs.Text, out bombCount);
- if(bombCount < 1) bombCount = 1; else if (bombCount > height * width ) bombCount = height * width ;
- TableMap[0,0].Width = 28;
- TableMap[0,0].Height = 28;
- TableMap.Left = (Data1.Width - (TableMap[0,0].Width * width))/2;
- fastM1nesweeper.ReStart(width,height,bombCount);
- backUpFill = TableMap[0,0].Fill.Clone();
- }
- }
-
-
- public class FastM1nesweeper
- {
- private bool isGameOver = true;
- public event EventHandler<FastM1nesweeperCellUpdateEventArgs> CellUpdated;
- public int Score
- {
- get
- {
- try
- {
- int result = 0;
- if(map!=null && isStarted)
- {
- for(int i =0; i< Width; i++)
- for(int j = 0; j< Height; j++)
- {
- if (map[i, j].IsOpened || IsVictory)
- result += GetScore(map[i, j].Number);
- }
- }
- return result;
- }
- catch
- {
-
- }
- return 0;
- }
- }
-
- private int GetScore(int number)
- {
- switch(number)
- {
- case 1: return 1;
- case 2: return 3;
- case 3: return 6;
- case 4: return 10;
- case 5: return 15;
- case 6: return 21;
- case 7: return 28;
- case 8: return 36;
- default: return 0;
- }
- }
- public FastM1nesweeperCell GetCell(int x, int y)
- {
- if (IsAllRight(x, y))
- {
- return map[x, y];
- }
- return null;
- }
- public bool IsGameOver
- {
- get { return isGameOver; }
- }
- public bool IsVictory
- {
- get { return isVictory; }
- }
- public int Width
- {
- get { return width; }
- }
- public int Height
- {
- get { return height; }
- }
- public int BombCount
- {
- get { return bombCount; }
- }
- private FastM1nesweeperCell[,] map;
- private int width;
- private int height;
- private int bombCount;
- private bool isStarted;
- private bool isVictory;
- public void ReStart(int width, int height, int bombCount)
- {
- isStarted = false;
- isGameOver = false;
- this.width = width;
- this.height = height;
- this.bombCount = bombCount;
- isVictory = false;
- map = new FastM1nesweeperCell[width, height];
- for(int i =0; i< width; i++)
- for(int j =0; j< height; j++)
- {
- map[i, j] = new FastM1nesweeperCell();
- }
- }
- private bool IsAllRight(int x, int y)
- {
- return map!=null && !IsGameOver && x >= 0 && x < width && y >= 0 && y < height;
- }
- public void FlagClick(int x, int y)
- {
- if (isStarted && IsAllRight(x,y))
- {
- if (!map[x, y].IsOpened)
- {
- map[x, y].IsFlag = !map[x, y].IsFlag;
- if (CellUpdated != null)
- {
- CellUpdated.Invoke(this, new FastM1nesweeperCellUpdateEventArgs(x, y, map[x, y]));
- }
- }
- }
- }
- private void GenerateMap(int x, int y)
- {
- if (!isStarted)
- {
- Random r = new Random();
- int bombs = 0;
- if(bombCount > width * height / 2)
- {
- bombCount = width * height / 2;
- }
- for(int i = 0; i< bombCount; i++)
- {
- int tryes = 256;
- while(tryes > 0)
- {
- int left = r.Next(0, width);
- int top = r.Next(0, height);
- if (left == x && top == y || map[left, top].IsBomb)
- tryes--;
- else
- {
- map[left, top].IsBomb = true;
- bombs++;
- break;
- }
- }
- }
- for(int i =0; i< width; i++)
- {
- for(int j = 0; j< height; j++)
- {
- if (!map[i, j].IsBomb)
- {
- for (int i1 = -1; i1 <= 1; i1++)
- for (int j1 = -1; j1 <= 1; j1++)
- {
- FastM1nesweeperCell cell = GetCell(i + i1, j + j1);
- if (cell != null && cell.IsBomb)
- {
- map[i, j].Number++;
- }
- }
- }
- }
- }
- bombCount = bombs;
- isStarted = true;
- }
- }
- public void OpenClick(int x, int y)
- {
- GenerateMap(x, y);
- if (IsAllRight(x, y))
- {
- if (!map[x, y].IsOpened && !map[x,y].IsFlag)
- {
- if(map[x,y].IsBomb)
- {
- GameOverBomb();
- }
- else
- {
- OpenRecursive(x, y);
- }
- CheckGameOverDefused();
- }
- }
- }
- private void CheckGameOverDefused()
- {
- for (int i = 0; i < width; i++)
- {
- for (int j = 0; j < height; j++)
- {
- if (!map[i, j].IsOpened && !map[i, j].IsBomb)
- {
- return;
- }
- }
- }
-
- for (int i = 0; i < width; i++)
- {
- for (int j = 0; j < height; j++)
- {
- if (map[i, j].IsBomb)
- {
- map[i, j].IsOpened = true;
- map[i, j].IsDefused = true;
- if (CellUpdated != null)
- {
- CellUpdated.Invoke(this, new FastM1nesweeperCellUpdateEventArgs(i, j, map[i, j]));
- }
- }
- }
- }
- isVictory = true;
- isGameOver = true;
- }
- private void OpenRecursive(int x, int y)
- {
- if (IsAllRight(x, y))
- {
- if(!map[x,y].IsOpened && !map[x,y].IsFlag )
- {
- map[x, y].IsOpened = true;
- if (map[x, y].Number == 0)
- {
- for (int i = -1; i <= 1; i++)
- for (int j = -1; j <= 1; j++)
- if (!(i == 0 && j == 0))
- OpenRecursive(x + i, y + j);
- }
- if (CellUpdated != null)
- {
- CellUpdated.Invoke(this, new FastM1nesweeperCellUpdateEventArgs(x, y, map[x, y]));
- }
- }
- }
- }
- private void GameOverBomb()
- {
- for(int i =0; i< width; i++)
- {
- for(int j =0; j< height; j++)
- {
- if(map[i,j].IsBomb)
- {
- map[i, j].IsOpened = true;
- if (CellUpdated != null)
- {
- CellUpdated.Invoke(this, new FastM1nesweeperCellUpdateEventArgs(i, j, map[i, j]));
- }
- }
- }
- }
- isGameOver = true;
- }
- }
- public class FastM1nesweeperCell
- {
- private bool isFlag;
- private bool isBomb;
- private int number;
- private bool isOpened;
- private bool isDefused;
- public bool IsFlag
- {
- get { return isFlag; }
- set { isFlag = value; }
- }
- public bool IsBomb
- {
- get { return isBomb; }
- set { isBomb = value; }
- }
- public bool IsOpened
- {
- get { return isOpened; }
- set { isOpened = value; }
- }
- public int Number
- {
- get { return number; }
- set { number = value; }
- }
- public bool IsDefused
- {
- get { return isDefused; }
- set { isDefused = value; }
- }
- }
- public class FastM1nesweeperCellUpdateEventArgs : EventArgs
- {
- private int x;
- private int y;
- FastM1nesweeperCell cell;
- public int X
- {
- get { return x; }
- }
- public int Y
- {
- get { return y; }
- }
- public FastM1nesweeperCell Cell
- {
- get { return cell; }
- }
- public FastM1nesweeperCellUpdateEventArgs(int x, int y, FastM1nesweeperCell cell)
- {
- this.x = x;
- this.y = y;
- this.cell = cell;
- }
- }
- }</ScriptText>
- <Styles>
- <Style Name="Hover" Border.Lines="All" Fill="Texture" Fill.ImageWidth="28" Fill.ImageHeight="28" Fill.PreserveAspectRatio="true" Fill.WrapMode="Clamp" Fill.ImageOffsetX="0" Fill.ImageOffsetY="0" Fill.ImageData="iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABmJLR0QA9QD1APUHT9P6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wMaBzYgkz2pnwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAw0lEQVRIx+3WsYqFMBCF4T8mGUSjiAYLsRN9Cp/SV7US0Wx1l132lvGyRaYaTvMlYSCjtm0Lx3FwnidPlPeedV1ZlgWtNaaua8Zx5L5vruuKipVlyTRNDMPwnRmAoijw3gMQQoiCGWNomoa2bX/nr0ZEqKoq2u1EBOfc34O8GqUUWZZhrY0Caq3f5hkfrgQmMIEJTGACE/jjx9daY61FRJ4HnXN0XUee588/ad/3zPP8EQxA7fse3m1Xj4Eh1iL6X6f0Cy2XHz7MkhXUAAAAAElFTkSuQmCC" Font="Arial, 10pt" ApplyBorder="false" ApplyTextFill="false" ApplyFont="false"/>
- </Styles>
- <Dictionary/>
- <ReportPage Name="MainPage" Watermark.Font="Arial, 60pt" StartPageEvent="Page1_StartPage">
- <ReportTitleBand Name="ReportTitle1" Width="718.2" Height="47.25">
- <TextObject Name="GameTitle" Left="47.25" Width="670.95" Height="37.8" Text="Fast M1nesweeper" VertAlign="Center" Font="Comic Sans MS, 20pt" TextRenderType="HtmlParagraph"/>
- <PictureObject Name="GameIcon" Width="37.8" Height="37.8" SizeMode="StretchImage" Image="iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAOvAAADrwBlbxySQAABT9JREFUaEPVWU1sG0UUNj9CFC7lT5wRLfQAt0ogcQUkJBACOxFNS5OG0qRN4+AktnfXSTZO4jSNf9bOr+Ox65Q0LWkFoWqrpjQprUgQB1BRW1AL7YWCOCBAFQq3Mry3ef7NJl7Drp180ifPvJl973uzM7Oza4uZcAUPPY+k6vqDoDAfkqrrDJzf4w6zW0gsk7W8EEZGHqFiQQhK4gUhHOcqoUzmgpCV5EYqGg8hzNqB1VRdFTDySioBLJN5VbiVeA3GoKrxcIfYG0uC4hFZlu8n83LAlBGU+O3MHYjfXm0aoS9YKwNL/WOvk9l4OILsUQj0j5qEwi4Ig4cfoyaLM3xoM9j3QXJHYSRvpMUT0YZt2Kc1En2aLrM0B8YeB18X1X7gG2NQkzmAW3w9I4rdEkMJF0yRL1M2vcRrXGHmgvLNLPv3FMY8QBCWFTBNKZLgfYmPePTEaT5x6jw/dvZz/vHsPJ+em+fjJ88t669FSCpGYcyDOxKvzQ7aMTTOR4+fUsV+emFBk5Nn5nKErkQJFjGFMQdimD0JC/IKBhNhxIePneSfpIXP8yNnZvkQ2HrZUe4d/ZB7BhJqPzFP6IpU4t9C/yconLFAx7AI1cXZPjyuTpOU8MT0We6NTmiLKprsuuFJyGNjD8HofI0BPINJfuLcJVX88ZlLvCc2qSHi/xHWwleO4NQGCq8PQpBtgn1+txCJvyoOjG3JdgBO0wsXE5iauciT0zO8bSi5LLiBjFJ42L6nNqAm1KZqBK3UlAsY5VCOE4X9Cr/f5dhKSSVxjTRk2eIhkqsNfOznXLCWWEi8iqVT5NpLQpf4LMBu0K/pqCxkfSRLP+hso+GsxFQYPE9iT5Es/XCHYg3oYOL0eXXPz3dcSrtLYXUkSz/o5AhOZlVmOy+1HdbkEZKlH5DA5Xyn5SIk8A3J0g+48Pd8R2XkbyRLH+B8s5A6Sa4VwrF8nuQVBnbWclJWzi18QfL0AW7b+p1CiLW0iPEkTLL0Ay6axItLud9r2uFBtrdLmSVZ+gEPj72qIx37tJn2em+Q17b3MZKlH/jpI99pqWnvHeC2Jg9vkENbSZZOLH2YCmg5LRXtBwZ55QcebrNLSD8p0wFVPAtrOS0Vm3LFF5dEud8FcM7jtMkTn+LqSeBLQ7YzSOZnd4RdzbaZRWcwxmtEX0YsJFHZ5LlmtUu/WBvFuym7tVEKkNxc4IuyGE685wqzV4RA7Bk5mXyQmvCr8ZhWUEMI2+S+bgWmTFtGPLBG8qX3/gpZfsDmEDa9vd/zMiRQi2Vq0gf8KtDsH7kMDzdtEf+FILyhJ8yrWjtzhCOrnN47LX7/wxTeGOyRA1t2uLyLe2Q/d/SPaIvSQcfBYf5+Rz/f1tKxTDhyu7Pz77q2g5sprLGo71Ke3d7a+RcGeqe5g9d6DqiLDvfrFv+oOo/dMLLuEOPOQFS14XZY1xnguyTfiqJT3NHqvbO721/862MxqHR4dmkFN4Lom8KYB9gVolrBjSD6pjDmwdYoXc0EFG9WC74ErI0/s4UUJGyR7zq7/qiRemPoI2WH8hUKYw7ebJI3pvZk2M4+sznk9N9Bdd7+l2o8vRM7xZ4ftrV0LqbFEqtaOharxZ4btZ7ew/Vy34t0mQV9qL5Un+JdjEFNxsO6X3pNFdQohSoqKu4j8zLIsnwviPkpJR7LYF7xTz70BaMfVPtCDDIbD5ij7Va7oOtvVnxiZhJY4emZB1uTtBNjUNV4FHN7rQ3S1nQCUCZzQZg6hYoFjPyPSKquP8C87oEp0U3V9Ye37OJzSKqaAIvlXycriBTjO0FlAAAAAElFTkSuQmCC"/>
- </ReportTitleBand>
- <PageHeaderBand Name="PageHeader1" Top="51.25" Width="718.2" Height="75.6">
- <TextObject Name="LabelRow" Width="122.85" Height="18.9" Text="Desk rows:" Font="Comic Sans MS, 11.25pt, style=Bold"/>
- <TextObject Name="LabelCount" Top="37.8" Width="122.85" Height="18.9" Text="Bombs count:" Font="Comic Sans MS, 11.25pt, style=Bold"/>
- <TextObject Name="tBombs" Left="122.85" Top="37.8" Width="75.6" Height="18.9" Text="500" Font="Comic Sans MS, 11.25pt"/>
- <TextObject Name="tRows" Left="122.85" Width="75.6" Height="18.9" Text="25" Font="Comic Sans MS, 11.25pt"/>
- <TextObject Name="tColumns" Left="122.85" Top="18.9" Width="75.6" Height="18.9" Text="25" Font="Comic Sans MS, 11.25pt"/>
- <TextObject Name="LabelColumn" Top="18.9" Width="122.85" Height="18.9" Text="Desk columns:" Font="Comic Sans MS, 11.25pt, style=Bold"/>
- <TextObject Name="tScore" Left="557.55" Top="37.8" Width="151.2" Height="18.9" Font="Comic Sans MS, 11.25pt"/>
- <TextObject Name="tClicks" Left="557.55" Width="151.2" Height="18.9" Font="Comic Sans MS, 11.25pt"/>
- <TextObject Name="tTime" Left="557.55" Top="18.9" Width="151.2" Height="18.9" Font="Comic Sans MS, 11.25pt"/>
- <TextObject Name="LabelGameOver" Left="198.45" Width="283.5" Height="56.7" HorzAlign="Center" VertAlign="Center" Font="Comic Sans MS, 27.75pt, style=Bold"/>
- <TextObject Name="LabelClicks" Left="491.4" Width="66.15" Height="18.9" Font="Comic Sans MS, 11.25pt, style=Bold"/>
- <TextObject Name="LabelTime" Left="491.4" Top="18.9" Width="66.15" Height="18.9" Font="Comic Sans MS, 11.25pt, style=Bold"/>
- <TextObject Name="LabelScore" Left="491.4" Top="37.8" Width="66.15" Height="18.9" Font="Comic Sans MS, 11.25pt, style=Bold"/>
- </PageHeaderBand>
- <DataBand Name="Data1" Top="130.85" Width="718.2" Height="765.45">
- <TableObject Name="TableMap" Width="27.97" Height="27.97" Border.Lines="All" ManualBuildEvent="TableMap_ManualBuild">
- <TableColumn Name="Column1" Width="27.97"/>
- <TableRow Name="Row1" Height="27.97">
- <TableCell Name="GameCell" Border.Lines="Right, Bottom" Border.Color="Gainsboro" Fill="Texture" Fill.ImageWidth="28" Fill.ImageHeight="28" Fill.PreserveAspectRatio="true" Fill.WrapMode="Clamp" Fill.ImageOffsetX="0" Fill.ImageOffsetY="0" Fill.ImageData="iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAABmJLR0QA9QD1APUHT9P6AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4wMaBzUguBD6XAAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAqklEQVRIx+3WzQrDIAwH8L920vd/pvoULV57KEVyiCBqcMdtrLs5GcOcgz/yAVHVWis6hkbn6Aoycz8wxohlWfqAMUZs24bjOHC7Ssg5N8NSSiAiMDMAXIMiAhFpAuacX9767y0d4AAHOMABDvBHwcuLX0pBSqkZ8vz1fQO99yAilFKaYEqpzxXu+w7nHEIITds4TRO01g9QRLCuK6y1OM/zK7MzxmCeZ9wBKmxQRfNekYUAAAAASUVORK5CYII=" Cursor="Hand" HoverStyle="Hover" ClickEvent="TableCell_Click" Padding="0, 0, 0, 0" HorzAlign="Center" VertAlign="Center" Font="Comic Sans MS, 11.25pt" TextRenderType="HtmlParagraph" ParagraphFormat.LineSpacingType="Exactly"/>
- </TableRow>
- </TableObject>
- </DataBand>
- <PageFooterBand Name="PageFooter1" Top="900.3" Width="718.2" Height="28.35" Fill.Color="WhiteSmoke">
- <TextObject Name="LabelCopy" Width="718.2" Height="28.35" Cursor="Hand" Hyperlink.Value="https://www.fast-report.com/en/product/fast-report-net/" Text="Generated by FastReport .NET" VertAlign="Center" Font="Comic Sans MS, 8.25pt, style=Underline" TextFill.Color="Blue"/>
- </PageFooterBand>
- </ReportPage>
- </Report>
|