编程C,C ++,Java,PHP,Ruby,图灵,VB
计算机科学加拿大 
编程C,C ++,Java,PHP,Ruby,图灵,VB  

用户名:   Password: 
 登记登记   
 迷你竞赛:无选择结构TIC-TAC-TOE
指数 -> 竞赛
转到页面 1, 2, 3  下一页
查看上3d中奖规则主题 可打印的版本下载主题订阅本主题私人信息刷新页面 查看下3d中奖规则主题
作者 信息
虫子




邮政发布: 孙4月19日,2009年6:39下午6:39  帖子主题:迷你竞赛:无选择结构TIC-TAC-TOE

好吧,我有3d中奖规则想法在我的脑海里蹦蹦跳跳,以创造3d中奖规则没有条件的tic-tac-toe游戏。这意味着没有if-statement,case-statement,退出陈述等。例如,您可以使用的唯一选择是循环的情况;

为了 (int i = 0, i>= 5, i++){
}

我是懒惰的屁股,我还没有绕过它。但是,我相信巧妙地使用哈希,数学和二进制应该做诀窍。所以我挑战你们这样做(大多数情况如此,我可以在没有实际做的情况下看到成品)。要求:

- 必须具有可视显示。是ASCII或3-D,它必须具有X和O的图形表示。
-it必须遵循标准的3x3 tic-tac-toe规则
- 它必须是多平台(图灵还可以,它在葡萄酒和交叉上完美运行)
- 不得使用和有条件,除非在循环的情况下,如上所示
-it必须在玩家获胜时显示胜利者的名称/播放器号
- 不需要具有鼠标实现,您可以通过坐标输入x或o的位置。


玩得开心!获胜者获得1000位(除非我没有那么多......)


编辑:获胜者是做出最有趣的计划的人,并拥有最令人敬畏的代码(由我判断)
赞助
赞助
赞助
赞助
SaltPro15




邮政发布: 2009年4月19日星期六晚上7:00  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

该死的这是3d中奖规则挑战......我会给它3d中奖规则镜头,我们有多久了?
虫子




邮政发布: 2009年4月19日星期日7:03 PM  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

在我这么说的情况下,你有直到我厌倦了等待的时候。

并且循环条件的那些只能用于计数循环。3d中奖规则'做这个x很多次的循环。允许没有偷偷摸摸的规则弯曲。
SaltPro15




邮政发布: 2009年4月19日星期日7:21  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

呵呵很好,本周我会为Ecoo做好准备,所以我会有一段时间开始它希望
缺口




邮政发布: 2009年4月19日星期日7:44  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

完成Python风格

