Example code from AI, because I am 10x engineer! Auto scale the ram bro.
This commit is contained in:
parent
05fa551cd3
commit
387efc43ea
2 changed files with 78 additions and 0 deletions
39
shuffle-algorithmyvagina
Normal file
39
shuffle-algorithmyvagina
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
* **A. Simple Shuffle (Most Common & Effective for Simple Games):**
|
||||||
|
- This is the easiest and most effective approach for most cases. It involves re-generating the sequence of function calls.
|
||||||
|
- **How it works:** It uses the `rand.Shuffle(n)` function to randomly reorder the generated sequence of function calls. `n` is the number of functions to shuffle.
|
||||||
|
- **Code Example:**
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/rand"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Example: Create a list of 5 functions.
|
||||||
|
functions := []func(){
|
||||||
|
func1(1) { /* Function 1 logic */ },
|
||||||
|
func2(2) { /* Function 2 logic */ },
|
||||||
|
func3(3) { /* Function 3 logic */ },
|
||||||
|
func4(4) { /* Function 4 logic */ },
|
||||||
|
func5(5) { /* Function 5 logic */ },
|
||||||
|
}
|
||||||
|
|
||||||
|
// Seed the random number generator for more variability. Important!
|
||||||
|
rand.Seed(time.Now().UnixNano()) //Use a unique seed value
|
||||||
|
|
||||||
|
// Shuffle the functions.
|
||||||
|
for i := 0; i < len(functions); i++ {
|
||||||
|
indices := rand.Perm(len(functions)) //Generate random indices
|
||||||
|
functions[indices]() //Call the function at the randomly chosen index
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Randomized Functions:")
|
||||||
|
for _, func := range functions {
|
||||||
|
fmt.Println(func())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
39
shuffle-algorithmyvagina.md
Normal file
39
shuffle-algorithmyvagina.md
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
**A. Simple Shuffle (Most Common & Effective for Simple Games):**
|
||||||
|
- This is the easiest and most effective approach for most cases. It involves re-generating the sequence of function calls.
|
||||||
|
- **How it works:** It uses the `rand.Shuffle(n)` function to randomly reorder the generated sequence of function calls. `n` is the number of functions to shuffle.
|
||||||
|
- **Code Example:**
|
||||||
|
|
||||||
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/rand"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// Example: Create a list of 5 functions.
|
||||||
|
functions := []func(){
|
||||||
|
func1(1) { /* Function 1 logic */ },
|
||||||
|
func2(2) { /* Function 2 logic */ },
|
||||||
|
func3(3) { /* Function 3 logic */ },
|
||||||
|
func4(4) { /* Function 4 logic */ },
|
||||||
|
func5(5) { /* Function 5 logic */ },
|
||||||
|
}
|
||||||
|
|
||||||
|
// Seed the random number generator for more variability. Important!
|
||||||
|
rand.Seed(time.Now().UnixNano()) //Use a unique seed value
|
||||||
|
|
||||||
|
// Shuffle the functions.
|
||||||
|
for i := 0; i < len(functions); i++ {
|
||||||
|
indices := rand.Perm(len(functions)) //Generate random indices
|
||||||
|
functions[indices]() //Call the function at the randomly chosen index
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("Randomized Functions:")
|
||||||
|
for _, func := range functions {
|
||||||
|
fmt.Println(func())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
Loading…
Add table
Add a link
Reference in a new issue