parameters, return, math, graphics

Slides:



Advertisements
Similar presentations
Copyright 2010 by Pearson Education Building Java Programs More Graphics reading: Supplement 3G.
Advertisements

Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics.
Building Java Programs
LAB SESSION 7 Graphical user interface Applet fundamentals Methods in applets Execution of an applet Graphics class.
Topic 9 more graphics Based on slides bu Marty Stepp and Stuart Reges from
Building Java Programs Supplement 3G Graphics Copyright (c) Pearson All rights reserved.
Building Java Programs Supplement 3G Graphics Copyright (c) Pearson All rights reserved.
Copyright 2008 by Pearson Education Building Java Programs Graphics Reading: Supplement 3G.
Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics.
Strings, if/else, return, user input
Week 3 parameters, return, math, graphics Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise.
Week 3 parameters and graphics Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted,
Copyright 2008 by Pearson Education Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2.
Week 3 parameters, return, math, graphics Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise.
Copyright 2008 by Pearson Education Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2.
Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics.
Week 6 review; file processing Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted,
Week 6 review; file processing Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted,
1 Graphical objects We will draw graphics in Java using 3 kinds of objects: DrawingPanel : A window on the screen. Not part of Java; provided by the authors.
Copyright 2010 by Pearson Education Building Java Programs Graphics reading: Supplement 3G.
Unit 3 parameters and graphics Special thanks to Roy McElmurry, John Kurkowski, Scott Shawcroft, Ryan Tucker, Paul Beck for their work. Except where otherwise.
1 Building Java Programs Supplement 3G: Graphics These lecture notes are copyright (C) Marty Stepp and Stuart Reges, They may not be rehosted, sold,
Week 3 parameters and graphics Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted,
Week 2 expressions, variables, for loops Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise.
Exploration Seminar 4 Basics Special thanks to Scott Shawcroft, Ryan Tucker, Paul Beck and Roy McElmurry for their work on these slides. Except where otherwise.
Building Java Programs Supplement 3G Graphics Copyright (c) Pearson All rights reserved.
Parameters, return, math, graphics nobody expects the spanish inquisition!
Building Java Programs Graphics Reading: Supplement 3G.
CS305j Introduction to Computing Simple Graphics 1 Topic 11 Simple Graphics "What makes the situation worse is that the highest level CS course I've ever.
Introduction to Graphics. Graphical objects To draw pictures, we will use three classes of objects: –DrawingPanel : A window on the screen. –Graphics.
If/else, return, user input, strings
Copyright 2008 by Pearson Education Building Java Programs Graphics reading: Supplement 3G videos: Ch. 3G #1-2.
10/16/07.
Lecture 8: Return values and math
Adapted from slides by Marty Stepp and Stuart Reges
Parameters Readings: 3.1.
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
Building Java Programs
A note on Programming Assignment
Building Java Programs
Building Java Programs
CSc 110, Spring 2017 Lecture 6: Parameters (cont.) and Graphics
review; file processing
Week 1 Review Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted, this work is.
Lecture 7: Graphics, return values and math
Topic 8 graphics "What makes the situation worse is that the highest level CS course I've ever taken is cs4, and quotes from the graphics group startup.
Building Java Programs
1/22/2008.
Building Java Programs
CSc 110, Autumn 2017 Lecture 9: Graphics and Nested Loops
Let's Learn Python and Pygame
Parameters Readings: 3.1.
Lecture 9: Arrays Building Java Programs: A Back to Basics Approach
CSE 142 Lecture Notes Graphics with DrawingPanel Chapter 3
Building Java Programs
Building Java Programs
CSE 142 Lecture Notes Global Constants, Parameters, Return Values
Building Java Programs
Building Java Programs
Topic 9 More Graphics Based on slides bu Marty Stepp and Stuart Reges from
Building Java Programs
Parameters Readings: 3.1.
Building Java Programs
Building Java Programs
Making a Smile Face Pepper.
Graphics Reading: Supplement 3G
Building Java Programs
Presentation transcript:

parameters, return, math, graphics Week 3 parameters, return, math, graphics Special thanks to Scott Shawcroft, Ryan Tucker, and Paul Beck for their work on these slides. Except where otherwise noted, this work is licensed under: http://creativecommons.org/licenses/by-nc-sa/3.0

Parameters def name(parameter, parameter, ..., parameter): statements Parameters are declared by writing their names (no types) >>> def print_many(word, n): ... for i in range(n): ... print word >>> print_many("hello", 4) hello

