Major code changes
This commit is contained in:
parent
debba32aa2
commit
cf3579e6ae
1 changed files with 241 additions and 13 deletions
254
main.go
254
main.go
|
|
@ -2,8 +2,10 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"math/rand/v2"
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"strings"
|
||||||
|
|
||||||
"bufio"
|
"bufio"
|
||||||
_ "embed"
|
_ "embed"
|
||||||
|
|
@ -14,22 +16,54 @@ import (
|
||||||
//go:embed menu.txt
|
//go:embed menu.txt
|
||||||
var menu string
|
var menu string
|
||||||
|
|
||||||
|
//go:embed levels/wifey.txt
|
||||||
|
var wifey string
|
||||||
|
|
||||||
|
//go:embed levels/wife-fucked.txt
|
||||||
|
var wifeyFucked string
|
||||||
|
|
||||||
//go:embed officers.txt
|
//go:embed officers.txt
|
||||||
var officers string
|
var officers string
|
||||||
|
|
||||||
|
//go:embed intro.txt
|
||||||
|
var intro string
|
||||||
|
|
||||||
|
//go:embed levels/propertyRoom.txt
|
||||||
|
var propertyRoom string
|
||||||
|
|
||||||
|
// other variables - keep these from mixing with above embed strigs - its a weird go thing
|
||||||
var stats string
|
var stats string
|
||||||
|
var PlayerName string
|
||||||
var condoms = 10
|
var condoms = 10
|
||||||
|
var money = 1800
|
||||||
var money = 1000
|
var whores = 1
|
||||||
|
var cocaines = 0
|
||||||
|
var fentanyl = 0
|
||||||
|
var oxies = 0
|
||||||
|
var LSD = 0
|
||||||
|
|
||||||
var border = lipgloss.NewStyle().
|
var border = lipgloss.NewStyle().
|
||||||
BorderStyle(lipgloss.NormalBorder()).
|
BorderStyle(lipgloss.NormalBorder()).
|
||||||
BorderForeground(lipgloss.Color("63"))
|
BorderForeground(lipgloss.Color("63"))
|
||||||
|
|
||||||
|
var storyBorder = lipgloss.NewStyle().
|
||||||
|
BorderStyle(lipgloss.NormalBorder()).
|
||||||
|
Width(75).
|
||||||
|
BorderForeground(lipgloss.Color("228")).
|
||||||
|
BorderBackground(lipgloss.Color("#0000FF"))
|
||||||
|
|
||||||
var statsStyle = lipgloss.NewStyle().
|
var statsStyle = lipgloss.NewStyle().
|
||||||
|
BorderStyle(lipgloss.NormalBorder()).
|
||||||
Foreground(lipgloss.Color("#ffffffff ")).
|
Foreground(lipgloss.Color("#ffffffff ")).
|
||||||
Background(lipgloss.Color("#0000FF"))
|
Background(lipgloss.Color("#2a2a60ff"))
|
||||||
|
|
||||||
|
var red = lipgloss.NewStyle().
|
||||||
|
Foreground(lipgloss.Color("#ffffffff ")).
|
||||||
|
Background(lipgloss.Color("#f20b0bff"))
|
||||||
|
|
||||||
|
var green = lipgloss.NewStyle().
|
||||||
|
Foreground(lipgloss.Color("#18e60aff ")).
|
||||||
|
Background(lipgloss.Color("#55576aff"))
|
||||||
|
|
||||||
func ClearScreen() {
|
func ClearScreen() {
|
||||||
fmt.Print("\033[H\033[2J")
|
fmt.Print("\033[H\033[2J")
|
||||||
|
|
@ -40,24 +74,218 @@ func MashEnterKey() {
|
||||||
bufio.NewReader(os.Stdin).ReadBytes('\n')
|
bufio.NewReader(os.Stdin).ReadBytes('\n')
|
||||||
}
|
}
|
||||||
|
|
||||||
func CheckStats() {
|
func breakRoom() {
|
||||||
stats = "Condoms: " + strconv.Itoa(condoms) + "\n" + "Money: $" + strconv.Itoa(money) // builds the stats paragraph for the main screen
|
fmt.Println("Not Implemented")
|
||||||
|
MainMachine()
|
||||||
}
|
}
|
||||||
|
|
||||||
func MainScreen() {
|
func doctorsRoom() {
|
||||||
|
fmt.Println("Not Implemented")
|
||||||
|
MainMachine()
|
||||||
|
}
|
||||||
|
|
||||||
|
func hitTheStreets() {
|
||||||
|
fmt.Println("Not Implemented")
|
||||||
|
MainMachine()
|
||||||
|
}
|
||||||
|
|
||||||
|
func PropertyRoom() {
|
||||||
|
ClearScreen()
|
||||||
|
i := 0
|
||||||
|
choice := ""
|
||||||
|
for i < 1 {
|
||||||
|
fmt.Println(storyBorder.Render(propertyRoom))
|
||||||
|
fmt.Println("Your choice,")
|
||||||
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
|
fmt.Scan(&choice)
|
||||||
|
if strings.ToUpper(choice) == "C" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Cocaine Menu"))
|
||||||
|
fmt.Println("Price: ", red.Render("$1000 per gram."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy one gram (Y/N)?")
|
||||||
|
cokePurchase := ""
|
||||||
|
fmt.Scan(&cokePurchase)
|
||||||
|
if strings.ToUpper(cokePurchase) == "Y" {
|
||||||
|
if money > 1000 {
|
||||||
|
cocaines = cocaines + 1
|
||||||
|
money = money - 1000
|
||||||
|
fmt.Println("You just purchased 1 gram of coke!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "L" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("LSD Menu"))
|
||||||
|
fmt.Println("Price: ", red.Render("$100 for five tabs."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy six tabs (Y/N)?")
|
||||||
|
LSDPurchase := ""
|
||||||
|
fmt.Scan(&LSDPurchase)
|
||||||
|
if strings.ToUpper(LSDPurchase) == "Y" {
|
||||||
|
if money > 100 {
|
||||||
|
LSD = LSD + 5
|
||||||
|
money = money - 100
|
||||||
|
fmt.Println("You just purchased 5 tabs of LSD!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "F" {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(border.Render("Fentanyl Menu"))
|
||||||
|
fmt.Println("Price: ", red.Render("$500 per hundred milligrams."))
|
||||||
|
fmt.Println("Your cash: $", strconv.Itoa(money))
|
||||||
|
fmt.Println("")
|
||||||
|
fmt.Println("Buy 100 milligrams (Y/N)?")
|
||||||
|
fentyPurchase := ""
|
||||||
|
fmt.Scan(&fentyPurchase)
|
||||||
|
if strings.ToUpper(fentyPurchase) == "Y" {
|
||||||
|
if money > 500 {
|
||||||
|
fentanyl = fentanyl + 1
|
||||||
|
money = money - 500
|
||||||
|
fmt.Println("You just purchased 1 bag of fenty!")
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
} else {
|
||||||
|
fmt.Println(red.Render("Get some money, broke-ass!"))
|
||||||
|
MashEnterKey()
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
} else if strings.ToUpper(choice) == "R" {
|
||||||
|
i = 1
|
||||||
|
MainMachine()
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func redRoom() {
|
||||||
|
fmt.Println("Not Implemented")
|
||||||
|
MainMachine()
|
||||||
|
}
|
||||||
|
|
||||||
|
func ClockOut() {
|
||||||
|
choice := 0
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(storyBorder.Render(wifey))
|
||||||
|
for choice < 1 {
|
||||||
|
fmt.Println("Your choice,")
|
||||||
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
|
fmt.Scan(&choice)
|
||||||
|
switch choice {
|
||||||
|
case 1:
|
||||||
|
chance := rand.IntN(100)
|
||||||
|
if chance < 50 {
|
||||||
|
ClearScreen()
|
||||||
|
if cocaines < 1 {
|
||||||
|
fmt.Println(red.Render("You pull out 1kg of cocaine and smash it open all over your face"))
|
||||||
|
cocaines = cocaines - 1
|
||||||
|
fmt.Println(red.Render("You shout 'COKE SLAM!'"))
|
||||||
|
fmt.Println(red.Render("You bust your wife right in the fucking face!"))
|
||||||
|
fmt.Println(red.Render("YARRRRR! (You don't know why you're a pirate now)"))
|
||||||
|
MashEnterKey()
|
||||||
|
} else {
|
||||||
|
fmt.Println(red.Render("You bust your wife right in the fucking face!"))
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
ClearScreen()
|
||||||
|
fmt.Println(red.Render("You try to bust your wife in the face but she dodges you and runs out the front door!"))
|
||||||
|
fmt.Println(red.Render("Oh well.. who is she gonna call bro?"))
|
||||||
|
MashEnterKey()
|
||||||
|
}
|
||||||
|
choice = 1
|
||||||
|
case 2:
|
||||||
|
fmt.Println(border.Render(wifeyFucked))
|
||||||
|
fmt.Println("You fuck your wife like one of your dirty whores!")
|
||||||
|
MashEnterKey()
|
||||||
|
choice = 1
|
||||||
|
case 3:
|
||||||
|
fmt.Println("You take some of your drugs. You are enjoying your life for once.")
|
||||||
|
choice = 1
|
||||||
|
default:
|
||||||
|
choice = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func CheckStats() {
|
||||||
|
stats = "PLAYER STATS" + "\n\n" + "Name " + "\n" + PlayerName + "\n" + "Condoms: " + strconv.Itoa(condoms) + "\n" + "Money: $" + strconv.Itoa(money) + "\n" + "Whores:" + strconv.Itoa(whores) + "\n" + "Cocaine (1 gram bags): " + strconv.Itoa(cocaines) + "\n" + "Fentanyl (100/mg bags): " + strconv.Itoa(fentanyl) + "\n" + "Oxycodone (pills): " + strconv.Itoa(oxies) + "\n" + "LSD (tabs): " + strconv.Itoa(LSD) // builds the stats paragraph for the main screen
|
||||||
|
}
|
||||||
|
|
||||||
|
func MainMachine() {
|
||||||
|
ClearScreen()
|
||||||
|
i := 0
|
||||||
|
choice := ""
|
||||||
|
for i < 1 {
|
||||||
|
ScreenMachine()
|
||||||
|
fmt.Println("Your choice,")
|
||||||
|
fmt.Print(green.Render(PlayerName), ">")
|
||||||
|
fmt.Scan(&choice)
|
||||||
|
if strings.ToUpper(choice) == "H" {
|
||||||
|
hitTheStreets()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "P" {
|
||||||
|
PropertyRoom()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "B" {
|
||||||
|
breakRoom()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "R" {
|
||||||
|
redRoom()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "D" {
|
||||||
|
doctorsRoom()
|
||||||
|
i = 1
|
||||||
|
} else if strings.ToUpper(choice) == "G" {
|
||||||
|
ClockOut()
|
||||||
|
i = 1
|
||||||
|
} else {
|
||||||
|
i = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func ScreenMachine() {
|
||||||
CheckStats()
|
CheckStats()
|
||||||
fmt.Println(border.Render("OPP Wars - Organized Crime Edition"))
|
fmt.Println(border.Render("OPP Wars - Corruption"))
|
||||||
fmt.Println(lipgloss.JoinHorizontal(lipgloss.Bottom, border.Render(menu), statsStyle.Render(stats))) // makes a horizontal display joining two paras
|
fmt.Println(lipgloss.JoinHorizontal(lipgloss.Top, border.Render(menu), statsStyle.Render(stats))) // makes a horizontal display joining two paras
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
officerStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("0000FF"))
|
officerStyle := lipgloss.NewStyle().Foreground(lipgloss.Color("0000FF"))
|
||||||
|
fmt.Println(border.Render("OPP Wars - Corruption"))
|
||||||
fmt.Println(border.Render("OPP Wars - Organized Crime Edition"))
|
|
||||||
|
|
||||||
fmt.Println(officerStyle.Render(officers))
|
fmt.Println(officerStyle.Render(officers))
|
||||||
MashEnterKey()
|
MashEnterKey()
|
||||||
ClearScreen()
|
ClearScreen()
|
||||||
MainScreen()
|
fmt.Println(border.Render("OPP Wars - Corruption"))
|
||||||
|
fmt.Println(storyBorder.Render(intro))
|
||||||
|
fmt.Print("Enter your damned name, Constable: ")
|
||||||
|
reader := bufio.NewReader(os.Stdin)
|
||||||
|
prompt, _ := reader.ReadString('\n')
|
||||||
|
playerNameMaker := strings.Clone(prompt)
|
||||||
|
PlayerName = strings.TrimRight(playerNameMaker, "\n") // removes a trailing "Return" key that fucks everything up (i dont want the enter key IN the variable)
|
||||||
|
ClearScreen()
|
||||||
|
MainMachine()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue