Use left, right arrow to move left, right.
Press down to drop a dot.
Made in tynker.com, the Python 1 course, not cross-platform compatible but source code is below
import turtle screen = turtle.Screen() screen.delay(0) chip = turtle.Turtle() chip.shape("circle") chip.color("green") chip.penup() chip.speed(0) connect = [] CHIP_DIST = 30 # the distance each chip will be apart ORIGIN_X = -90 ORIGIN_Y = -100 RIGHTMOST_COL = ORIGIN_X + CHIP_DIST * 6 for i in range(7) : connect.append([]) x = connect[i] for j in range(7) : x.append(0) chip.goto(ORIGIN_X + i * CHIP_DIST, ORIGIN_Y + j * CHIP_DIST) chip.stamp() chip.color("blue") chip.goto(ORIGIN_X + 3 * CHIP_DIST, ORIGIN_Y + 7 * CHIP_DIST) running = True def r() : if running : x = chip.xcor() if x < RIGHTMOST_COL : chip.setx(x + CHIP_DIST) else : chip.setx(ORIGIN_X) def l() : if running : x = chip.xcor() if x > ORIGIN_X : chip.setx(x - CHIP_DIST) else : chip.setx(RIGHTMOST_COL) turn = 1 def checkrow(x, y): count = 1 for i in range(1, 4): if x + i > -1 and connect[x+i][y] == turn: count += 1 else: break for i in range(1, 4): if x - i> -1 and connect[x - i][y] == turn: count += 1 else: break if count >= 4: return True return False def checkcolumn(x, y): count = 1 for i in range(1, 4): if y + i < 7 and connect[x][y + i] == turn: count += 1 else: break for i in range(1, 4): if y - i > -1 and connect[x][y - i] == turn: count += 1 else: break if count >= 4: return True return False def haswinner(x, y): return checkrow(x, y) or checkcolumn(x, y) def d() : global turn, running if running : x = int((chip.xcor() - ORIGIN_X) / CHIP_DIST) col = connect[x] for y in range(len(col)) : if(col[y] == 0) : chip.sety(ORIGIN_Y + y * CHIP_DIST) chip.stamp() chip.goto(ORIGIN_X + 3 * CHIP_DIST, ORIGIN_Y + 7 * CHIP_DIST) connect[x][y] = turn if haswinner(x, y): running = False print("Player " + str(turn) + " is the winner!") elif turn == 1 : turn = 2 chip.color("red") else : turn = 1 chip.color("blue") break screen.onkey(r, "Right") screen.onkey(l, "Left") screen.onkey(d, "Down") screen.listen()