Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
数据小师弟
Python五子棋
提交
cc414d85
P
Python五子棋
项目概览
数据小师弟
/
Python五子棋
与 Fork 源项目一致
Fork自
inscode / Python
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
Python五子棋
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
cc414d85
编写于
3月 21, 2025
作者:
D
dl11007
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
upload
上级
0a575cc3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
145 addition
and
19 deletion
+145
-19
.inscode
.inscode
+0
-12
inscode.nix
inscode.nix
+0
-6
main.py
main.py
+144
-1
requirements.txt
requirements.txt
+1
-0
未找到文件。
.inscode
浏览文件 @
cc414d85
run = "pip install -r requirements.txt;python main.py"
language = "python"
language = "python"
[packager]
AUTO_PIP = true
[env]
VIRTUAL_ENV = "/root/${PROJECT_DIR}/venv"
PATH = "${VIRTUAL_ENV}/bin:${PATH}"
PYTHONPATH = "$PYTHONHOME/lib/python3.10:${VIRTUAL_ENV}/lib/python3.10/site-packages"
REPLIT_POETRY_PYPI_REPOSITORY = "http://mirrors.csdn.net.cn/repository/csdn-pypi-mirrors/simple"
MPLBACKEND = "TkAgg"
POETRY_CACHE_DIR = "/root/${PROJECT_DIR}/.cache/pypoetry"
[debugger]
[debugger]
program = "main.py"
program = "main.py"
inscode.nix
已删除
100644 → 0
浏览文件 @
0a575cc3
{
pkgs
}:
{
deps
=
[
pkgs
.
python310Packages
.
pip
pkgs
.
python310Full
];
}
\ No newline at end of file
main.py
浏览文件 @
cc414d85
print
(
'欢迎来到 InsCode'
)
import
numpy
as
np
\ No newline at end of file
# 创建棋盘
board_size
=
15
board
=
np
.
zeros
((
board_size
,
board_size
))
# 定义棋子的标记
EMPTY
=
0
BLACK
=
1
WHITE
=
2
# 定义游戏状态
GAME_CONTINUE
=
0
GAME_OVER
=
1
# 当前玩家,默认黑棋先下
current_player
=
BLACK
# 检查是否五子连珠
def
check_win
(
row
,
col
):
# 水平方向
count
=
1
for
c
in
range
(
col
-
1
,
-
1
,
-
1
):
if
board
[
row
,
c
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
for
c
in
range
(
col
+
1
,
board_size
):
if
board
[
row
,
c
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
if
count
>=
5
:
return
True
# 垂直方向
count
=
1
for
r
in
range
(
row
-
1
,
-
1
,
-
1
):
if
board
[
r
,
col
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
for
r
in
range
(
row
+
1
,
board_size
):
if
board
[
r
,
col
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
if
count
>=
5
:
return
True
# 左斜方向
count
=
1
r
,
c
=
row
-
1
,
col
-
1
while
r
>=
0
and
c
>=
0
:
if
board
[
r
,
c
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
r
-=
1
c
-=
1
r
,
c
=
row
+
1
,
col
+
1
while
r
<
board_size
and
c
<
board_size
:
if
board
[
r
,
c
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
r
+=
1
c
+=
1
if
count
>=
5
:
return
True
# 右斜方向
count
=
1
r
,
c
=
row
-
1
,
col
+
1
while
r
>=
0
and
c
<
board_size
:
if
board
[
r
,
c
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
r
-=
1
c
+=
1
r
,
c
=
row
+
1
,
col
-
1
while
r
<
board_size
and
c
>=
0
:
if
board
[
r
,
c
]
==
board
[
row
,
col
]:
count
+=
1
else
:
break
r
+=
1
c
-=
1
if
count
>=
5
:
return
True
return
False
# 打印棋盘
def
print_board
():
# 打印列号
print
(
' '
,
end
=
''
)
for
col
in
range
(
board_size
):
print
(
col
,
end
=
' '
)
print
()
for
row
in
range
(
board_size
):
# 打印行号
print
(
row
,
end
=
' '
)
for
col
in
range
(
board_size
):
if
board
[
row
,
col
]
==
EMPTY
:
print
(
'. '
,
end
=
''
)
elif
board
[
row
,
col
]
==
BLACK
:
print
(
'X '
,
end
=
''
)
elif
board
[
row
,
col
]
==
WHITE
:
print
(
'O '
,
end
=
''
)
print
()
# 游戏循环
while
True
:
print_board
()
# 输入下棋位置
row_input
=
input
(
"请输入下棋行号:"
)
while
not
row_input
.
isdigit
():
row_input
=
input
(
"行号不能为空或者非数字,请重新输入下棋行号:"
)
col_input
=
input
(
"请输入下棋列号:"
)
while
not
col_input
.
isdigit
():
col_input
=
input
(
"行号不能为空或者非数字,请重新输入下棋行号:"
)
row
=
int
(
row_input
)
col
=
int
(
col_input
)
# 检查是否合法位置
if
row
<
0
or
row
>=
board_size
or
col
<
0
or
col
>=
board_size
or
board
[
row
,
col
]
!=
EMPTY
:
print
(
"非法位置,请重新输入!"
)
continue
# 下棋
board
[
row
,
col
]
=
current_player
# 检查游戏状态
if
check_win
(
row
,
col
):
print_board
()
print
(
"玩家"
,
current_player
,
"获胜!"
)
break
# 切换玩家
current_player
=
WHITE
if
current_player
==
BLACK
else
BLACK
requirements.txt
浏览文件 @
cc414d85
numpy
==2.2.4
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录