**Numworks Python Scripts: Basic Graphics**

**Script: atari.py**

Draws the basic-eight color palette of the classic 1977 Atari 2600.

Atari Palette Python Script |

from math import *

from kandinsky import *

# 2020-05-28 atari 2600 colors

# kandinsky module

fill_rect(0,0,320,240,color(245,245,245))

fill_rect(15,15,55,55,color(0,0,0))

fill_rect(85,15,55,55,color(255,0,0))

fill_rect(155,15,55,55,color(255,255,0))

fill_rect(15,85,55,55,color(255,0,255))

fill_rect(155,85,55,55,color(0,255,0))

fill_rect(15,155,55,55,color(0,255,255))

fill_rect(85,155,55,55,color(0,0,255))

fill_rect(155,155,55,55,color(255,255,255))

draw_string("8",107,107)

**Script: firstdigit.py**

The tenths digit from n random numbers is extracted and a bar chart is generated based on the results. I recommend a sample size of at least 20.

A Sample of 100 data points |

from math import *

from random import *

from matplotlib.pyplot import *

# set up lists

x=[0,1,2,3,4,5,6,7,8,9]

y=[0,0,0,0,0,0,0,0,0,0]

# user iput

print("EWS 2020-05-29")

print("Bar Chart: First Digit")

print("Recommended at least 20")

n=int(input("n? "))

# generate list

for i in range(n):

s=int(random()*10)

y[s]=y[s]+1

# bar plot

h=int(n/2)

d=-int(h/4)

axis([-0.5,9.5,d,h])

bar(x,y)

# turn axis off

axis("off")

# labels at the bottom

# results at top

m=max(y)

for i in range(10):

text(i-0.25,d+1,str(i))

text(i-0.25,m+2,str(y[i]))

show()

**Script: colorfulrings.py**

The script cycles through a set of nine colors, four times. The Kandinsky module is used to generate the flowery circles as well as cycle through the colors. This module works with integer pixels.

Color rings script in progress |

from math import *

from kandinsky import *

from time import *

# color lists

r=[255,255,255,0,0,0,51,128,255]

g=[0,102,255,128,255,0,102,128,255]

b=[0,0,0,0,0,255,255,128,255]

# angles

a=list(range(128))

for i in range(128):

a[i]=i/128*2*pi

# draw circles

for k in range(36):

n=int(fmod(k,9))

for j in range(50):

for i in range(128):

x=int(160+(20+j)*cos(a[i]))

y=int(120+(20+j)*sin(a[i]))

set_pixel(x,y,color(r[n],g[n],b[n]))

sleep(0.1)

**Script: modulusplot.py**

Generate a pixel plot of the equation (x^n + y^n) mod m

Input Screen (n = 3.9, m = 15.6) |

Modulus Plot result, n = 3.9, m = 15.6 |

from math import *

from kandinsky import *

print("EWS 2020-05-28")

print("x**n + y**n mod m")

n=float(input("power? "))

m=float(input("modulus? "))

for x in range(320):

for y in range(240):

t=fmod(pow(x,n)+pow(y,n),m)

c=floor(t/m*255)

set_pixel(x+1,y+1,color(c,c,c))

Eddie

BLOG UPDATE:

*The*

**HP Prime: Conversion to Binary and IEEE-754 Binary blog**entry that was posted on June 27, 2020 may contain errors. In this case, I have taken that entry back to draft status and my intention is to repost the entry as soon as I can. Apologies for any inconvenience.All original content copyright, © 2011-2020. Edward Shore. Unauthorized use and/or unauthorized distribution for commercial purposes without express and written permission from the author is strictly prohibited. This blog entry may be distributed for noncommercial purposes, provided that full credit is given to the author.

Can you add a simple game idea?

ReplyDeleteThank you for your suggestion. I am probably going to have to start with text-based games on Python first. This is worth looking into.

DeleteJust off the top of my head: pick a random number and try to hone in on it, show squares and pick on to reveal what "prize" you win, simulate a spinning wheel.

Eddie