Processing Math: Done
jsMath
Differences between revisions 1 and 7 (spanning 6 versions)
Revision 1 as of 2009-05-22 10:18:16
Size: 3778
Editor: pang
Comment: created section interact/games with "queens on a chess board" and "nim"
Revision 7 as of 2012-05-09 02:51:30
Size: 5535
Editor: jason
Comment:
Deletions are marked like this. Additions are marked like this.
Line 6: Line 6:

== Zeros ==

Have you ever wished you could count the number of zero digits in a long number like Rainman?

by William Stein and Sequoia Lefthand

{{attachment:zeros.png}}

{{{#!sagecell
import random

def init():
    global B,Br,n,round,tm,t,v
    B = 40
    Br = 15
    n = 1
    round = 0
    tm = 0
    t = walltime()
    
    
init()

html("<h1 align=center>Zeros</h1>")
html("<h2 align=center><font color='blue'>How many zeros?</font></h2>")
    
@interact
def zeros(a=selector(buttons=True, nrows=1, values=['Reset'] + [1..B], default=1)):
    if a == 'Reset':
        init()
    html("<center>")
    global B,Br,n,round,tm,t,v
    if a == n:
        if round > 0:
           html("<font size=+3 color='red'>RIGHT</font>")
        r = walltime() - t
        tm += r
        round += 1
        t = walltime()
        while True:
           n2 = random.randrange(1,Br)
           if n2 != n:
               n = n2
               break
        if Br < B:
            Br += 2
    elif round > 0:
        html("<font size=+2 color='blue'>Wrong. Try again...</font>")
    html("</center>")
    html("<font size=+%s color='#333'>"%random.randrange(-2,5))
    print ' '*random.randrange(20) + '0'*n
    html("</font>")
    if round > 0:
        html("<br><br><center>Score: %s rounds, Average time: %.1f seconds</center>"%(
                 round, float(tm)/round))
}}}
Line 9: Line 67:
{{{ {{{#!sagecell
Line 22: Line 80:
        queens.remove(queen)         if queen in queens:
    
queens.remove(queen)
Line 42: Line 101:
    show(matrix_plot(board, cmap='Oranges' ))
    show(matrix_plot(board, cmap='Oranges' ))
Line 48: Line 106:
Play nim against a perfect oponent. This interaction exemplifies the use of persistent data, and the auto_update=False option coded by mhansen and included in sage 3.3. Play nim against a perfect opponent. This interaction exemplifies the use of persistent data, and the auto_update=False option coded by mhansen and included in sage 3.3.
Line 50: Line 108:
{{{ {{{#!sagecell
Line 76: Line 134:
{{{
nim=[1,3,5,7]
{{{#!sagecell
nim=[1,3,5,6]
Line 79: Line 137:
def _(heap=input_box(default=1), amount=input_box(default=0), auto_update=False ): def _(heap=selector(range(len(nim)), buttons=True),
      amount=selector(range(max(nim)+1), buttons=True),
      auto_update=False):
Line 83: Line 143:
        return
Line 92: Line 153:
        if max(nim)==0:
            print 'You win'
            return
Line 98: Line 162:
            myheap=min(heap_number for heap_number, heap_size in enumerate(heap_size) if heap_size>0)             myheap=min(heap_number for heap_number, heap_size in enumerate(nim) if heap_size>0)
            myamount=1
Line 101: Line 166:
        if max(nim)==0:
            print 'I win'
        else:
            print 'Please move again'
Line 102: Line 171:
        print 'Please choose a heap and the amount to substract from that heap'         print 'Choose a heap and the amount to substract from that heap'

Sage Interactions - Games and Diversions

goto interact main page

Zeros

Have you ever wished you could count the number of zero digits in a long number like Rainman?

by William Stein and Sequoia Lefthand

zeros.png

Queens on board

An interaction to play with the problem of placing eight queens on a board so that they do not threaten each other. This interaction exemplifies the use of persistent data, and the auto_update=False option coded by mhansen and included in sage 3.3. by Pablo Angulo

queens.png

Nim

Play nim against a perfect opponent. This interaction exemplifies the use of persistent data, and the auto_update=False option coded by mhansen and included in sage 3.3. by Pablo Angulo

nim.png

interact/games (last edited 2020-06-02 22:07:41 by kcrisman)