Tic-tac-toe: Difference between revisions

Content added Content deleted
m (→‎{{header|Phix}}: made p2js compatible, added online link)
Line 2,838: Line 2,838:
<lang>len f[] 9
<lang>len f[] 9
state = 0
state = 0
textsize 14
set_textsize 14
#
#
func init . .
func init . .
set_linewidth 2
linewidth 2
clear
clear_screen
set_color 666
color 666
move_pen 34 4
move 34 4
draw_line 34 80
line 34 80
move_pen 62 4
move 62 4
draw_line 62 80
line 62 80
move_pen 10 28
move 10 28
draw_line 86 28
line 86 28
move_pen 10 56
move 10 56
draw_line 86 56
line 86 56
set_linewidth 2.5
linewidth 2.5
for i range 9
for i range 9
f[i] = 0
f[i] = 0
.
.
if state = 1
if state = 1
set_timer 0.2
timer 0.2
.
.
.
.
Line 2,866: Line 2,866:
y = r * 28 + 14
y = r * 28 + 14
if f[ind] = 4
if f[ind] = 4
set_color 900
color 900
move_pen x - 7 y - 7
move x - 7 y - 7
draw_line x + 7 y + 7
line x + 7 y + 7
move_pen x + 7 y - 7
move x + 7 y - 7
draw_line x - 7 y + 7
line x - 7 y + 7
elif f[ind] = 1
elif f[ind] = 1
set_color 009
color 009
move_pen x y
move x y
draw_circle 10
circle 10
set_color -2
color -2
draw_circle 7.5
circle 7.5
.
.
.
.
Line 2,939: Line 2,939:
.
.
func show_result val . .
func show_result val . .
set_color 555
color 555
move_pen 16 84
move 16 84
if val < 0
if val < 0
# this never happens
# this never happens
draw_text "You won"
text "You won"
elif val > 0
elif val > 0
draw_text "You lost"
text "You lost"
else
else
draw_text "Tie"
text "Tie"
.
.
state += 2
state += 2
Line 2,966: Line 2,966:
f[mov] = 1
f[mov] = 1
call draw mov
call draw mov
call rate val done
state = 1
state = 1
if done = 1
timer 0.5
call show_result val
else
set_timer 0.5
.
.
.
.
.
on timer
on timer
call computer
call rate val done
if done = 1
call show_result val
else
call computer
.
.
.
on mouse_down
on mouse_down