Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace mozesieuda
- {
- public class Treenode
- {
- public int currentrow { get; set; }
- public int currentcolumn { get; set; }
- public IEnumerable<Treenode> Treenodes
- {
- get
- {
- if (FilesStream.map[currentrow - 1, currentcolumn - 1] == 'x' && currentrow - 1>=0 && currentcolumn - 1>=0)
- yield return new Treenode { currentrow = currentrow - 1, currentcolumn = currentcolumn - 1 };
- if (FilesStream.map[currentrow - 1, currentcolumn] == 'x' && currentrow - 1>=0 && currentcolumn>=0)
- yield return new Treenode { currentrow = currentrow - 1, currentcolumn = currentcolumn };
- if (FilesStream.map[currentrow - 1, currentcolumn + 1] == 'x' && currentrow - 1>=0 && currentcolumn <=FilesStream.columns-2)
- yield return new Treenode { currentrow = currentrow - 1, currentcolumn = currentcolumn + 1 };
- if (FilesStream.map[currentrow, currentcolumn - 1] == 'x' && currentrow>=0 && currentcolumn - 1>=0)
- yield return new Treenode { currentrow = currentrow, currentcolumn = currentcolumn - 1 };
- if (FilesStream.map[currentrow, currentcolumn + 1] == 'x' && currentrow>=0 && currentcolumn<=FilesStream.columns-2)
- yield return new Treenode { currentrow = currentrow, currentcolumn = currentcolumn + 1 };
- if (FilesStream.map[currentrow + 1, currentcolumn - 1] == 'x' && currentrow<=FilesStream.rows-2 && currentcolumn - 1>=0)
- yield return new Treenode { currentrow = currentrow + 1, currentcolumn = currentcolumn - 1 };
- if (FilesStream.map[currentrow + 1, currentcolumn] == 'x' && currentrow <=FilesStream.rows-2 && currentcolumn>=0)
- yield return new Treenode { currentrow = currentrow + 1, currentcolumn = currentcolumn };
- if (FilesStream.map[currentrow + 1, currentcolumn + 1] == 'x' && currentrow <=FilesStream.rows-2 && currentcolumn <=FilesStream.columns-2)
- yield return new Treenode { currentrow = currentrow + 1, currentcolumn = currentcolumn + 1 };
- }
- }
- public int? Counter()
- {
- int? counter = 1;
- FilesStream.counter++;
- if (currentrow == 0 || currentrow == FilesStream.rows - 1 || currentcolumn == 0 || currentcolumn == FilesStream.columns - 1)
- {
- return null;
- }
- foreach(var node in Treenodes)
- {
- FilesStream.map[node.currentrow, node.currentcolumn] = 'a';
- counter += node.Counter();
- }
- return counter;
- }
- }
- }
Add Comment
Please, Sign In to add comment