|
From: <kro...@us...> - 2007-05-24 20:13:29
|
Revision: 433
http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=433&view=rev
Author: kroko_koenig
Date: 2007-05-24 13:13:23 -0700 (Thu, 24 May 2007)
Log Message:
-----------
Version 0.1
Added Paths:
-----------
trunk/plugins/My Minesweeper/Release/
trunk/plugins/My Minesweeper/Release/Skin/
trunk/plugins/My Minesweeper/Release/Skin/MyMinesweeper.xml
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bomb.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bombexplode.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomborder.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomleftcorner.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomrightcorner.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check0sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check0unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check1sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check1unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check2sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check2unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check3sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check3unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check4sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check4unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check5sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check5unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check6sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check6unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check7sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check7unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check8sel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check8unsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/leftborder.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/markedasbom.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/markedasbomsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/questionmark.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/questionmarksel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/rightborder.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/topborder.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/topleftcorner.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/toprightcorner.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/unchecksel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/uncheckunsel.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/cool.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/ohno.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/sad.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/smile.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/hover_my_minesweeper.png
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/bomb.wav
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/highscore.wav
trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/tick.wav
trunk/plugins/My Minesweeper/Source/
trunk/plugins/My Minesweeper/Source/MyMinesweeper/
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/MyMinesweeper.cs
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/MyMinesweeper.csproj
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/MyMinesweeper.csproj.user
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/Properties/
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/Properties/AssemblyInfo.cs
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/minesweeper.png
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/minesweeperDisabled.png
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper.sln
trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper.suo
trunk/plugins/My Minesweeper/minesweeper.jpg
trunk/plugins/My Minesweeper/readme.txt
Added: trunk/plugins/My Minesweeper/Release/Skin/MyMinesweeper.xml
===================================================================
--- trunk/plugins/My Minesweeper/Release/Skin/MyMinesweeper.xml (rev 0)
+++ trunk/plugins/My Minesweeper/Release/Skin/MyMinesweeper.xml 2007-05-24 20:13:23 UTC (rev 433)
@@ -0,0 +1,148 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes"?>
+<window>
+ <id>32327501</id>
+ <defaultcontrol>2</defaultcontrol>
+ <allowoverlay>yes</allowoverlay>
+ <autohidetopbar>yes</autohidetopbar>
+ <controls>
+ <import>common.time.xml</import>
+ <control>
+ <description>Minesweeper label</description>
+ <type>label</type>
+ <posX>55</posX>
+ <posY>20</posY>
+ <align>left</align>
+ <font>font48</font>
+ <label>Minesweeper</label>
+ <textcolor>20ffffff</textcolor>
+ <id>1</id>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+ <control>
+ <description>BackGround</description>
+ <type>image</type>
+ <id>1</id>
+ <posX>0</posX>
+ <posY>0</posY>
+ <width>720</width>
+ <height>576</height>
+ <texture>background.png</texture>
+ </control>
+ <control>
+ <description>text label</description>
+ <type>label</type>
+ <id>11</id>
+ <posX>250</posX>
+ <posY>70</posY>
+ <label>Minesweeper</label>
+ <font>font16</font>
+ <align>right</align>
+ <textcolor>ffffffff</textcolor>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+ <control>
+ <description>Start</description>
+ <type>button</type>
+ <id>2</id>
+ <posX>60</posX>
+ <posY>97</posY>
+ <label>Start</label>
+ <onleft>2</onleft>
+ <onright>21</onright>
+ <onup>8</onup>
+ <ondown>4</ondown>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+ <control>
+ <description>Level</description>
+ <type>button</type>
+ <id>4</id>
+ <posX>60</posX>
+ <posY>131</posY>
+ <label>Level: Amateur</label>
+ <onleft>4</onleft>
+ <onright>21</onright>
+ <onup>2</onup>
+ <ondown>8</ondown>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+ <control>
+ <description>Smily</description>
+ <type>image</type>
+ <id>1</id>
+ <posX>60</posX>
+ <posY>185</posY>
+ <width>60</width>
+ <height>60</height>
+ <texture>#minesweeper_smiley</texture>
+ </control>
+ <control>
+ <description>text label</description>
+ <type>label</type>
+ <id>5</id>
+ <posX>70</posX>
+ <posY>264</posY>
+ <label>#minesweeper_bombs</label>
+ <font>font12</font>
+ <align>Left</align>
+ <textcolor>ffffffff</textcolor>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+ <control>
+ <description>text label</description>
+ <type>label</type>
+ <id>6</id>
+ <posX>70</posX>
+ <posY>298</posY>
+ <label>#minesweeper_seconds</label>
+ <font>font12</font>
+ <align>Left</align>
+ <textcolor>ffffffff</textcolor>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+ <control>
+ <description>text label</description>
+ <type>label</type>
+ <id>7</id>
+ <posX>70</posX>
+ <posY>332</posY>
+ <label>#minesweeper_record</label>
+ <font>font12</font>
+ <align>Left</align>
+ <textcolor>ffffffff</textcolor>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+ <control>
+ <description>Whatsthis</description>
+ <type>button</type>
+ <id>8</id>
+ <posX>60</posX>
+ <posY>361</posY>
+ <label>What's this?</label>
+ <onleft>8</onleft>
+ <onright>21</onright>
+ <onup>4</onup>
+ <ondown>2</ondown>
+ <animation effect="fade" time="150">WindowOpen</animation>
+ <animation effect="fade" time="150">WindowClose</animation>
+ </control>
+
+ <control>
+ <description>hidden hex</description>
+ <type>image</type>
+ <id>1200</id>
+ <posX>280</posX>
+ <posY>120</posY>
+ <width>20</width>
+ <height>20</height>
+ <texture>\Minesweeper\Board\topleftcorner.jpg</texture>
+ </control>
+ </controls>
+</window>
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bomb.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bomb.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bombexplode.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bombexplode.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomborder.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomborder.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomleftcorner.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomleftcorner.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomrightcorner.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/bottomrightcorner.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check0sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check0sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check0unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check0unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check1sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check1sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check1unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check1unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check2sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check2sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check2unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check2unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check3sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check3sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check3unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check3unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check4sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check4sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check4unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check4unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check5sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check5sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check5unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check5unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check6sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check6sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check6unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check6unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check7sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check7sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check7unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check7unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check8sel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check8sel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check8unsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/check8unsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/leftborder.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/leftborder.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/markedasbom.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/markedasbom.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/markedasbomsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/markedasbomsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/questionmark.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/questionmark.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/questionmarksel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/questionmarksel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/rightborder.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/rightborder.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/topborder.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/topborder.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/topleftcorner.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/topleftcorner.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/toprightcorner.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/toprightcorner.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/unchecksel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/unchecksel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/uncheckunsel.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/Board/uncheckunsel.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/cool.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/cool.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/ohno.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/ohno.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/sad.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/sad.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/smile.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/Minesweeper/smile.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/hover_my_minesweeper.png
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Media/hover_my_minesweeper.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/bomb.wav
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/bomb.wav
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/highscore.wav
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/highscore.wav
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/tick.wav
===================================================================
(Binary files differ)
Property changes on: trunk/plugins/My Minesweeper/Release/Skin/SimpleMP/Sounds/tick.wav
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/MyMinesweeper.cs
===================================================================
--- trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/MyMinesweeper.cs (rev 0)
+++ trunk/plugins/My Minesweeper/Source/MyMinesweeper/MyMinesweeper/MyMinesweeper.cs 2007-05-24 20:13:23 UTC (rev 433)
@@ -0,0 +1,1065 @@
+#region Copyright (C) 2005-2007 Team MediaPortal
+
+/*
+ * Copyright (C) 2005-2007 Team MediaPortal
+ * http://www.team-mediaportal.com
+ *
+ * This Program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This Program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Make; see the file COPYING. If not, write to
+ * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+ * http://www.gnu.org/copyleft/gpl.html
+ *
+ */
+
+
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows.Forms;
+using System.Drawing;
+
+using MediaPortal.GUI.Library;
+using MediaPortal.Dialogs;
+using MediaPortal.Util;
+using MediaPortal.Configuration;
+
+namespace MediaPortal.GUI.MyMinesweeper
+{
+ [PluginIcons("MyMinesweeper.minesweeper.png", "MyMinesweeper.minesweeperDisabled.png")]
+ public class MyMinesweeper : GUIWindow, ISetupForm
+ {
+ #region SkinControl
+
+ [SkinControlAttribute(2)]
+ protected GUIButtonControl BtnStart = null;
+ [SkinControlAttribute(4)]
+ protected GUIButtonControl BtnLevel = null;
+ [SkinControlAttribute(8)]
+ protected GUIButtonControl BtnWhatsThis = null;
+
+ #endregion
+
+ #region Private variables
+
+ string Level = "Am"; // Choosen level
+ bool GameOver = false; // not game over
+ bool GameON = false; // Game is on
+
+ int[,] board = new int[30, 30];
+ int[,] bombs = new int[30, 30];
+ bool initBoard = false;
+
+ int bx = 10;
+ int by = 10;
+ int bcnt = 10;
+
+ int time = 0;
+ string time_rec = "999";
+ string time_name = "unknown";
+
+ string t_pro;
+ string t_nor;
+ string t_am;
+
+ string n_pro;
+ string n_nor;
+ string n_am;
+
+ int ID = 0;
+
+ private static OnActionHandler ah;
+
+ // game ticker for the timer
+ private System.Windows.Forms.Timer _Game = new System.Windows.Forms.Timer();
+
+ int[] posX = { -1, 0, 1, -1, 1, -1 , 0 , 1 };
+ int[] posY = { -1, -1, -1, 0, 0, 1, 1, 1 };
+
+ #endregion
+
+ #region ISetupForm Members
+
+ // Returns the name of the plugin which is shown in the plugin menu
+ public string PluginName()
+ {
+ return "My Minesweeper";
+ }
+
+ // Returns the description of the plugin is shown in the plugin menu
+ public string Description()
+ {
+ return "My Minesweeper";
+ }
+
+ // Returns the author of the plugin which is shown in the plugin menu
+ public string Author()
+ {
+ return "Mark Koenig (kroko)";
+ }
+
+ // show the setup dialog
+ public void ShowPlugin()
+ {
+ MessageBox.Show("Nothing to configure, this is just an example");
+ }
+
+ // Indicates whether plugin can be enabled/disabled
+ public bool CanEnable()
+ {
+ return true;
+ }
+
+ // get ID of windowplugin belonging to this setup
+ public int GetWindowId()
+ {
+ return 32327501;
+ }
+
+ // Indicates if plugin is enabled by default;
+ public bool DefaultEnabled()
+ {
+ return true;
+ }
+
+ // indicates if a plugin has its own setup screen
+ public bool HasSetup()
+ {
+ return false;
+ }
+
+ /// <summary>
+ /// If the plugin should have its own button on the main menu of MediaPortal then it
+ /// should return true to this method, otherwise if it should not be on home
+ /// it should return false
+ /// </summary>
+ /// <param name="strButtonText">text the button should have</param>
+ /// <param name="strButtonImage">image for the button, or empty for default</param>
+ /// <param name="strButtonImageFocus">image for the button, or empty for default</param>
+ /// <param name="strPictureImage">subpicture for the button or empty for none</param>
+ /// <returns>true : plugin needs its own button on home
+ /// false : plugin does not need its own button on home</returns>
+
+ public bool GetHome(out string strButtonText, out string strButtonImage, out string strButtonImageFocus, out string strPictureImage)
+ {
+ using (MediaPortal.Profile.Settings xmlreader = new MediaPortal.Profile.Settings(Config.GetFile(Config.Dir.Config, "MediaPortal.xml")))
+ {
+ if (xmlreader.GetValue("general", "myprefix")=="no")
+ {
+ strButtonText = "Minesweeper";
+ }
+ else
+ {
+ strButtonText = "My Minesweeper";
+ }
+
+ }
+ //strButtonText = PluginName();
+ strButtonImage = String.Empty;
+ strButtonImageFocus = String.Empty;
+ strPictureImage = @"hover_my_minesweeper.png";
+ return true;
+ }
+
+ #endregion
+
+ public override int GetID
+ {
+ get
+ {
+ return 32327501;
+ }
+ set
+ {
+ base.GetID = value;
+ }
+ }
+
+ public override bool Init()
+ {
+ if (ah == null) ah = new OnActionHandler(OnAction2);
+ bool result = Load(GUIGraphicsContext.Skin + @"\MyMinesweeper.xml");
+ return result;
+ }
+
+ #region Actions
+
+ public override void OnAction(Action action)
+ {
+ base.OnAction(action);
+ }
+
+ public void OnAction2(Action action)
+ {
+ switch (action.wID)
+ {
+ case Action.ActionType.ACTION_KEY_PRESSED:
+ switch (action.m_key.KeyChar)
+ {
+ case '1':
+ SetBomb();
+ break;
+ case '2':
+ SetQuest();
+ break;
+ case '3':
+ Check9();
+ break;
+ case '0':
+ NewGame();
+ break;
+ }
+ break;
+ }
+ }
+
+ #endregion
+
+ public override bool OnMessage(GUIMessage message)
+ {
+ if (message.Message == GUI.Library.GUIMessage.MessageType.GUI_MSG_SETFOCUS)
+ {
+ ID = message.TargetControlId;
+ }
+ return base.OnMessage(message);
+ }
+
+ public void Dispose()
+ {
+ _Game.Stop();
+ _Game.Tick -= new EventHandler(_Game_Tick);
+ }
+
+ protected override void OnPageLoad()
+ {
+
+ // start game ticker
+ _Game.Interval = 1000;
+ _Game.Tick += new EventHandler(_Game_Tick);
+ _Game.Start();
+
+ base.OnPageLoad();
+
+ LoadSettings();
+
+ NewGame();
+ ShowLevel();
+
+ GUIGraphicsContext.OnNewAction -= ah;
+ GUIGraphicsContext.OnNewAction += ah;
+
+ GUIPropertyManager.SetProperty("#minesweeper_bombs", "Bombs: " + bcnt.ToString());
+ GUIPropertyManager.SetProperty("#minesweeper_seconds", "Time: " + time.ToString());
+
+ GUIPropertyManager.SetProperty("#minesweeper_smiley", @"\Minesweeper\smile.png");
+
+ }
+
+ protected override void OnPageDestroy(int new_windowId)
+ {
+ _Game.Stop();
+ _Game.Tick -= new EventHandler(_Game_Tick);
+
+ SaveSettings();
+ }
+
+ protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType)
+ {
+ if ((controlId >= 500) && (!GameOver))
+ {
+ GameON = true;
+
+ int y = controlId - 500;
+ y = (int)y / 30;
+
+ int x = controlId - 500;
+ x = x - (y * 30);
+
+ x = x - 1;
+ y = y - 1;
+
+ if ((x >= 0) && (y >= 0) && (x < bx) && (y < by))
+ {
+ Point pt = new Point();
+ pt.X = x;
+ pt.Y = y;
+
+ SetPlace(pt);
+ }
+ }
+
+
+ if (control == BtnWhatsThis)
+ {
+ OnBtnWhatsThis();
+ }
+ if (control == BtnLevel)
+ {
+ OnBtnLevel();
+ }
+ if (control == BtnStart)
+ {
+ NewGame();
+ }
+
+
+ }
+
+ protected override void OnShowContextMenu()
+ {
+ base.OnShowContextMenu();
+ }
+
+ private void CreateButton(int ID, int posx, int posy, int height, int width, string focusimg, string nofocusimg)
+ {
+ GUIButtonControl button = new GUIButtonControl(GetID, ID, posx, posy, width, height, focusimg, nofocusimg);
+ button.AllocResources();
+ GUIControl btnControl = (GUIControl)button;
+ Add(ref btnControl);
+ }
+
+ void _Game_Tick(object sender, EventArgs e)
+ {
+ if ((!GameOver) && (time<999) && (GameON == true))
+ {
+ time++;
+ }
+ GUIPropertyManager.SetProperty("#minesweeper_seconds", "Time: " + time.ToString());
+ GUIPropertyManager.SetProperty("#minesweeper_bombs", "Bombs: " + bcnt.ToString());
+ }
+
+ private void OnBtnWhatsThis()
+ {
+ GUIDialogText dlg = (GUIDialogText)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_TEXT);
+ dlg.SetHeading("What's Minesweeper");
+ dlg.SetText("Your goal in Minesweeper is to discover all\n" +
+ "hidden mines as soon as possible. If you click\n" +
+ "on a hidden mine it will explode and the game\n" +
+ "ends.\n" +
+ "Game board design by Mikael S\xF6derstr\xF6m\n\n" +
+ "OK check actual position\n" +
+ "1 mark as bomb\n" +
+ "2 mark as not sure\n" +
+ "3 check surrounding\n" +
+ "0 new game\n\n" +
+ "Good luck\nMark Koenig (kroko)");
+ dlg.DoModal(GetID);
+ }
+
+ private void OnBtnLevel()
+ { //Choose level for the game
+ {
+ if (Level == "Nor")
+ {
+ Level = "Pro";
+ }
+ else if (Level == "Pro")
+ {
+ Level = "Am";
+ }
+ else
+ {
+ Level = "Nor";
+ }
+ NewGame();
+ ShowLevel();
+ }
+ }
+
+ private void ShowLevel()
+ {
+ if (Level == "Pro")
+ {
+ GUIControl.SetControlLabel(GetID, BtnLevel.GetID, "Level: Professional");
+ }
+ if (Level == "Am")
+ {
+ GUIControl.SetControlLabel(GetID, BtnLevel.GetID, "Level: Amateur");
+ }
+ if (Level == "Nor")
+ {
+ GUIControl.SetControlLabel(GetID, BtnLevel.GetID, "Level: Normal");
+ }
+ }
+
+ private void Init_board()
+ {
+ // get position from the start button
+ int StartX = GetControl(1200).XPosition;
+ int StartY = GetControl(1200).YPosition;
+ // Disable level control
+ GUIControl.HideControl(GetID, 1200);
+
+ try
+ {
+ int StartT = GetControl(500).XPosition;
+ }
+ catch
+ {
+ initBoard = false;
+ }
+
+ if (!initBoard)
+ {
+ initBoard = true;
+
+ // set start button navigation
+ GetControl(2).SetNavigation(8, 4, 2, 531);
+
+ for (int y = 0; y < (by+2); y++)
+ {
+ for (int x = 0; x < (bx+2); x++)
+ {
+ int nr = 500 + x + (y * 30);
+
+ int xp = StartX + (20 * x);
+ int yp = StartY + (20 * y);
+
+ //default navigation
+ int up = nr - 30;
+ int dn = nr + 30;
+ int le = nr - 1;
+ int ri = nr + 1;
+ //top bottom navigation
+ if ((y == 0) || (y==by+1))
+ {
+ up = nr;
+ dn = nr;
+ le = nr;
+ ri = nr;
+ }
+ //left right navigation
+ if ((x == 0) || (x == bx + 1))
+ {
+ up = nr;
+ dn = nr;
+ le = nr;
+ ri = nr;
+ }
+ //left to start
+ if (x == 1)
+ {
+ le = 2;
+ }
+ // right stop
+ if (x == bx)
+ {
+ ri = nr;
+ }
+ // top stop
+ if (y == 1)
+ {
+ up = nr;
+ }
+ // right stop
+ if (y == by)
+ {
+ dn = nr;
+ }
+
+ CreateButton(nr, xp, yp, 20, 20, "#F" + nr, "#NF" + nr);
+ GetControl(nr).SetNavigation(up, dn, le, ri);
+
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\unchecksel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\uncheckunsel.png");
+
+ }
+ }
+ for (int x = 0; x < (bx + 2); x++)
+ {
+ int nr = 500 + x;
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\topborder.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\topborder.png");
+ }
+ for (int x = 0; x < (bx + 2); x++)
+ {
+ int nr = 500 + (30*(by+1)) + x;
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\bottomborder.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\bottomborder.png");
+ }
+ for (int y = 0; y < by; y++)
+ {
+ int nr = 530 + (y*30);
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\leftborder.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\leftborder.png");
+ nr = nr + bx + 1;
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\rightborder.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\rightborder.png");
+ }
+ GUIPropertyManager.SetProperty("#F" + 500, @"\Minesweeper\Board\topleftcorner.png");
+ GUIPropertyManager.SetProperty("#NF" + 500, @"\Minesweeper\Board\topleftcorner.png");
+ GUIPropertyManager.SetProperty("#F" + (501+bx), @"\Minesweeper\Board\toprightcorner.png");
+ GUIPropertyManager.SetProperty("#NF" + (501+bx), @"\Minesweeper\Board\toprightcorner.png");
+
+ GUIPropertyManager.SetProperty("#F" + (500+(30*(by+1))), @"\Minesweeper\Board\bottomleftcorner.png");
+ GUIPropertyManager.SetProperty("#NF" + (500+(30*(by+1))), @"\Minesweeper\Board\bottomleftcorner.png");
+ GUIPropertyManager.SetProperty("#F" + (501+(30*(by+1)+bx)), @"\Minesweeper\Board\bottomrightcorner.png");
+ GUIPropertyManager.SetProperty("#NF" + (501+(30*(by+1)+bx)), @"\Minesweeper\Board\bottomrightcorner.png");
+
+ }
+
+ GUIControl.FocusControl(GetID, 531);
+ }
+
+ private void SetPlace(Point pos)
+ {
+ if ((bombs[pos.X, pos.Y] != 0) && (board[pos.X, pos.Y] != 9))
+ {
+ GUIPropertyManager.SetProperty("#minesweeper_smiley", @"\Minesweeper\sad.png");
+ GameOver = true;
+ MediaPortal.Util.Utils.PlaySound("bomb.wav", false, true);
+ EndGame();
+ board[pos.X, pos.Y] = 12;
+ SetPoint(pos);
+ }
+ if (board[pos.X, pos.Y] == 20)
+ {
+ board[pos.X, pos.Y] = GetValue(pos);
+ SetPoint(pos);
+ if (board[pos.X, pos.Y] == 0)
+ {
+ EmptyPos();
+ }
+ if (Finished() == true)
+ {
+ CheckAllBoms();
+ GameOver = true;
+ GUIPropertyManager.SetProperty("#minesweeper_smiley", @"\Minesweeper\cool.png");
+ CheckHiScore();
+ }
+ }
+ }
+
+ private void SetPoint(Point pos)
+ {
+ int nr = 531 + (pos.Y * 30) + pos.X;
+
+ if (board[pos.X, pos.Y] == 0)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check0sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check0unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 1)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check1sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check1unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 2)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check2sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check2unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 3)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check3sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check3unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 4)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check4sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check4unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 5)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check5sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check5unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 6)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check6sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check6unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 7)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check7sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check7unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 8)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\check8sel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\check8unsel.png");
+ }
+ if (board[pos.X, pos.Y] == 9)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\markedasbomsel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\markedasbom.png");
+ }
+ if (board[pos.X, pos.Y] == 10)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\questionmarksel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\questionmark.png");
+ }
+ if (board[pos.X, pos.Y] == 11)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\bomb.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\bomb.png");
+ }
+ if (board[pos.X, pos.Y] == 12)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\bombexplode.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\bombexplode.png");
+ }
+ if (board[pos.X, pos.Y] == 20)
+ {
+ GUIPropertyManager.SetProperty("#F" + nr, @"\Minesweeper\Board\unchecksel.png");
+ GUIPropertyManager.SetProperty("#NF" + nr, @"\Minesweeper\Board\uncheckunsel.png");
+ }
+ }
+
+ private void NewGame()
+ {
+ GameOver = false;
+ GameON = false;
+ time = 0;
+ ID = 0;
+
+ GUIPropertyManager.SetProperty("#minesweeper_smiley", @"\Minesweeper\smile.png");
+
+ if (Level == "Am")
+ {
+ bx = 10;
+ by = 10;
+ bcnt = 10;
+ time_rec = t_am;
+ time_name = n_am;
+ }
+ if (Level == "Nor")
+ {
+ bx = 15;
+ by = 15;
+ bcnt = 40;
+ time_rec = t_nor;
+ time_name = n_nor;
+ }
+ if (Level == "Pro")
+ {
+ bx = 20;
+ by = 20;
+ bcnt = 100;
+ time_rec = t_pro;
+ time_name = n_pro;
+ }
+
+ GUIPropertyManager.SetProperty("#minesweeper_record", "Record: " + time_rec + "s - " + time_name);
+
+ // remove controls from form
+ try
+ {
+ for (int i = 500; i < 1180; i++)
+ {
+ Remove(i);
+ }
+ }
+ catch
+ {
+
+ }
+
+ for (int i = 0; i < 30; i++)
+ {
+ for (int j = 0; j < 30; j++)
+ { // 20 = not checked
+ board[i, j] = 20;
+ // no bombs
+ bombs[i, j] = 0;
+ }
+ }
+
+ Random rnd = new Random();
+
+ for (int i = 0; i < bcnt ; i++)
+ {
+ int x = rnd.Next(0,bx);
+ int y = rnd.Next(0,by);
+ if (bombs[x, y] == 1)
+ { // already bomb
+ i = i - 1;
+ }
+ else
+ {
+ Point px = new Point();
+ px.X=x;
+ px.Y=y;
+ if (GetValue(px) < 4)
+ {
+ bombs[x, y] = 1;
+ }
+ else
+ {
+ i = i - 1;
+ }
+ }
+
+ }
+
+ Init_board();
+ }
+
+ private int GetValue(Point pos)
+ {
+ int val=0;
+
+ for (int i = 0; i < 8; i++)
+ {
+ int x = pos.X + posX[i];
+ int y = pos.Y + posY[i];
+ if ((x>=0) && (y>=0) && (x<bx) && (y<by))
+ {
+ if (bombs[x, y] != 0)
+ {
+ val++;
+ }
+ }
+
+ }
+ return val;
+ }
+
+ private int GetMBombs(Point pos)
+ {
+ int val = 0;
+
+ for (int i = 0; i < 8; i++)
+ {
+ int x = pos.X + posX[i];
+ int y = pos.Y + posY[i];
+ if ((x >= 0) && (y >= 0) && (x < 30) && (y < 30))
+ {
+ if (board[x, y] == 9)
+ {
+ val++;
+ }
+ }
+
+ }
+ return val;
+ }
+
+ private void EndGame()
+ {
+ for (int y = 0; y < by; y++)
+ {
+ for (int x = 0; x < bx; x++)
+ {
+ if (bombs[x, y] != 0)
+ {
+ board[x, y] = 11;
+ Point pos = new Point();
+ pos.X = x;
+ pos.Y = y;
+ SetPoint(pos);
+ }
+ }
+ }
+ }
+
+ private void EmptyPos()
+ {
+ bool rep = true;
+
+ while (rep)
+ {
+ rep = false;
+ for (int y = 0; y < by; y++)
+ {
+ for (int x = 0; x < bx; x++)
+ {
+ if (board[x, y] == 0)
+ {
+ // bomb counter = 0
+ int cnt = 0;
+ for (int i = 0; i < 8; i++)
+ {
+ int x1 = x + posX[i];
+ int y1 = y + posY[i];
+ if ((x1 >= 0) && (y1 >= 0) && (x1 < bx) && (y1 < by))
+ {
+ if (bombs[x1, y1] != 0)
+ { // found bomb
+ cnt++;
+ }
+ }
+ }
+
+ if (cnt == 0)
+ {
+ for (int i = 0; i < 8; i++)
+ {
+ int x1 = x + posX[i];
+ int y1 = y + posY[i];
+ if ((x1 >= 0) && (y1 >= 0) && (x1 < bx) && (y1 < by))
+ {
+ if (board[x1, y1] == 20)
+ {
+ Point pos = new Point();
+ pos.X = x1;
+ pos.Y = y1;
+
+ board[x1, y1] = GetValue(pos) ;
+ SetPoint(pos);
+ rep = true;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+ private void SetBomb()
+ {
+ if ((ID >= 500) && (!GameOver))
+ {
+ GameON = true;
+
+ int y = ID - 500;
+ y = (int)y / 30;
+
+ int x = ID - 500;
+ x = x - (y * 30);
+
+ x = x - 1;
+ y = y - 1;
+
+ int val = board[x, y];
+
+ if ((x >= 0) && (y >= 0) && (x < bx) && (y < by))
+ {
+ if (val == 20)
+ {
+ Point pt = new Point();
+ pt.X = x;
+ pt.Y = y;
+ board[x, y] = 9;
+ SetPoint(pt);
+ bcnt--;
+ }
+ if (val == 9)
+ {
+ Point pt = new Point();
+ pt.X = x;
+ pt.Y = y;
+ board[x, y] = 20;
+ SetPoint(pt);
+ bcnt++;
+ }
+ }
+ if (Finished() == true)
+ {
+ CheckAllBoms();
+ GameOver = true;
+ GUIPropertyManager.SetProperty("#minesweeper_smiley", @"\Minesweeper\cool.png");
+ CheckHiScore();
+ }
+ }
+ }
+
+ private void SetQuest()
+ {
+ if ((ID >= 500) && (!GameOver))
+ {
+ GameON = true;
+
+ int y = ID - 500;
+ y = (int)y / 30;
+
+ int x = ID - 500;
+ x = x - (y * 30);
+
+ x = x - 1;
+ y = y - 1;
+
+ int val = board[x, y];
+
+ if ((x >= 0) && (y >= 0) && (x < bx) && (y < by))
+ {
+ if (val == 20)
+ {
+ Point pt = new Point();
+ pt.X = x;
+ pt.Y = y;
+ board[x, y] = 10;
+ SetPoint(pt);
+ }
+ if (val == 10)
+ {
+ Point pt = new Point();
+ pt.X = x;
+ pt.Y = y;
+ board[x, y] = 20;
+ SetPoint(pt);
+ }
+ }
+ }
+ }
+
+ private void Check9()
+ {
+ if ((ID >= 500) && (!GameOver) && (GameON))
+ {
+ int y = ID - 500;
+ y = (int)y / 30;
+
+ int x = ID - 500;
+ x = x - (y * 30);
+
+ x = x - 1;
+ y = y - 1;
+
+ if ((x >= 0) && (y >= 0) && (x < bx) && (y < by))
+ {
+ int val = board[x, y];
+ Point pt = new Point();
+ pt.X = x;
+ pt.Y = y;
+
+ if (val == GetMBombs(pt))
+ {
+ for (int i = 0; i < 8; i++)
+ {
+ Point px = new Point();
+ px.X = x + posX[i];
+ px.Y = y + posY[i];
+
+ if ((px.X >= 0) && (px.Y >= 0) && (px.X < bx) && (px.Y < by))
+ {
+ SetPlace(px);
+ }
+ }
+ ...
[truncated message content] |