Set puzzle: Difference between revisions

Content added Content deleted
m (moved Categorys to top)
Line 1,025: Line 1,025:
)
)


var (
const (
number = []string{"1", "2", "3"}
number = [3]string{"1", "2", "3"}
color = []string{"red", "green", "purple"}
color = [3]string{"red", "green", "purple"}
shade = []string{"solid", "open", "striped"}
shade = [3]string{"solid", "open", "striped"}
shape = []string{"oval", "squiggle", "diamond"}
shape = [3]string{"oval", "squiggle", "diamond"}
)
)


Line 1,044: Line 1,044:
func main() {
func main() {
rand.Seed(time.Now().Unix())
rand.Seed(time.Now().Unix())
basic()
advanced()
}

func basic() {
game("Basic", 9, 4)
game("Basic", 9, 4)
}

func advanced() {
game("Advanced", 12, 6)
game("Advanced", 12, 6)
}
}
Line 1,078: Line 1,070:
for _, c3 := range d[:j] {
for _, c3 := range d[:j] {
for f := card(1); f < 81; f *= 3 {
for f := card(1); f < 81; f *= 3 {
if (c1/f%3+c2/f%3+c3/f%3)%3 != 0 {
if (c1/f%3 + c2/f%3 + c3/f%3) % 3 != 0 {
continue l3 // not a set
continue l3 // not a set
}
}
Line 1,096: Line 1,088:
fmt.Println("Sets:")
fmt.Println("Sets:")
for _, s := range found {
for _, s := range found {
fmt.Println(" ", s[0])
fmt.Printf(" %s\n %s\n %s\n",s[0],s[1],s[2])
fmt.Println(" ", s[1])
fmt.Println(" ", s[2])
fmt.Println()
}
}
}</lang>
}</lang>