uh oh. ;-) On Tue, Jan 22, 2019 at 12:14 PM Bakul Shah <ba...@bitblocks.com> wrote:
> This is kind of like tic-tac-toe! The first player has an advantage. > Gomoku's swap2 rule makes it fairer and more interesting! > > Also a good game to practice writing alpha-beta pruning search (for > playing with a computer)! > > Representing the board as two sets of n^2 bitmaps would speed things up > and allow searching more plys (turns) ahead in a given time period. Two > because you need to represent black, white, empty states for each square. > Sets make it easier/faster to check for "better" placements. > > I think Marcus is really talking about checking for valid row, column > numbers[1]. But this valid row/column index problem can be trivially solved > by simply doing a modulo operation! That is, if the user types 45, 45, > treat it as if he typed 1, 1 (for a 15x15 board, rows and columns are > numbered 0..14). > > [1] I suspect this is a homework problem..... > > On Jan 22, 2019, at 11:37 AM, Michael Jones <michael.jo...@gmail.com> > wrote: > > 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 <marcus...@gmail.com> 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 golang-nuts+unsubscr...@googlegroups.com. >> For more options, visit https://groups.google.com/d/optout. >> > > > -- > > *Michael T. jonesmichael.jo...@gmail.com <michael.jo...@gmail.com>* > > -- > 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 golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > > > -- *Michael T. jonesmichael.jo...@gmail.com <michael.jo...@gmail.com>* -- 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 golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.