美文网首页
黑白棋子问题

黑白棋子问题

作者: e9f3ca3721bc | 来源:发表于2018-12-17 08:59 被阅读5次

问题描述

两个人下棋,一方执黑棋,一方执白棋。要求双方轮流下子。给出两种情况的解决办法:

1)执黑子一方先下

2)双方都可以先下,谁先抢到棋盘谁先下。然后开始轮流下子。

1)执黑子一方先下信号量:b=1,w=0

黑:

while(没结束){

wait(b);

下一黑棋;

signal(w);

}

白:

while(没结束){

wait(w);

下一白棋;

signal(b);

}

2)先抢到棋盘者先下,然后轮流下子

问题分析:

无法用单纯的信号量操作完成,因为初始值无法设置固定值。

争抢棋盘需要一个互斥信号m;加入if控制与标志判断。利用互斥信号量与特殊标志变量的结合使用实现有序控制。

Semaphore    m=1;turn=0;

while(没结束){p(m);if (turn<>2)

下一黑子;

  turn=2;

v(m)

}

白:

while(没结束){

p(m);

if (turn<>1)

下一白子;

turn=1;

v(m)

}

相关文章

  • 黑白棋子问题

    问题描述 两个人下棋,一方执黑棋,一方执白棋。要求双方轮流下子。给出两种情况的解决办法: 1)执黑子一方先下 2)...

  • 黑白棋子问题

    问题描述 两个人下棋,一方执黑棋,一方执白棋。要求双方轮流下子。给出两种情况的解决办法: 1)执黑子一方先下 2)...

  • Python实现黑白棋人机对弈

    Python实现黑白棋人机对弈 规则 黑白棋的每颗棋子由黑白两色组成,一面白,一面黑。每次落子,把本方颜色的棋子放...

  • 黑白棋子

    游戏参与者:上(5岁3个月) 游戏过程: 上:老师,我知道,这是五子棋,我在家还玩过呢!今天这个也是做游戏的吗? ...

  • 黑白棋子

    为了心中的信仰,倾尽全力,无所畏惧 一生都为棋手所操纵 各为其主,践行使命,不问对错 正义与邪恶,界限模糊交融,甚...

  • 黑白不迷宫

    地面上散落许多黑白棋子,一群人争先恐后抢拾棋子。据说,拾到的黑色棋子,可以换取金钱,拾到的白色棋子,可以换得良知。...

  • 【暑假练笔】《等待》(赵周敬书)

    等待 '黑白色的棋子交错分布在淡黄色的棋盘上,黑色的棋子似要化作利剑直取敌人心脏,白色的棋子在悄然中如...

  • 棋子小结

    棋盘并不只有黑白棋子,它有很多战场。在有的战场里,简单的几个棋子要面对很多敌子的包围。这几颗棋子想方设法的想要和有...

  • 黑白棋子之间

    睡前,铺开柔软的,厚厚的垫子,点一盏灯,趴在垫子上陪孩子们玩那黑白棋子。最简单的五子棋。 最近发现这棋子用处还挺大...

  • 小诗

    小宝考试的一道小诗: 我家的棋子 在棋盒里 棋盒里的棋子有黑有白 像一些黑白的巧克力

网友评论

      本文标题:黑白棋子问题

      本文链接:https://www.haomeiwen.com/subject/mvxqkqtx.html