Exercise Recreate the lines/boxes of stars example from lecture: ************* ******* *********************************** ********** * * ***** * *

Exercise Solution stars.py 1 2 3 4 5 6 7 8 9 10 11 12 13 # Draws a box of stars with the given width and height. def box(width, height): print width * "*" for i in range(height - 2): print "*" + (width - 2) * " " + "*" # main print 13 * "*" print 7 * "*" print 35 * "*" box(10, 3) box(5, 4)

Default Parameter Values def name(parameter=value, ..., parameter=value): statements Can make parameter(s) optional by specifying a default value Exercise: Modify stars.py to add an optional parameter for the character to use for the outline of the box (default "*"). >>> def print_many(word, n=1): ... for i in range(n): ... print word >>> print_many("shrubbery") shrubbery >>> print_many("shrubbery", 4)

Parameter Keywords name(parameter=value, ..., parameter=value) Can specify the names of parameters as you call a function This allows you to pass the parameters in any order >>> def print_many(word, n): ... for i in range(n): ... print word >>> print_many(str="shrubbery", n=4) shrubbery >>> print_many(n=3, str="Ni!") Ni!

Math commands from math import * Function name Description ceil(value) rounds up cos(value) cosine, in radians degrees(value) convert radians to degrees floor(value) rounds down log(value, base) logarithm in any base log10(value) logarithm, base 10 max(value1, value2, ...) largest of two (or more) values min(value1, value2, ...) smallest of two (or more) values radians(value) convert degrees to radians round(value) nearest whole number sin(value) sine, in radians sqrt(value) square root tan(value) tangent Constant Description e 2.7182818... pi 3.1415926...

Returning Values def name(parameters): statements ... return value >>> def ftoc(temp): ... tempc = 5.0 / 9.0 * (temp - 32) ... return tempc >>> ftoc(98.6) 37.0

DrawingPanel Instructor-provided drawingpanel.py file must be in the same folder as your Python program At the top of your program, write: from drawingpanel import * Panel's canvas field behaves like Graphics g in Java

DrawingPanel Example draw1.py 1 2 3 4 5 6 from drawingpanel import * panel = DrawingPanel(400, 300) panel.set_background("yellow") panel.canvas.create_rectangle(100, 50, 200, 300)

Drawing Methods Notice, methods take x2/y2 parameters, not width/height Java Python drawLine panel.canvas.create_line(x1, y1, x2, y2) drawRect, fillRect panel.canvas.create_rectangle(x1, y1, x2, y2) drawOval, fillOval panel.canvas.create_oval(x1, y1, x2, y2) drawString panel.canvas.create_text(x, y, text="text") setColor (see next slide) setBackground panel.set_background(color)

Colors and Fill Python doesn't have fillRect, fillOval, or setColor. Instead, pass outline and fill colors when drawing a shape. List of all color names: http://wiki.tcl.tk/16166 Visual display of all colors drawcolors.py 1 2 3 4 5 6 from drawingpanel import * panel = DrawingPanel(400, 300) panel.canvas.create_rectangle(100, 50, 200, 200, outline="red", fill="yellow") panel.canvas.create_oval(20, 10, 180, 70, fill="blue")

Polygons Draw arbitrary polygons with create_polygon Draw line groups by passing more params to create_line drawpoly.py 1 2 3 4 5 6 from drawingpanel import * panel = DrawingPanel(200, 200) panel.canvas.create_polygon(100, 50, 150, 0, 150, 100, fill="green") panel.canvas.create_line(10, 120, 20, 160, 30, 120, 40, 175)

Exercise Let’s create a car in Python: import java.awt.*; public class DrawCar { public static void main(String[] args) { DrawingPanel panel = new DrawingPanel(200, 100); panel.setBackground(Color.LIGHT_GRAY); Graphics g = panel.getGraphics(); g.setColor(Color.BLACK); g.fillRect(10, 30, 100, 50); g.setColor(Color.RED); g.fillOval(20, 70, 20, 20); g.fillOval(80, 70, 20, 20); g.setColor(Color.CYAN); g.fillRect(80, 40, 30, 20); }

Exercise Draw a car in Python

Exercise Now, let’s use parameters so that we can place the cars all over the DrawingPanel.

Animate it using panel.sleep() Exercise Animate it using panel.sleep()