Piech, CS106A, Stanford University
Animación
Piech, CS106A, Stanford University
Piech, CS106A, Stanford University
3 dias aqui es igual a2 semanas en Stanford
Piech, CS106A, Stanford University
Como aprendi a programar
Piech, CS106A, Stanford University
¿Cuándo adivinaríasque aprendí a programar?
Piech, CS106A, Stanford University
Cuando era joven?
Piech, CS106A, Stanford University
Creando cosas con solosu mente y una computadora.
Piech, CS106A, Stanford University
capa
cidad
de p
rogr
amar
año
Al comienzo de mi viaje
yoestudiante
10x mejor?
Piech, CS106A, Stanford University
capa
cidad
de p
rogr
amar
año
Ahora sé que el comienzo es duro
para todos.
Estásaprendiendo unanueva forma de
pensar.
Al comienzo de mi viaje
yoestudiante
La figura
10x mejor?
Piech, CS106A, Stanford University
Lo q
ue se
a, qu
ieras
mejo
rar
año
Imagínate a ti mismo
túotra persona
Piech, CS106A, Stanford University
Lo q
ue se
a, qu
ieras
mejo
rar
año
¿Quién preferirías ser?
Piech, CS106A, Stanford University
Lo q
ue se
a, qu
ieras
mejo
rar
año
¿Quién preferirías ser?
Piech, CS106A, Stanford University
Lo q
ue se
a, qu
ieras
mejo
rar
año
¿Quién preferirías ser?
Piech, CS106A, Stanford University
Lo q
ue se
a, qu
ieras
mejo
rar
año
Imagínate a ti mismo
Grace Hopper
Piech, CS106A, Stanford University
Si quieres hacer algograndioso, importa cuánto
aprendas cada día, no cuánto sabes cuando tienes
17 años.
Piech, CS106A, Stanford University
Espanol
año
El español de Chris
Chris
fluido
Piech, CS106A, Stanford University
Para empezar
Piech, CS106A, Stanford University
Nuestra historia hasta ahora …
Piech, CS106A, Stanford University
Learning Goals1. Write animated programs
2. Center an object
Piech, CS106A, Stanford University
revisión
Piech, CS106A, Stanford University
By Chris
Piech, CS106A, Stanford University
Había una vez …
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x estaba buscando amor …
x5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
x estaba buscando amor …
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
x definitivamenteestaba buscando amor
x estaba buscando amor …
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x conocío a y
x5
y5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
y5 Hola, soy y
x conocío a y
Piech, CS106A, Stanford University
“Wow!”
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
y5Wow
x conocío a y
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
y5 Tenemos mucho
en comun
x conocío a y
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
y5 ¡Ambos tenemos
valor 5!
x conocío a y
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
y5 Tal vez algún día
podamos ...
x conocío a y
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
y5 imprimir juntos?
x conocío a y
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
Se llevan bien
x5
y5
Piech, CS106A, Stanford University
Era una pareja hermosa ...
Piech, CS106A, Stanford University
Pero entonces la tragedia golpeó.
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
La tragedia golpeó
x5
y5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
y5
La tragedia golpeó
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
La tragedia golpeó
Piech, CS106A, Stanford University
Noooooooooooooooo!
Piech, CS106A, Stanford University
Lo ves…
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
Cuando un programa sale de un bloque de código ...
x5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
…donde una variable fue declarada ...
x5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
¡Se borra de la memoria!
x5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
y fue declarado dentro del if
x5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
Se borra de la memoria aquí
x5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
Y no existe aquí.
x5
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;
}imprimir(x + y);
x5
Error. Undefined variable y.
Y no existe aquí.
Piech, CS106A, Stanford University
El fin
Piech, CS106A, Stanford University
¿O es eso?
Piech, CS106A, Stanford University
Variables tienen una duración de vida
public void run(){double v = 8;if(condición){
v = 4;… algun código
}… algun otro código
}
Piech, CS106A, Stanford University
public void run(){double v = 8;if(condición){
v = 4;… algun código
}… algun otro código
}
Variables tienen una duración de vida
Piech, CS106A, Stanford University
v
Viene a la vida aquí
8
public void run(){double v = 8;if(condición){
v = 4;… algun código
}… algun otro código
}
Entrar en existencia cuando se declara
Piech, CS106A, Stanford University
Viven hasta el final del bloque de código.
Este es el bloque de código más interno enel que estabadeclarado….
v4
public void run(){double v = 8;if(condición){
v = 4;… algun código
}… algun otro código
}
Piech, CS106A, Stanford University
public void run(){double v = 8;if(condición){
v = 4;… algun código
}… algun otro código
}
Todavía vivo aquí ...
v4
Variables tienen una duración de vida
Piech, CS106A, Stanford University
public void run(){double v = 8;if(condición){
v = 4;… algun código
}… algun otro código
}Muere aquí (al final de su bloque de código)
v4
Viven hasta el final del bloque de código.
Piech, CS106A, Stanford University
public void run(){double v = 8;if(condición){
v = 4;… algun código
}… algun otro código
}Muere aquí (al final de su bloque de código)
Viven hasta el final del bloque de código.
Piech, CS106A, Stanford University
Capítulo 2
Piech, CS106A, Stanford University
El programador reparó su error.
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;imprimir(x + y);
}
x5
x estaba buscando amor …
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;imprimir(x + y);
}
x5
x estaba buscando amor …x definitivamenteestaba buscando amor
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;imprimir(x + y);
}
x5
y5
x conocío a y
Piech, CS106A, Stanford University
int x = 5;if(buscandoAmor()) {int y = 5;imprimir(x + y);
}
Ya que ambos estaban en “scope” ...
x5
y5
Piech, CS106A, Stanford University
La historia tuvo un final feliz!
Piech, CS106A, Stanford University
Mover SRect
Piech, CS106A, Stanford University
Ciclo de animación
private void run() {// prepara
while(true) {// actualice el mundo
// pausapausa(RETRASAR);
}}
Piech, CS106A, Stanford University
private void run() {// prepara
while(true) {// actualice el mundo
// pausapausa(RETRASAR);
}}
Haz todas las variables que
necesites. Agregar los
objetosgráficos a la
pantalla.
Ciclo de animación
Piech, CS106A, Stanford University
private void run() {// prepara
while(true) {// actualice el mundo
// pausapausa(RETRASAR);
}}
El ciclo de animación esuna repetición
de latidos.
Ciclo de animación
Piech, CS106A, Stanford University
private void run() {// prepara
while(true) {// actualice el mundo
// pausapausa(RETRASAR);
}}
Cada latido, actualiza el mundo haciaadelante un
paso.
Ciclo de animación
Piech, CS106A, Stanford University
private void run() {// prepara
while(true) {// actualice el mundo
// pausapausa(RETRASAR);
}}
Si no haces unapausa, los
humanos no podrán verlo.
Ciclo de animación
Piech, CS106A, Stanford University
Mover SRect
Piech, CS106A, Stanford University
private void run() {// preparaSRect r = new Srect(0, 250, 100, 100);s.cambiarFilled(true);agregar(s);
while(true) {// actualice el mundor.moverse(1, 0);
// pausapausa(RETRASAR);
}}
Mover SRect
Piech, CS106A, Stanford University
Pelota que rebota
Primero latido
Velocidad: cuántos píxelesla pelota mueve cada latido
vx
vy
1
1
Piech, CS106A, Stanford University
First heartbeat
vx
vy
El SOval moverse El método tomaun cambio en x y un cambio en y
Pelota que rebota
vx
vy
1
1
Piech, CS106A, Stanford University
Second heartbeat
vx
vy
Pelota que rebota
vx
vy
1
1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
Third heartbeat
vx
vy
Pelota que rebota
vx
vy
1
1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
What happens when we hit a wall?
Pelota que rebota
vx
vy
1
1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
We have this velocity
vx
vy
Pelota que rebota
vx
vy
1
1
Piech, CS106A, Stanford University
Seventh Heartbeat
vxvy
vy = vy * -DAMPING;
Pelota que rebota
vx
vy
1
-1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
Seventh Heartbeat
vy = vy * -DAMPING;
Pelota que rebota
vx
vy
1
-1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
Seventh Heartbeat
vy = vy * -DAMPING;
Pelota que rebota
vx
vy
1
-1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
Seventh Heartbeat
vy = vy * -DAMPING;
Pelota que rebota
vx
vy
-1
-1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
Seventh Heartbeat
vy = vy * -DAMPING;
Pelota que rebota
vx
vy
-1
-1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
Seventh Heartbeat
vy = vy * -DAMPING;
Pelota que rebota
vx
vy
-1
1
Velocidad: cuántos píxelesla pelota mueve cada latido
Piech, CS106A, Stanford University
SRect que rebota
Piech, CS106A, Stanford University
SRect que rebota
Piech, CS106A, Stanford University
SRect que rebota
Piech, CS106A, Stanford University
¿Preguntas?
Top Related