Difference between revisions of "CSC111 Programming Examples Week 7 2015"
(→classDemo3.py) |
(→classDemo3.py) |
||
Line 72: | Line 72: | ||
# Uses graphics.py from Zelle | # Uses graphics.py from Zelle | ||
# | # | ||
− | # This program moves a | + | # This program moves a red circle around the window. |
− | # | + | # It disappears after a while... |
+ | |||
from graphics import * | from graphics import * | ||
def main(): | def main(): | ||
− | win = GraphWin( "Class Demo | + | win = GraphWin( "Class Demo 3b", 600, 400 ) |
# create and draw a red circle | # create and draw a red circle | ||
Line 101: | Line 102: | ||
</source> | </source> | ||
<br /> | <br /> | ||
+ | =classDemo3.py with 2 moving circles= | ||
<br /> | <br /> | ||
+ | <source lang="python"> | ||
+ | # Uses graphics.py from Zelle | ||
+ | # | ||
+ | # This program moves two balls on the screen, having them | ||
+ | # bounce off the walls, but not bounce off each other.# | ||
+ | from graphics import * | ||
+ | |||
+ | def main(): | ||
+ | win = GraphWin( "Class Demo 3", 600, 400 ) | ||
+ | |||
+ | # create and draw a red circle | ||
+ | center = Point( 100, 100 ) | ||
+ | circ = Circle( center, 30 ) | ||
+ | circ.setFill( 'red' ) | ||
+ | circ.draw( win ) | ||
+ | |||
+ | # create and draw a red circle | ||
+ | center2 = Point( 100, 100 ) | ||
+ | circ2 = Circle( center2, 30 ) | ||
+ | circ2.setFill( 'yellow' ) | ||
+ | circ2.draw( win ) | ||
+ | |||
+ | # set initial direction of ball | ||
+ | dx = 7.5 | ||
+ | dy = 2.25 | ||
+ | |||
+ | dx2 = 1 | ||
+ | dy2 = -5 | ||
+ | |||
+ | # move ball on screen | ||
+ | while win.checkMouse() == None: | ||
+ | # move circ following its direction | ||
+ | circ.move( dx, dy ) | ||
+ | |||
+ | # check to see if it bounces off the wall | ||
+ | x = circ.getCenter().getX() | ||
+ | y = circ.getCenter().getY() | ||
+ | if x > 600 or x < 0: | ||
+ | dx = -dx | ||
+ | if y > 400 or y < 0: | ||
+ | dy = -dy | ||
+ | |||
+ | # move circ2 following its own direction | ||
+ | circ2.move( dx2, dy2 ) | ||
+ | |||
+ | # get its x, y coordinates and check to see | ||
+ | # if the center is moving outside the window. | ||
+ | x2 = circ2.getCenter().getX() | ||
+ | y2 = circ2.getCenter().getY() | ||
+ | if x2 > 600 or x2 < 0: | ||
+ | dx2 = -dx2 | ||
+ | if y2 > 400 or y2 < 0: | ||
+ | dy2 = -dy2 | ||
+ | |||
+ | win.close() # Close window when done | ||
+ | |||
+ | main() | ||
+ | </source> | ||
<br /> | <br /> | ||
<br /> | <br /> |
Latest revision as of 11:32, 9 March 2015
--D. Thiebaut (talk) 10:21, 9 March 2015 (EDT)
classDemo1.py
# classDemo1.py
# D. Thiebaut
# Uses graphics.py from Zelle
#
# This program displays the basic elements of a program
#
from graphics import *
def main():
win = GraphWin("Class Demo 1", 600, 400)
c1 = Circle( Point(50,150), 20 )
c1.draw( win )
c2 = Circle( Point( 100, 150 ), 20 )
c2.draw( win )
r1 = Rectangle( Point( 10, 100 ), Point( 150, 150 ) )
r1.draw( win )
win.getMouse() # Pause to view result
win.close() # Close window when done
main()
classDemo2.py
# classDemo2.py
# Uses graphics.py from Zelle
#
# This program displays the basic elements of a program
#
from graphics import *
def main():
win = GraphWin( "Class Demo 2", 600, 400 )
# create and draw a red circle
center = Point( 100, 100 )
circ = Circle( center, 30 )
circ.setFill( 'red' )
circ.draw( win )
# add a label inside the circle
label = Text( center, "red circle" )
label.draw( win )
# create and draw a rectangle
rect = Rectangle( Point( 30, 30 ), Point( 70, 70 ) )
rect.draw( win )
win.getMouse() # Pause to view result
win.close() # Close window when done
main()
classDemo3.py
# classDemo3.py
# Uses graphics.py from Zelle
#
# This program moves a red circle around the window.
# It disappears after a while...
from graphics import *
def main():
win = GraphWin( "Class Demo 3b", 600, 400 )
# create and draw a red circle
center = Point( 100, 100 )
circ = Circle( center, 30 )
circ.setFill( 'red' )
circ.draw( win )
# set initial direction of ball
dx = 1.5
dy = 0.25
# move ball on screen
while win.checkMouse() == None:
circ.move( dx, dy )
#x = circ.getCenter().getX()
#y = circ.getCenter().getY()
win.close() # Close window when done
main()
classDemo3.py with 2 moving circles
# Uses graphics.py from Zelle
#
# This program moves two balls on the screen, having them
# bounce off the walls, but not bounce off each other.#
from graphics import *
def main():
win = GraphWin( "Class Demo 3", 600, 400 )
# create and draw a red circle
center = Point( 100, 100 )
circ = Circle( center, 30 )
circ.setFill( 'red' )
circ.draw( win )
# create and draw a red circle
center2 = Point( 100, 100 )
circ2 = Circle( center2, 30 )
circ2.setFill( 'yellow' )
circ2.draw( win )
# set initial direction of ball
dx = 7.5
dy = 2.25
dx2 = 1
dy2 = -5
# move ball on screen
while win.checkMouse() == None:
# move circ following its direction
circ.move( dx, dy )
# check to see if it bounces off the wall
x = circ.getCenter().getX()
y = circ.getCenter().getY()
if x > 600 or x < 0:
dx = -dx
if y > 400 or y < 0:
dy = -dy
# move circ2 following its own direction
circ2.move( dx2, dy2 )
# get its x, y coordinates and check to see
# if the center is moving outside the window.
x2 = circ2.getCenter().getX()
y2 = circ2.getCenter().getY()
if x2 > 600 or x2 < 0:
dx2 = -dx2
if y2 > 400 or y2 < 0:
dy2 = -dy2
win.close() # Close window when done
main()