I could not decode the question, so I just wrote a program to do it all. John, does this help? Change the constants for whatever board geometry and n-in-a-row victory rule you want.
https://play.golang.org/p/JtouiOlkGCO P.S. the progression from 3 to 4 to 5 in a row is a great way to teach kids important mental skills. On Tue, Jan 22, 2019 at 7:39 AM Marcus Low <[email protected]> wrote: > I meant "constant *space* overhead", sorry. > > On Tuesday, January 22, 2019 at 11:38:02 PM UTC+8, Marcus Low wrote: >> >> As Justin Israel said, you can probably scan them to int and test them as >> ints. >> >> However, if you *really* need them to be parsed as string, this will >> help your runtime, at the cost of constant overhead: >> var ( >> valueSet = map[string]struct{}{ >> "1":nil, >> "2":nil, >> "3":nil, >> .... >> "15":nil, >> } >> ) >> >> func checkValue(s string) bool { >> _, ok := valueSet[s] >> return ok >> } >> >> func fix() { >> if checkValue(x) { >> .... >> } >> .... >> } >> >> >> >> On Tuesday, January 22, 2019 at 6:40:52 AM UTC+8, John wrote: >>> >>> Dear Gophers, >>> >>> I have recently made a project of Connect Five. When the imput is wrong >>> it will have a goroutine problem that says something about out of index, as >>> my game win function depends on if the x = b and x+1 = b and so on. But if >>> the imput is not 1,2 1,3 and so on, or it is over 15, 15 it will be wrong. >>> I made a solution of creating a function like this: >>> >>> func fix() { >>> if x == "1"|| x == "2"|| x == "3"|| x == "4"|| x == "5"|| x == "6"|| x >>> == "7"|| x == "8"|| x == "9"|| x == "10"|| x == "11"|| x == "12"|| x == >>> "13"|| x == "14"|| x == "15" { >>> if y == "1"|| y == "2"|| y == "3"|| y == "4"|| y == "5"|| y == "6"|| y >>> == "7"|| y == "8"|| y == "9"|| y == "10"|| y == "11"|| y == "12"|| y == >>> "13"|| y == "14"|| y == "15" { >>> blwi() >>> } else { >>> showBoard() >>> fmt.Println("Sorry you had entered wrong please enter again") >>> fmt.Scanln(&x,&y) >>> fix() >>> } >>> } >>> >>> It for some reason won't work. So I wonder if any of you can help me >>> correct the function and simplify it. (it goes right between the imput and >>> the win function.) >>> >>> >>> >> -- > You received this message because you are subscribed to the Google Groups > "golang-nuts" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > For more options, visit https://groups.google.com/d/optout. > -- *Michael T. [email protected] <[email protected]>* -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
