Crooklyn

In 1973, nine-year-old Troy Carmichael (Zelda Harris) and her brothers Clinton (Carlton Williams), Wendell (Sharif Rashed), Nate (Chris Knowings), and Joseph (Tse-Mach Washington) live in the Bedford-Stuyvesant neighborhood of Brooklyn. The children live with their parents, Woody (Delroy Lindo), a struggling musician, and Carolyn (Alfre Woodard), a schoolteacher.
The neighborhood is filled with colorful characters. The Carmichaels' next-door neighbor, Tony Eyes (David Patrick Kelly) continuously sings. Snuffy (Spike Lee) and Right Hand Man (N. Jeremi Duru) are glue sniffers. Vic Powell (Isaiah Washington) is a war vet who lives upstairs from the Carmichaels.
One day, the Carmichael children get into a dispute with Tony who alleges that they are always throwing trash into his area. The argument escalates when Carolyn and several neighborhood children get involved. Tony is still yelling when Vic comes downstairs. Vic then punches Tony in the face. Troy, who has sneaked out to the corner store, sees Vic getting arrested as she leaves the store.
One night, Woody and Carolyn argue about money; Carolyn resents Woody because he isn't earning money as a musician and because he has bounced checks. The argument escalates as Carolyn yells for the children to turn off the television. Carolyn later turns off the TV.
Clinton turns it back on. Carolyn grabs him for disobeying her and Woody grabs her and carries her out of the room. Woody drags Carolyn down the stairs and Nate jumps on Woody's back. The other children hold Carolyn and Carolyn hurts her ankle in the struggle.
Carolyn kicks Woody out of the house. Woody brings flowers to Carolyn and the two reconcile. The family then decides to go on a trip. As they are leaving, a worker from Con Ed comes by to shut off the electricity due to an unpaid bill. The trip is postponed and the family has to use candles for light.
A few days later, Nate and Troy travel to the South to stay with relatives. Troy stays with her cousin, Viola (Patriece Nelson), who was adopted by Uncle Clem (Norman Matlock) and Aunt Song (Frances Foster). Troy has fun with Viola despite a dislike of Aunt Song and her dog, Queenie. On Troy's tenth birthday, she gets a letter from Carolyn. After reading the letter, Troy decides she wants to go home.
When Troy returns to New York, she is picked up at the airport by Aunt Maxine (Joie Lee) and Uncle Brown (Vondie Curtis-Hall). Troy later learns her mother is in the hospital and is taken to see her.
Later that evening, Woody tells the kids that their mother is very ill and must stay in the hospital. The boys cry, but Troy remains stoic.
In the next scene, one of Troy's brothers wonder if they have to dress up for their mother's funeral. The day of the funeral, Troy is approached by her Aunt Maxine who tries to coax her into trying on the new clothes she's brought. Troy lashes out angrily then announces that she is not going to the funeral. Woody explains that Carolyn would want them all together at church.
At the house gathering after the funeral, Troy is withdrawn. Joseph comes inside crying, saying that Snuffy and Right Hand Man robbed him. Following her mother's wishes to protect her younger brother, Troy goes outside with a baseball bat and hits Snuffy, telling him to go sniff glue on his own block.
Early the next morning, Troy dreams she's hearing her mother's voice. She goes downstairs to see her father trying to kill a rat in the kitchen. Woody then tells her that its all right to cry, saying that even Clinton has cried. Troy concludes that its good that her mother is no longer suffering.
Troy takes on some of Carolyn's parenting duties and copes with her mother's absence by imagining that her mother is only away and can still write to her.

Question: Who punches Tony in the face ?
Answer: Vic punches Tony in the face.; Vic punches Tony in the face.