Python:
班级 Board:
    def __在里面__ (自己):
        自己.p = [[0,0,0],[0,0,0],[0,0,0]]
        自己.再次 = 1
        自己.优胜者 = 0
        自己.发送 = 0
        自己.更新 ()
        打印 “你赢了球员” + str. (自己.优胜者) + “!”
    def 查看 (自己,玩家):
        foo = 最大限度 (((自己.p [0][0] ==. player) (自己.p [0][1] ==. player) (自己.p [1][2] ==. player)),
            ((自己.p [1][0] ==. player) (自己.p [1][1] ==. player) (自己.p [0][2] ==. player)),
            ((自己.p [0][0] ==. player) (自己.p [0][1] ==. player) (自己.p [0][2] ==. player)), # 垂直的
            ((自己.p [0][0] ==. player) (自己.p [1][0] ==. player) (自己.p [2][0] ==. player)),
            ((自己.p [0][1] ==. player) (自己.p [1][1] ==. player) (自己.p [2][1] ==. player)),
            ((自己.p [0][2] ==. player) (自己.p [1][2] ==. player) (自己.p [2][2] ==. player)), # 水平的
            ((自己.p [0][0] ==. player) (自己.p [1][1] ==. player) (自己.p [2][2] ==. player)),
            ((自己.p [2][0] ==. player) (自己.p [1][1] ==. player) (自己.p [0][2] ==. player))) #对角线
        自己.再次 = (不是 (Foo), 自己.再次)
        自己.优胜者 = 最大限度 (Foo *球员, 自己.优胜者)
        返回 foo
    def 断言 (自己,玩家):
        y = (RAW_INPUT. (“玩家” + str. (播放器) + “x coord”)) - 1
        x = (RAW_INPUT. (“玩家” + str. (播放器) + “y coord”)) - 1
        为了 i 范围 (自己.p [x][y] != 0):
            打印 “无效选择,再次选择(is it cat's game?)"
            foo = 自己.断言 (播放器)
            x = foo [0]
            y = foo [1]   
        返回 [X,Y.]
    def 添加 (自己,玩家):
        foo = 自己.断言 (播放器)
        自己.p [Foo [0]][Foo [1]] = player
    def 更新 (自己):
        为了 i (范围 (2)):
            为了 x 自己.p:
                foo =
                为了 y x:
                    foo += str. (y)
                打印 foo
            为了 II 范围 (自己.发送 ==. 9 自己.优胜者 ==. 0):
                自己.再次 = 0
                打印 “猫的游戏”
                del “th-th th-the是所有人”
            为了 II 范围 (自己.再次 ==. 0):
                返回
            自己.添加 (我+ 1)
            自己.查看 (我+ 1)
            自己.发送 + = 1
        为了 i 范围 (自己.再次):
            自己.更新 ()
       
B =董事会 ()


萨德也抓住了我作弊所以这不算数,哦
Brighguy.




邮政发布: 2009年4月20日星期八8:54  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

完成了JavaScript风格。可能会在Internet Explorer中工作,但我知道它不支持XHTML,我厌倦了IE的工作和厌倦了。
javascript.:
功能 won()
{       var. m = marks[转动];
        返回 (m[0]&m[1]&m[2])|(m[3]&m[4]&m[5])|(m[6]&m[7]&m[8])|(m[0]&m[3]&m[6])|(m[1]&m[4]&m[7])|(m[2]&m[5]&m[8])|(m[0]&m[4]&m[8])|(m[2]&m[4]&m[6]);
}

功能 mark(n)
{       marks[转动][n] = 1;
        document.getelementbyid(“b”+ N. ).在nerhtml. = String.从CharCode.(88-9*转动);
        document.getelementbyid(“b”+ N. ).禁用 = 1;
        为了(var. i=0;一世<9; I ++)
                document.getelementbyid(“b”+ I.).禁用 |= won();
        document.getelementbyid(“韩元”+赢了()).在nerhtml. = document.getelementbyid(“P”+转弯).价值+" (Player "+转+") wins!";
        turn = (转+1) % 2;
}

功能 start()
{       marks = [[0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0]];
        turn = 0;
        为了(var. i=0;一世<9; I ++)
        {       document.getelementbyid(“b”+ I.).禁用 = 0;
                document.getelementbyid(“b”+ I.).在nerhtml. = "&#160;";
        }
        document.getelementbyid("韩元1").在nerhtml. = ;
}
虫子




邮政发布: 2009年4月20日星期八3:37  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

Wew,Brighguy,这是3d中奖规则花哨的。我要询问一些了解javascript的人来追求作弊(不是我指责你,而是因为你可能通过习惯编码了一些)。上帝,JavaScript的方法名称是如此易于长期以来,比具有短名字(即Ruby / Python)更难了解它。

编辑:既不提交猫的游戏也不。绝对是指出的。
虫子




邮政发布: 2009年4月20日星期一:下午4:09  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

就3d中奖规则问题;

代码:

{       var m = marks[turn];
        return (m[0]&m[1]&m[2])|(m[3]&m[4]&m[5])|(m[6]&m[7]&m[8])|(m[0]&m[3]&m[6])|(m[1]&m[4]&m[7])|(m[2]&m[5]&m[8])|(m[0]&m[4]&m[8])|(m[2]&m[4]&m[6]);


这个大返回声明是否意味着“返回(1和2和3)或(3和4和5)或(6和7和8)......”?
赞助
赞助
赞助
赞助
缺口




邮政发布: 2009年4月20日星期八:下午4:27  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

引用:
编辑:既不提交猫的游戏也不。绝对是指出的。
mine does....
AlexMula.




邮政发布: 2009年4月20日星期八:下午5:23  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

Python:
进口 OS.
操作系统。开始file.("http://www.prongo.com/tictac/")



笑 笑 笑
虫子




邮政发布: 2009年4月20日星期八5:24 PM  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

不。
里奇卡什




邮政发布: 2009年4月20日星期八:下午6:10  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

这是3d中奖规则不确定的tic tac toe,没有条件在图灵中。如果我有更多时间,我可能会擦亮显示屏。

图灵:
view.set. (“脱机”)
var. W,赢家,转身,SEL := 0
var.木板 : 大批 0 .. 2, 0 .. 2 := 在里面 (0, 0, 0, 0, 0, 0, 0, 0, 0)
var. 名称 : 大批 - 1 .. 1 细绳 := 在里面 (“X”, “ - ”, “y”)
转动 := -1
环形
    CLS.
    名称 (优胜者), “赢了”
    w := 圆形的 (SQRT. (-ABS (优胜者)))
    为了 i : 0 .. 2
        为了 j : 0 .. 2
            定位 (i * 2 + 3,J. * 2 + 1)
            名称 (木板 (我,J.))
        结尾 为了
    结尾 为了
    名称 (转动), “输入1-9的数字。”
    view.update.
    sel := 主题 (GETCHAR.) - 1
    board (sel div 3,sel. 摩擦 3) := 符号 (木板 (sel div 3,sel. 摩擦 3) * 2 + turn)
    turn := 0
    为了 i : 0 .. 2
        为了 j : 0 .. 2
            turn +=木板 (我,J.)
        结尾 为了
    结尾 为了
    turn :=转动 * -2 - 1
    winner := 0
    w := 0
    为了 i : 0 .. 2
        为了 j : 0 .. 2
            w +=木板 (我,J.)
        结尾 为了
        winner += w div 3
        w := 0
    结尾 为了
    为了 i : 0 .. 2
        为了 j : 0 .. 2
            w +=木板 (j,我)
        结尾 为了
        winner += w div 3
        w := 0
    结尾 为了
    为了 i : 0 .. 2
        w +=木板 (我,一世)
    结尾 为了
    winner += w div 3
    w := 0
    为了 i : 0 .. 2
        w +=木板 (一世, 2 - i)
    结尾 为了
    winner += w div 3
结尾 环形
the_bean.




邮政发布: 2009年4月20日星期八7:34 PM  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

Python 2.5.4:
Python:

def getNothing():
    返回 10

def木板():
    打印 '\ n\ n',网格[0],'|',网格[1],'|',网格[2],'\ n',' - + - + - ','\ n',网格[3],'|',网格[4],'|',网格[5],'\ n',' - + - + - ','\ n',网格[6],'|',网格[7],'|',网格[8],'\ n\ n'

def getInput(信息):
    返回 RAW_INPUT.(信息)

def noMatch(数字):
    返回 0

def threeInARow(数字):
    返回 num

Wincases =['猫游戏','x wins','o赢了']
InputCase =.[GetInput,Getoo,Getoothing]
匹配=[Nom暂坐,州,义六,三个]

网格=['1','2','3','4','5','6','7','8','9','10']
WIN =0

为了转动 范围(9):
    board()
    grid[(在putcase.[](CHR.(88-(转动%2)*9)+'挑选3d中奖规则位置:'))-1]=CHR.(88-(转动%2)*9)
    为了 i 范围 (3):
        win=最大限度(赢,匹配[Len.(筛选(lambda. x : x==CHR.(88-(转动%2)*9),网格[一世*3:i*3+3]))](转动%2+1))
        win=最大限度(赢,匹配[Len.(筛选(lambda. x : x==CHR.(88-(转动%2)*9),网格[i:9:3]))](转动%2+1))
    win=最大限度(赢,匹配[Len.(筛选(lambda. x : x==CHR.(88-(转动%2)*9),网格[0:9:4]))](转动%2+1))
    win=最大限度(赢,匹配[Len.(筛选(lambda. x : x==CHR.(88-(转动%2)*9),网格[2:7:2]))](转动%2+1))

木板()
打印 winCases[]
RAW_INPUT.(“等待退出......”)
Codemonkey2000




邮政发布: 2009年4月20日星期八:下午8:29  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

我在等人在bf写这个。呵呵呵。
里奇卡什




邮政发布: 2009年4月20日星期八:下午9:38  帖子主题:RE:迷你竞赛:无选择结构TIC-TAC-TOE

Incemot写道:
就3d中奖规则问题;

代码:
{       var m = marks[turn];
        return (m[0]&m[1]&m[2])|(m[3]&m[4]&m[5])|(m[6]&m[7]&m[8])|(m[0]&m[3]&m[6])|(m[1]&m[4]&m[7])|(m[2]&m[5]&m[8])|(m[0]&m[4]&m[8])|(m[2]&m[4]&m[6]);


这个大返回声明是否意味着“返回(1和2和3)或(3和4和5)或(6和7和8)......”?
是的,但他正在使用它们,因为按位运算符不是布尔运算符,所以他不直接使用选择。

@the_bean,好工作,但我会考虑这个功能 筛选 条件/选择方法。实际上,您可以使用时替换每3d中奖规则IF语句 筛选 trivially.

@Nick,你介意告诉我们为什么你的代码据称无效(我不读Python井)。
从上3d中奖规则显示帖子:   
   指数 -> 竞赛
查看上3d中奖规则主题 告诉3d中奖规则朋友可打印的版本下载主题订阅本主题私人信息刷新页面 查看下3d中奖规则主题

13  [ 38 Posts ]
转到页面 1, 2, 3  下一页
跳到:   


Style:  
搜索: