about summary refs log tree commit diff
path: root/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'main.go')
-rw-r--r--main.go101
1 files changed, 101 insertions, 0 deletions
diff --git a/main.go b/main.go
new file mode 100644
index 0000000..fb04d85
--- /dev/null
+++ b/main.go
@@ -0,0 +1,101 @@
+package main
+
+import (
+	"./structs"
+	"fmt"
+	"os"
+)
+
+func printDie() {
+	fmt.Println("BOOOOOOOOOOOOM")
+	fmt.Println("BOOOOOOOOOOOOM")
+	fmt.Println("BOOOOOOOOOOOOM")
+	fmt.Println("BOOOOOOOOOOOOM")
+	fmt.Println("BOOOOOOOOOOOOM")
+	fmt.Println("\n YOU DIE \n\n\n")
+	fmt.Println("Game Over!")
+}
+
+func testDie(lab structs.Lab, position structs.Coord) {
+	if (lab.Arr[position.X][position.Y] == 2) {
+		printDie()
+		os.Exit(0)
+	}
+}
+
+func main() {
+	fmt.Println("The LAB: Reach 3 without dying! You are the 1 and only player!")
+
+	lab := structs.Lab{
+		Arr: [5][5]int{
+			{0, 0, 0, 2, 0},
+			{0, 1, 0, 2, 3},
+			{0, 0, 0, 2, 0},
+			{0, 2, 2, 2, 0},
+			{0, 0, 0, 0, 0},
+		},
+	}
+
+	position := structs.Coord{1, 1}
+
+	for {
+
+		// Print the game
+		for i := range lab.Arr {
+			fmt.Println(lab.Arr[i])
+		}
+
+		// Print a delimiter
+		fmt.Println("---")
+
+		fmt.Printf("Current position: (%d, %d)\n", position.X, position.Y)
+
+		fmt.Print("Enter movement (fw, bw, le, ri): ")
+		var text string
+		fmt.Scanln(&text)
+
+		switch text {
+		case "fw":
+			lab.Arr[position.X][position.Y] = 0
+
+			position.X = position.X - 1
+			position.Y = position.Y
+			testDie(lab, position)
+
+			lab.Arr[position.X][position.Y] = 1
+		case "bw":
+			lab.Arr[position.X][position.Y] = 0
+
+			position.X = position.X + 1
+			position.Y = position.Y
+			testDie(lab, position)
+
+			lab.Arr[position.X][position.Y] = 1
+		case "le":
+			lab.Arr[position.X][position.Y] = 0
+
+			position.X = position.X
+			position.Y = position.Y - 1
+			testDie(lab, position)
+
+			lab.Arr[position.X][position.Y] = 1
+		case "ri":
+			lab.Arr[position.X][position.Y] = 0
+
+			position.X = position.X
+			position.Y = position.Y + 1
+			testDie(lab, position)
+
+			lab.Arr[position.X][position.Y] = 1
+
+		}
+
+
+		if (position == structs.Coord{1, 4}) {
+			fmt.Println("YOU WIN!")
+			os.Exit(0)
+
+		}
+	}
+
+}
\ No newline at end of file