Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

this code show a game in javaFx make some changes : 1- add an image for car inside Rectangle red 2- add an image for

this code show a game in javaFx make some changes :

1- add an image for car inside Rectangle red

2- add an image for human inside Rectangle green

3- set background image for the game

import javafx.animation.AnimationTimer; import javafx.animation.FadeTransition; import javafx.application.Application; import javafx.scene.Node; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.layout.HBox; import javafx.scene.layout.Pane; import javafx.scene.paint.Color; import javafx.scene.shape.Rectangle; import javafx.scene.text.Font; import javafx.scene.text.Text; import javafx.stage.Stage; import javafx.util.Duration;

import java.util.ArrayList; import java.util.List; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.paint.ImagePattern;

public class croos_the_street extends Application {

private AnimationTimer timer;

private Pane root;

private List cars = new ArrayList<>(); private Node human;

private Parent createContent() { root = new Pane(); root.setPrefSize(800, 600);

human = initFrog();

root.getChildren().add(human);

timer = new AnimationTimer() { public void handle(long now) { onUpdate(); } }; timer.start();

return root; }

private Node initFrog() { Rectangle rect = new Rectangle(38, 38, Color.GREEN); rect.setTranslateY(600 - 39);

return rect; }

private Node spawnCar() { Rectangle rect = new Rectangle(40, 40, Color.RED); rect.setTranslateY((int)(Math.random() * 14) * 40);

root.getChildren().add(rect); return rect; }

private void onUpdate() { for (Node car : cars) car.setTranslateX(car.getTranslateX() + Math.random() * 10);

if (Math.random() < 0.075) { cars.add(spawnCar()); }

checkState(); }

private void checkState() { for (Node car : cars) { if (car.getBoundsInParent().intersects(human.getBoundsInParent())) { human.setTranslateX(0); human.setTranslateY(600 - 39); return; } }

if (human.getTranslateY() <= 0) { timer.stop(); String win = "YOU WIN";

HBox hBox = new HBox(); hBox.setTranslateX(300); hBox.setTranslateY(250); root.getChildren().add(hBox);

for (int i = 0; i < win.toCharArray().length; i++) { char letter = win.charAt(i);

Text text = new Text(String.valueOf(letter)); text.setFont(Font.font(48)); text.setOpacity(0);

hBox.getChildren().add(text);

FadeTransition ft = new FadeTransition(Duration.seconds(0.66), text); ft.setToValue(1); ft.setDelay(Duration.seconds(i * 0.15)); ft.play(); } } }

@Override public void start(Stage stage) throws Exception { stage.setScene(new Scene(createContent()));

stage.getScene().setOnKeyPressed(event -> { switch (event.getCode()) { case W: human.setTranslateY(human.getTranslateY() - 40); break; case S: human.setTranslateY(human.getTranslateY() + 40); break; case A: human.setTranslateX(human.getTranslateX() - 40); break; case D: human.setTranslateX(human.getTranslateX() + 40); break; default: break; } });

stage.show(); }

public static void main(String[] args) { launch(args); } }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Relational Database Technology

Authors: Suad Alagic

1st Edition

354096276X, 978-3540962762

More Books

Students also viewed these Databases questions