| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1543 人关注过本帖
标题:求助一下大佬们,几道python编程题
取消只看楼主 加入收藏
s1518838035
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-4-8
结帖率:0
收藏
已结贴  问题点数:10 回复次数:2 
求助一下大佬们,几道python编程题
现在设想我们使用Numpy来模拟这样一个游戏,具体要求如下:

利用Numpy生成一个 5×5 的二维数组(可以初始化每个元素都为0)作为棋盘,该数组的每个索引位置表示可放置棋子的位置,比如数组的[0, 0]可以表示棋盘上第一条横线与第一条竖线的交点,以此类推。在这一步你需要构造一个名为create_board()的函数用于生成一个 5×5 的棋盘,并以numpy数组作为返回值;
假如游戏中有两个玩家1和玩家2,分别使用1和2表示,即1表示玩家1持有的棋子,2表示玩家2持有的棋子。
构造一个函数game_one_move()表示一轮游戏后的结果,并以更新后的棋盘取值为返回值。
玩家1在棋盘上随机选择一个位置放置棋子,此时,该位置上数组取值将从0变成1,
玩家2也随机选择一个位置放置棋子,此时,该位置上数组取值将从0变成2,
玩家1和2依次进行以下步骤,注意,如果某个位置上已经被另一玩家放置了棋子,那么,当前玩家需要另选位置放置棋子,
构造一个函数game_results(),用于判断是否可以结束游戏,如果玩家1首先实现五子连线者获胜,则返回1,表示玩家1胜利,如果玩家2首先实现五子连线者获胜,则返回2,表示玩家2胜利,否则,返回0,表示平局。
构造一个函数game_playing(player1=1, player2=2),该函数接受三个参数,第一个参数是表示棋盘的数组,第二和第三个参数可以定义两个玩家的名字,默认分别是1和2,函数需要综合上述所有游戏的步骤,可以理解为,一旦你调用了game_playing()函数,游戏将自动开启,初始化棋盘并实现两个玩家依次下棋,直到分出胜负或平局,函数返回最终结果,如果玩家1胜则返回1,如果玩家2胜则返回2,平局则返回0。
在构造了game_playing(player1=1, player2=2)函数后,利用随机模拟验证一下五子棋游戏是否存在先手优势,也就是先落子的一方胜率更高?
搜索更多相关主题的帖子: 函数 棋盘 表示 返回 位置 
2021-06-24 09:07
s1518838035
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-4-8
收藏
得分:0 
回复 楼主 s1518838035
这题看的我很懵,希望有人能帮忙解答一下啊
2021-06-24 09:08
s1518838035
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2020-4-8
收藏
得分:0 
回复 3楼 古123
最关键就是这个算法不会写呢
2021-06-25 10:32
快速回复:求助一下大佬们,几道python编程题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015252 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved