add early structure
This commit is contained in:
parent
d73b1c5902
commit
f9b0853266
9
character.go
Normal file
9
character.go
Normal file
@ -0,0 +1,9 @@
|
||||
package main
|
||||
|
||||
var (
|
||||
//Player player character
|
||||
Player = Character{
|
||||
name: "Daniel",
|
||||
location: "town",
|
||||
}
|
||||
)
|
1
enemies.go
Normal file
1
enemies.go
Normal file
@ -0,0 +1 @@
|
||||
package main
|
7
events.go
Normal file
7
events.go
Normal file
@ -0,0 +1,7 @@
|
||||
package main
|
||||
|
||||
/*
|
||||
func forestEvent() {
|
||||
print("You enter the forest \n")
|
||||
}
|
||||
*/
|
13
generate.go
Normal file
13
generate.go
Normal file
@ -0,0 +1,13 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"math/rand"
|
||||
"time"
|
||||
)
|
||||
|
||||
func genMessage(messageList []string) string {
|
||||
rand.Seed(time.Now().UnixNano())
|
||||
n := rand.Int() % len(messageList)
|
||||
return messageList[n]
|
||||
|
||||
}
|
6
main.go
Normal file
6
main.go
Normal file
@ -0,0 +1,6 @@
|
||||
package main
|
||||
|
||||
func main() {
|
||||
print(genMessage(deathMessages), "\n")
|
||||
//Movement(&Player)
|
||||
}
|
13
messages.go
Normal file
13
messages.go
Normal file
@ -0,0 +1,13 @@
|
||||
package main
|
||||
|
||||
var (
|
||||
deathMessages = []string{
|
||||
"You have done something foolish...died",
|
||||
"Do not expect a darwin award any time soon..",
|
||||
"Don't give up on dying, you are doing great!",
|
||||
"One day you should try...living",
|
||||
"Only those who lack common sense resemble you",
|
||||
"Give youself a break, you only failed to stay alive afterall",
|
||||
"God himself can't save you from stupidity",
|
||||
}
|
||||
)
|
18
structs.go
Normal file
18
structs.go
Normal file
@ -0,0 +1,18 @@
|
||||
package main
|
||||
|
||||
//Area places to explore
|
||||
type Area struct {
|
||||
description string
|
||||
weather string
|
||||
}
|
||||
|
||||
//Event current event state
|
||||
type Event struct {
|
||||
battle bool
|
||||
}
|
||||
|
||||
//Character creates format for any entity
|
||||
type Character struct {
|
||||
name string
|
||||
location string
|
||||
}
|
81
world.go
Normal file
81
world.go
Normal file
@ -0,0 +1,81 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sort"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var (
|
||||
areas = map[string]*Area{
|
||||
"town": {
|
||||
description: "You are in town",
|
||||
weather: "Sunny",
|
||||
},
|
||||
|
||||
"forest": {
|
||||
description: "You are in the forest",
|
||||
weather: "the sun beats down on you",
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
//Movement define world movement
|
||||
func Movement(player *Character) {
|
||||
//areaList := getAreaList(areas)
|
||||
var command [2]string
|
||||
var quit bool = false
|
||||
print("Character: ",
|
||||
player.name, "\n",
|
||||
"Location: ",
|
||||
player.location, "\n",
|
||||
"Description: ", areas["town"].description, "\n",
|
||||
"Weather: ", areas["town"].weather, "\n\n")
|
||||
var isArea string
|
||||
for quit != true {
|
||||
|
||||
print("Enter text: ")
|
||||
|
||||
fmt.Scanln(&command[0], &command[1])
|
||||
|
||||
command[0] = strings.ToLower(command[0])
|
||||
command[1] = strings.ToLower(command[1])
|
||||
|
||||
if _, ok := areas[command[0]]; ok {
|
||||
isArea = command[0]
|
||||
}
|
||||
|
||||
switch command[0] {
|
||||
case "q", "quit", "exit":
|
||||
print("Are you sure you want to quit?: (y/n) ")
|
||||
fmt.Scanln(&command[0])
|
||||
|
||||
if strings.ToLower(command[0]) == "y" {
|
||||
quit = true
|
||||
}
|
||||
|
||||
case isArea:
|
||||
player.location = command[0]
|
||||
print(areas[player.location].description, "\n")
|
||||
//forestEvent(areas[player.location])
|
||||
|
||||
case "list":
|
||||
var areaList []string
|
||||
for key := range areas {
|
||||
areaList = append(areaList, key)
|
||||
}
|
||||
|
||||
sort.Sort(sort.StringSlice(areaList))
|
||||
print("\nPlaces:\n\n")
|
||||
//Ignore key iterator and print the range of the value only.
|
||||
for _, val := range areaList {
|
||||
|
||||
print(val, "\n")
|
||||
}
|
||||
|
||||
default:
|
||||
print("Wrong command\n")
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user