0
int ispc = 0;
Dictionary<int, List<int>> objract = new Dictionary<int, List<int>>();
Rectangle[] objallract = null;
public Page1()
{
InitializeComponent();
objallract =new Rectangle[]{ l1, l2, l3, l4, l5, l6, l7, l8, l9, l10, l11, l12, l13, l14, l15, l16, l18, l19, l20, l21, l22, l23, l24 };
objract.Add(1, new List<int> { 1, 2, 3, 4 });
objract.Add(2, new List<int> { 2, 5, 6, 7 });
objract.Add(3, new List<int> { 6, 8, 9, 10 });
objract.Add(4, new List<int> { 11, 12, 13, 3 });
objract.Add(5, new List<int> { 11, 14, 15, 7 });
objract.Add(6, new List<int> { 10, 14, 16, 17 });
objract.Add(7, new List<int> { 12, 20, 19, 18 });
objract.Add(8, new List<int> { 18, 15, 21, 22 });
objract.Add(9, new List<int> { 23, 24, 17, 21 });
}
int userractname = 0;
private void l1_Tap_1(object sender, System.Windows.Input.GestureEventArgs e)
{
if(ispc == 0)
{
(sender as Rectangle).Fill = new SolidColorBrush(Colors.Blue);
(sender as Rectangle).IsHitTestVisible = false;
userractname =int .Parse((sender as Rectangle).Name.Replace("l", ""));
var result = from c in objract
where c.Value.Contains(userractname)
select c;
foreach (var dt in result)
{
var data = (from c in dt.Value
let ract = (Rectangle)cnvgame.FindName("l" + c)
where ((System.Windows.Media.SolidColorBrush)(ract.Fill)).Color != Colors.White
select c).ToList();
if(data.Count() == 4)
{
var ractmain = (Rectangle)cnvgame.FindName("r" + dt.Key);
(ractmain).Fill = new SolidColorBrush(Colors.Blue);
}
}
ispc = 1;
BackgroundWorker objworker = new BackgroundWorker();
objworker.DoWork += objworker_DoWork;
objworker.RunWorkerCompleted += objworker_RunWorkerCompleted;
objworker.RunWorkerAsync();
}
else
{
// (sender as Rectangle).Fill = new SolidColorBrush(Colors.Green);
// ispc = 0;
}
}
void objworker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Dispatcher.BeginInvoke(() =>
{
PCtrun(sender);
});
}
private void PCtrun(object sender)
{
if (ispc == 1)
{
Random objrandom = new Random();
// var data = l1.Fill;
var restRectangle = objallract.Where(c => ((System.Windows.Media.SolidColorBrush)(c.Fill)).Color == Colors.White).Select(c => c);
var result = from c in objract
where c.Value.Contains(userractname)
select c;
foreach(var dt in result)
{
var data = (from c in dt.Value
let ract = (Rectangle)cnvgame.FindName("l" + c)
where ((System.Windows.Media.SolidColorBrush)(ract.Fill)).Color == Colors.White
select c).ToList();
if (data.Count() == 1)
{
if (ispc == 1)
{
string ractname = "l" + data[0].ToString();
var ract = (Rectangle)cnvgame.FindName(ractname);
(ract).Fill = new SolidColorBrush(Colors.Green);
(ract).IsHitTestVisible = false;
var ractmain = (Rectangle)cnvgame.FindName("r" + dt.Key);
(ractmain).Fill = new SolidColorBrush(Colors.Green);
var pcractname = int.Parse((ract).Name.Replace("l", ""));
var result1 = from c in objract
where c.Value.Contains(pcractname)
select c;
foreach (var dt1 in result1)
{
var data1 = (from c in dt1.Value
let ract1 = (Rectangle)cnvgame.FindName("l" + c)
where ((System.Windows.Media.SolidColorBrush)(ract1.Fill)).Color != Colors.White
select c).ToList();
if (data1.Count() == 4)
{
var ractmain1 = (Rectangle)cnvgame.FindName("r" + dt1.Key);
(ractmain1).Fill = new SolidColorBrush(Colors.Green);
}
}
ispc = 0;
}
}
}
if (ispc == 1)
{
var resultdata = from c in objract
where c.Value.ToList().Where(d => ((System.Windows.Media.SolidColorBrush)((Rectangle)cnvgame.FindName("l" + d)).Fill).Color != Colors.White).Select(d => d).Count() == 3
select c;
if(resultdata.Count() > 0)
{
var intnumract = resultdata.FirstOrDefault().Value.Where(c => ((System.Windows.Media.SolidColorBrush)((Rectangle)cnvgame.FindName("l" + c)).Fill).Color == Colors.White).Select(c => c).FirstOrDefault();
var ractfill = ((Rectangle)cnvgame.FindName("l" + intnumract));
(ractfill).Fill = new SolidColorBrush(Colors.Green);
(ractfill).IsHitTestVisible = false;
//repeat
var pcractname = int.Parse((ractfill).Name.Replace("l", ""));
var result1 = from c in objract
where c.Value.Contains(pcractname)
select c;
foreach (var dt in result1)
{
var data = (from c in dt.Value
let ract = (Rectangle)cnvgame.FindName("l" + c)
where ((System.Windows.Media.SolidColorBrush)(ract.Fill)).Color != Colors.White
select c).ToList();
if (data.Count() == 4)
{
var ractmain = (Rectangle)cnvgame.FindName("r" + dt.Key);
(ractmain).Fill = new SolidColorBrush(Colors.Green);
}
}
ispc = 0;
//
}
else
{
int total = restRectangle.Count();
if (total > 0)
{
int ran = objrandom.Next(0, total);
var ractangle = (Rectangle)restRectangle.ElementAt(ran);
(ractangle).Fill = new SolidColorBrush(Colors.Green);
(ractangle).IsHitTestVisible = false;
//repeat
var pcractname = int.Parse((ractangle).Name.Replace("l", ""));
var result1 = from c in objract
where c.Value.Contains(pcractname)
select c;
foreach (var dt in result1)
{
var data = (from c in dt.Value
let ract = (Rectangle)cnvgame.FindName("l" + c)
where ((System.Windows.Media.SolidColorBrush)(ract.Fill)).Color != Colors.White
select c).ToList();
if (data.Count() == 4)
{
var ractmain = (Rectangle)cnvgame.FindName("r" + dt.Key);
(ractmain).Fill = new SolidColorBrush(Colors.Green);
}
}
//
ispc = 0;
}
}
}
}
BackgroundWorker objworker1 = new BackgroundWorker();
objworker1.DoWork += objworker1_DoWork;
objworker1.RunWorkerCompleted += objworker1_RunWorkerCompleted;
objworker1.RunWorkerAsync();
}
void objworker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
Dispatcher.BeginInvoke(() =>
{
checkGameOver();
});
}
void objworker1_DoWork(object sender, DoWorkEventArgs e)
{
System.Threading.Thread.Sleep(100);
}
public void checkGameOver()
{
var restRectangle = objallract.Where(c => ((System.Windows.Media.SolidColorBrush)(c.Fill)).Color == Colors.White).Select(c => c);
if (restRectangle.Count() == 0)
{
var cs = (from c in Enumerable.Range(1, 9)
group c by ((System.Windows.Media.SolidColorBrush)((Rectangle)cnvgame.FindName("r" + c)).Fill).Color into gs
select new { Color = gs.Key.ToString(), Count = gs.Count()}).ToList();
var data = cs.Where(c => c.Count == cs.Max(d => d.Count)).Select(c => c);
if (data.Count() == 1)
{
if (data.FirstOrDefault().Color == "#FF0000FF")
{
MessageBox.Show("You Win!");
}
else
{
MessageBox.Show("PC Win!");
}
}
else
{
MessageBox.Show("Draw!");
}
}
}
void objworker_DoWork(object sender, DoWorkEventArgs e)
{
System.Threading.Thread.Sleep(50);
}
}
==================================================================
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!--TitlePanel contains the name of the application and page title-->
<StackPanel Grid.Row="0" Margin="12,17,0,28">
<TextBlock Text="MY APPLICATION" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock Text="page name" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}"/>
</StackPanel>
<!--ContentPanel - place additional content here-->
<Canvas x:Name="cnvgame" Grid.Row="1" Margin="10,10,14,-10">
<Rectangle Name="l1" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="87" Stroke="Black" Canvas.Top="75" Width="100"/>
<Rectangle Name="l2" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="139.087" Stroke="Black" Canvas.Top="123" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l4" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="31.017" Stroke="Black" Canvas.Top="121.597" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l3" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="87" Stroke="Black" Canvas.Top="170" Width="100"/>
<Rectangle Name="l5" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="192" Stroke="Black" Canvas.Top="75" Width="100"/>
<Rectangle Name="l6" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="244.087" Stroke="Black" Canvas.Top="123" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l7" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="192" Stroke="Black" Canvas.Top="170" Width="100"/>
<Rectangle Name="l8" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="297" Stroke="Black" Canvas.Top="75" Width="100"/>
<Rectangle Name="l9" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="349.087" Stroke="Black" Canvas.Top="123" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l10" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="297" Stroke="Black" Canvas.Top="170" Width="100"/>
<Rectangle Name="l11" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="139.087" Stroke="Black" Canvas.Top="225.456" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l13" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="31.017" Stroke="Black" Canvas.Top="224.053" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l12" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="87" Stroke="Black" Canvas.Top="272" Width="100"/>
<Rectangle Name="l14" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="244.087" Stroke="Black" Canvas.Top="225.456" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l15" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="192" Stroke="Black" Canvas.Top="272" Width="100"/>
<Rectangle Name="l16" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="349.087" Stroke="Black" Canvas.Top="225.456" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l17" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="297" Stroke="Black" Canvas.Top="272" Width="100"/>
<Rectangle Name="l18" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="139.087" Stroke="Black" Canvas.Top="329.316" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l20" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="31.017" Stroke="Black" Canvas.Top="327.913" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l19" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="87" Stroke="Black" Canvas.Top="376" Width="100"/>
<Rectangle Name="l21" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="244.087" Stroke="Black" Canvas.Top="329.316" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l22" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="192" Stroke="Black" Canvas.Top="376" Width="100"/>
<Rectangle Name="l24" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="349.087" Stroke="Black" Canvas.Top="329.316" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Name="l23" Tap="l1_Tap_1" Fill="White" Height="16" Canvas.Left="297" Stroke="Black" Canvas.Top="376" Width="100"/>
<Rectangle Name="r1" Fill="Transparent" Height="79" Canvas.Left="86" Stroke="Black" Canvas.Top="91" Width="95"/>
<Rectangle x:Name="r2" Fill="Transparent" Height="79" Canvas.Left="194" Stroke="Transparent" Canvas.Top="91" Width="95"/>
<Rectangle x:Name="r3" Fill="Transparent" Height="79" Canvas.Left="302" Stroke="Transparent" Canvas.Top="91" Width="90"/>
<Rectangle x:Name="r6" Fill="Transparent" Height="86" Canvas.Left="302" Stroke="Transparent" Canvas.Top="186" Width="90"/>
<Rectangle x:Name="r9" Fill="Transparent" Height="88" Canvas.Left="302" Stroke="Transparent" Canvas.Top="288" Width="90"/>
<Rectangle x:Name="r4" Fill="Transparent" Height="86" Canvas.Left="87" Stroke="Transparent" Canvas.Top="186" Width="95"/>
<Rectangle x:Name="r7" Fill="Transparent" Height="88" Canvas.Left="87" Stroke="Transparent" Canvas.Top="288" Width="94"/>
<Rectangle x:Name="r5" Fill="Transparent" Height="86" Canvas.Left="197" Stroke="Transparent" Canvas.Top="186" Width="92"/>
<Rectangle x:Name="r8" Fill="Transparent" Height="88" Canvas.Left="197" Stroke="Transparent" Canvas.Top="288" Width="87"/>
<!--<Rectangle Fill="White" Height="16" Canvas.Left="139.087" Stroke="Black" Canvas.Top="434.579" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="White" Height="16" Canvas.Left="31.017" Stroke="Black" Canvas.Top="433.176" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="White" Height="16" Canvas.Left="87" Stroke="Black" Canvas.Top="482" Width="100"/>
<Rectangle Fill="White" Height="16" Canvas.Left="244.087" Stroke="Black" Canvas.Top="434.579" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="White" Height="16" Canvas.Left="192" Stroke="Black" Canvas.Top="482" Width="100"/>
<Rectangle Fill="White" Height="16" Canvas.Left="349.087" Stroke="Black" Canvas.Top="434.579" Width="100" RenderTransformOrigin="0.5,0.5" UseLayoutRounding="False" d:LayoutRounding="Auto">
<Rectangle.RenderTransform>
<CompositeTransform Rotation="88.755"/>
</Rectangle.RenderTransform>
</Rectangle>
<Rectangle Fill="White" Height="16" Canvas.Left="297" Stroke="Black" Canvas.Top="482" Width="100"/>-->
</Canvas>
</Grid>

0
Welcome. You say you have 1.5 yrs exp in .NET. We can't judge which concepts you are aware of through online.
I would suggest you to sit and write down the concepts you are well versed with. After that if there is any missing part then learn it wither through online sites like C# corner or books.
Yes. In future there will be new version releases with new features. Just keep an aye on the site or Microsoft MSDN. ScottGU and ScottHA blogs are a good resource for updated information.