From Wikipedia:
C# (pronounced see sharp) is a multi-paradigm programming language encompassing strong typing, imperative, declarative, functional, generic, object-oriented (class-based), and component-oriented programming disciplines. It was developed by Microsoft within its .NET initiative and later approved as a standard by Ecma and ISO. C# is one of the programming languages designed for the Common Language Infrastructure.
C# is intended to be a simple, modern, general-purpose, object-oriented programming language. Its development team is led by Anders Hejlsberg. The most recent version is C# 4.0, which was released on April 12, 2010.
The following is a very simple program written in C#, with one purpose, to lead you to a geocache. It is in no way the most efficient way of producing the same output but the efficient way would have been a dawdle. If you have the correct tools, ie. the ones I use, or something similar, then this too will be nice and simple. If you don't have the tools, you can either find them online, or get a bit friendlier with google, they have all the info you need.
NOTE: Puzzle CAN be solved without any need to download and/or install software
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Geocache {
public partial class Geocache : Form {
public Geocache() {
InitializeComponent();
}
private void Geocache_Load(object sender, EventArgs e) {
Graphics g = this.CreateGraphics();
Pen p = new Pen(Color.Black, 5);
g.DrawLine(p, 30, 30, 35, 30);
g.DrawLine(p, 40, 30, 45, 30);
g.DrawLine(p, 50, 30, 55, 30);
g.DrawLine(p, 80, 30, 100, 30);
g.DrawLine(p, 105, 30, 125, 30);
g.DrawLine(p, 130, 30, 150, 30);
g.DrawLine(p, 175, 30, 180, 30);
g.DrawLine(p, 185, 30, 190, 30);
g.DrawLine(p, 195, 30, 215, 30);
g.DrawLine(p, 240, 30, 260, 30);
g.DrawLine(p, 285, 30, 290, 30);
g.DrawLine(p, 295, 30, 300, 30);
g.DrawLine(p, 305, 30, 310, 30);
g.DrawLine(p, 315, 30, 320, 30);
g.DrawLine(p, 345, 30, 350, 30);
g.DrawLine(p, 355, 30, 360, 30);
g.DrawLine(p, 365, 30, 370, 30);
g.DrawLine(p, 375, 30, 380, 30);
g.DrawLine(p, 385, 30, 405, 30);
g.DrawLine(p, 430, 30, 435, 30);
g.DrawLine(p, 440, 30, 445, 30);
g.DrawLine(p, 450, 30, 455, 30);
g.DrawLine(p, 460, 30, 480, 30);
g.DrawLine(p, 485, 30, 505, 30);
g.DrawLine(p, 530, 30, 535, 30);
g.DrawLine(p, 540, 30, 545, 30);
g.DrawLine(p, 550, 30, 555, 30);
g.DrawLine(p, 560, 30, 580, 30);
g.DrawLine(p, 585, 30, 605, 30);
g.DrawLine(p, 630, 30, 650, 30);
g.DrawLine(p, 655, 30, 675, 30);
g.DrawLine(p, 680, 30, 700, 30);
g.DrawLine(p, 705, 30, 725, 30);
g.DrawLine(p, 730, 30, 750, 30);
g.DrawLine(p, 775, 30, 780, 30);
g.DrawLine(p, 785, 30, 805, 30);
g.DrawLine(p, 810, 30, 815, 30);
g.DrawLine(p, 820, 30, 840, 30);
g.DrawLine(p, 845, 30, 850, 30);
g.DrawLine(p, 855, 30, 875, 30);
g.DrawLine(p, 900, 30, 905, 30);
g.DrawLine(p, 910, 30, 915, 30);
g.DrawLine(p, 920, 30, 925, 30);
g.DrawLine(p, 930, 30, 935, 30);
g.DrawLine(p, 940, 30, 945, 30);
g.DrawLine(p, 970, 30, 990, 30);
g.DrawLine(p, 995, 30, 1015, 30);
g.DrawLine(p, 1020, 30, 1040, 30);
g.DrawLine(p, 1045, 30, 1065, 30);
g.DrawLine(p, 1070, 30, 1075, 30);
g.DrawLine(p, 1100, 30, 1120, 30);
g.DrawLine(p, 1125, 30, 1145, 30);
g.DrawLine(p, 1150, 30, 1170, 30);
g.DrawLine(p, 1175, 30, 1180, 30);
g.DrawLine(p, 1185, 30, 1190, 30);
g.DrawLine(p, 30, 60, 35, 60);
g.DrawLine(p, 60, 60, 65, 60);
g.DrawLine(p, 70, 60, 90, 60);
g.DrawLine(p, 115, 60, 120, 60);
g.DrawLine(p, 125, 60, 130, 60);
g.DrawLine(p, 135, 60, 140, 60);
g.DrawLine(p, 165, 60, 185, 60);
g.DrawLine(p, 210, 60, 215, 60);
g.DrawLine(p, 220, 60, 240, 60);
g.DrawLine(p, 245, 60, 265, 60);
g.DrawLine(p, 270, 60, 290, 60);
g.DrawLine(p, 295, 60, 315, 60);
g.DrawLine(p, 340, 60, 360, 60);
g.DrawLine(p, 365, 60, 385, 60);
g.DrawLine(p, 390, 60, 395, 60);
g.DrawLine(p, 400, 60, 405, 60);
g.DrawLine(p, 410, 60, 415, 60);
g.DrawLine(p, 440, 60, 445, 60);
g.DrawLine(p, 450, 60, 455, 60);
g.DrawLine(p, 460, 60, 480, 60);
g.DrawLine(p, 485, 60, 505, 60);
g.DrawLine(p, 510, 60, 530, 60);
g.DrawLine(p, 555, 60, 560, 60);
g.DrawLine(p, 565, 60, 570, 60);
g.DrawLine(p, 575, 60, 580, 60);
g.DrawLine(p, 585, 60, 605, 60);
g.DrawLine(p, 610, 60, 630, 60);
g.DrawLine(p, 655, 60, 660, 60);
g.DrawLine(p, 665, 60, 670, 60);
g.DrawLine(p, 675, 60, 680, 60);
g.DrawLine(p, 685, 60, 705, 60);
g.DrawLine(p, 710, 60, 730, 60);
g.DrawLine(p, 755, 60, 760, 60);
g.DrawLine(p, 765, 60, 785, 60);
g.DrawLine(p, 790, 60, 795, 60);
g.DrawLine(p, 800, 60, 820, 60);
g.DrawLine(p, 825, 60, 830, 60);
g.DrawLine(p, 835, 60, 855, 60);
g.DrawLine(p, 880, 60, 900, 60);
g.DrawLine(p, 905, 60, 925, 60);
g.DrawLine(p, 930, 60, 950, 60);
g.DrawLine(p, 955, 60, 975, 60);
g.DrawLine(p, 980, 60, 985, 60);
g.DrawLine(p, 1010, 60, 1030, 60);
g.DrawLine(p, 1035, 60, 1055, 60);
g.DrawLine(p, 1060, 60, 1065, 60);
g.DrawLine(p, 1070, 60, 1075, 60);
g.DrawLine(p, 1080, 60, 1085, 60);
g.DrawLine(p, 1110, 60, 1115, 60);
g.DrawLine(p, 1120, 60, 1140, 60);
g.DrawLine(p, 1145, 60, 1165, 60);
g.DrawLine(p, 1170, 60, 1190, 60);
g.DrawLine(p, 1195, 60, 1215, 60);
g.DrawLine(p, 30, 90, 35, 90);
g.DrawLine(p, 40, 90, 45, 90);
g.DrawLine(p, 50, 90, 70, 90);
g.DrawLine(p, 75, 90, 80, 90);
g.DrawLine(p, 105, 90, 125, 90);
g.DrawLine(p, 130, 90, 150, 90);
g.DrawLine(p, 155, 90, 175, 90);
g.DrawLine(p, 200, 90, 205, 90);
g.DrawLine(p, 210, 90, 230, 90);
g.DrawLine(p, 235, 90, 240, 90);
g.DrawLine(p, 265, 90, 285, 90);
g.DrawLine(p, 290, 90, 295, 90);
g.DrawLine(p, 300, 90, 320, 90);
g.DrawLine(p, 345, 90, 365, 90);
g.DrawLine(p, 370, 90, 390, 90);
g.DrawLine(p, 395, 90, 415, 90);
g.DrawLine(p, 440, 90, 445, 90);
g.DrawLine(p, 450, 90, 455, 90);
g.DrawLine(p, 460, 90, 480, 90);
g.DrawLine(p, 485, 90, 490, 90);
g.DrawLine(p, 515, 90, 535, 90);
g.DrawLine(p, 560, 90, 565, 90);
g.DrawLine(p, 570, 90, 590, 90);
g.DrawLine(p, 595, 90, 600, 90);
g.DrawLine(p, 625, 90, 630, 90);
g.DrawLine(p, 655, 90, 660, 90);
g.DrawLine(p, 685, 90, 690, 90);
g.DrawLine(p, 695, 90, 715, 90);
g.DrawLine(p, 740, 90, 760, 90);
g.DrawLine(p, 785, 90, 805, 90);
g.DrawLine(p, 810, 90, 830, 90);
g.DrawLine(p, 835, 90, 840, 90);
g.DrawLine(p, 865, 90, 870, 90);
g.DrawLine(p, 875, 90, 895, 90);
g.DrawLine(p, 900, 90, 905, 90);
g.DrawLine(p, 930, 90, 950, 90);
g.DrawLine(p, 955, 90, 975, 90);
g.DrawLine(p, 980, 90, 1000, 90);
g.DrawLine(p, 1025, 90, 1030, 90);
g.DrawLine(p, 1035, 90, 1040, 90);
g.DrawLine(p, 1045, 90, 1065, 90);
g.DrawLine(p, 1090, 90, 1110, 90);
g.DrawLine(p, 1115, 90, 1120, 90);
g.DrawLine(p, 1145, 90, 1165, 90);
g.DrawLine(p, 1170, 90, 1175, 90);
g.DrawLine(p, 1180, 90, 1185, 90);
g.DrawLine(p, 1210, 90, 1215, 90);
g.DrawLine(p, 1220, 90, 1240, 90);
g.DrawLine(p, 1245, 90, 1250, 90);
g.DrawLine(p, 1255, 90, 1260, 90);
g.DrawLine(p, 1285, 90, 1290, 90);
g.DrawLine(p, 1315, 90, 1320, 90);
g.DrawLine(p, 1325, 90, 1330, 90);
g.DrawLine(p, 1335, 90, 1340, 90);
g.DrawLine(p, 1345, 90, 1365, 90);
g.DrawLine(p, 1390, 90, 1395, 90);
g.DrawLine(p, 1420, 90, 1425, 90);
g.DrawLine(p, 1430, 90, 1450, 90);
g.DrawLine(p, 1455, 90, 1460, 90);
g.DrawLine(p, 1465, 90, 1470, 90);
g.DrawLine(p, 30, 120, 35, 120);
g.DrawLine(p, 40, 120, 45, 120);
g.DrawLine(p, 50, 120, 70, 120);
g.DrawLine(p, 75, 120, 95, 120);
g.DrawLine(p, 100, 120, 120, 120);
g.DrawLine(p, 145, 120, 165, 120);
g.DrawLine(p, 170, 120, 190, 120);
g.DrawLine(p, 195, 120, 215, 120);
g.DrawLine(p, 220, 120, 240, 120);
g.DrawLine(p, 245, 120, 265, 120);
g.DrawLine(p, 290, 120, 310, 120);
g.DrawLine(p, 315, 120, 335, 120);
g.DrawLine(p, 340, 120, 360, 120);
g.DrawLine(p, 365, 120, 385, 120);
g.DrawLine(p, 390, 120, 410, 120);
g.DrawLine(p, 435, 120, 455, 120);
g.DrawLine(p, 460, 120, 480, 120);
g.DrawLine(p, 505, 120, 510, 120);
g.DrawLine(p, 515, 120, 535, 120);
g.DrawLine(p, 540, 120, 545, 120);
g.DrawLine(p, 550, 120, 555, 120);
g.DrawLine(p, 580, 120, 585, 120);
g.DrawLine(p, 590, 120, 595, 120);
g.DrawLine(p, 600, 120, 605, 120);
g.DrawLine(p, 630, 120, 635, 120);
g.DrawLine(p, 640, 120, 645, 120);
g.DrawLine(p, 670, 120, 675, 120);
g.DrawLine(p, 680, 120, 685, 120);
g.DrawLine(p, 690, 120, 695, 120);
g.DrawLine(p, 720, 120, 740, 120);
g.DrawLine(p, 765, 120, 770, 120);
g.DrawLine(p, 795, 120, 815, 120);
g.DrawLine(p, 820, 120, 840, 120);
g.DrawLine(p, 865, 120, 870, 120);
g.DrawLine(p, 875, 120, 895, 120);
}
}
}