/*
* A Simple Pong game in JavaFX
*/
package javafxpong;
import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;
import javafx.scene.paint.Color;
import javafx.scene.paint.RadialGradient;
import javafx.scene.paint.Stop;
import javafx.scene.Scene;
import javafx.scene.shape.Circle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.scene.shape.Rectangle;
/**
* author Ankur Shrivastava
* web http://ankurs.com
* email ankur [at] ankurs [dot] com
*/
var position = 0;
var rev = 0;
var t = Timeline {
repeatCount: Timeline.INDEFINITE
keyFrames: [
KeyFrame {
time: 40ms
action: function() {
if (rev == 0) {
position1 = position1 + 10;
}
if (rev == 1) {
position1 = position1 - 10;
}
if (position1 > 860) {
rev =1;
}
if (position1 < 0) {
rev =0;
}
}
}
]
};
var points = 0;
var ppp = bind points;
var pt: Timeline = Timeline {
repeatCount: Timeline.INDEFINITE
keyFrames: [
KeyFrame {
time: 100ms
action: function() {
points +=1;
ptext.content = "Points {ppp}"
}
}
]
}
var t1: Timeline = Timeline {
repeatCount: Timeline.INDEFINITE
keyFrames: [
KeyFrame {
time: 40ms
action: function() {
if (position1 > recY and position > 1410)
{
if (position1 < recY + 100 and position > 1410)
{
rev1 = 1;
points+=20;
}
}
if (position1 > recY and position < 30)
{
if (position1 < recY + 100 and position < 30)
{
rev1 = 0;
points+=20;
}
}
if (rev1 == 0) {
position = position + 10;
}
if (rev1 == 1) {
position = position - 10;
}
if (position > 1440) {
rev1 =1;
lost();
reset();
}
if (position < 0) {
rev1 =0;
lost();
reset();
}
}
}
]
};
function lost() {
t.stop();
t1.stop();
pt.stop();
tex.content = "PRESS ANY KEY TO CONTINUE\nYour Points were {points}";
points =0;
}
function reset() {
position1= 450;
position = 720
}
var tex = Text {
x: 550
y: 390
font: Font { size: 20
}
content: "WELCOME TO PONG"
}
var ptext = Text {
x: 550
y: 50
font: Font { size: 20
}
content: ""
}
var rec1 = Rectangle {
x: 0,
y: bind recY;
width: 20,
height: 100
fill: Color.BLACK
}
var rec2 = Rectangle {
x: 1420,
y: bind recY
width: 20,
height: 100
fill: Color.BLACK
}
var recY = 300;
var position1 = 0;
var rev1 = 0;
Stage {
title: "JavaFX Pong"
width: 1440
height: 250
fullScreen: true;
scene: Scene {
fill: Color.TRANSPARENT;
content: [
Circle {
onMouseDragged: function( e: MouseEvent ):Void {
position = e.sceneX as Integer;
println(e.x);
position1 = e.sceneY as Integer;
println(e.y);
}
onMousePressed: function( e: MouseEvent ):Void {
t.stop();
t1.stop();
}
onMouseReleased: function( e: MouseEvent ):Void {
t1.play();
t.play();
}
onKeyPressed: function( e: KeyEvent ):Void {
println(e.text);
if (e.text == "Up") {
if (recY > 0) {
recY-=30;
}
}
else if (e.text == "Down") {
if (recY < 800) {
recY+=30;
}
}
else
{
if (not t.running){
t.play();
t1.play();
pt.play();
tex.content = "";
}
}
}
centerX: 0,
centerY: 0,
translateX: bind position,
translateY: bind position1,
radius: 20
fill: RadialGradient {
centerX: 0
centerY: 0
focusX: 0.1
focusY: 0.1
radius: 21
proportional: false
stops: [
Stop {
color: Color.RED
offset: 0.0
},
Stop {
color: Color.BLACK
offset: 1.0
},
]
}
}
,tex,rec1,rec2,ptext]
}
}
java
1
/* * A Simple Pong game in JavaFX */packagejavafxpong;importjavafx.animation.KeyFrame;importjavafx.animation.Timeline;importjavafx.scene.input.KeyEvent;importjavafx.scene.input.MouseEvent;importjavafx.scene.paint.Color;importjavafx.scene.paint.RadialGradient;importjavafx.scene.paint.Stop;importjavafx.scene.Scene;importjavafx.scene.shape.Circle;importjavafx.scene.text.Font;importjavafx.scene.text.Text;importjavafx.stage.Stage;importjavafx.scene.shape.Rectangle;/** * author Ankur Shrivastava * web http://ankurs.com * email ankur [at] ankurs [dot] com */varposition=0;varrev=0;vart=Timeline{repeatCount:Timeline.INDEFINITEkeyFrames:[KeyFrame{time:40msaction:function(){if(rev==0){position1=position1+10;}if(rev==1){position1=position1-10;}if(position1>860){rev=1;}if(position1<0){rev=0;}}}]};varpoints=0;varppp=bindpoints;varpt:Timeline=Timeline{repeatCount:Timeline.INDEFINITEkeyFrames:[KeyFrame{time:100msaction:function(){points+=1;ptext.content="Points {ppp}"}}]}vart1:Timeline=Timeline{repeatCount:Timeline.INDEFINITEkeyFrames:[KeyFrame{time:40msaction:function(){if(position1>recYandposition>1410){if(position1<recY+100andposition>1410){rev1=1;points+=20;}}if(position1>recYandposition<30){if(position1<recY+100andposition<30){rev1=0;points+=20;}}if(rev1==0){position=position+10;}if(rev1==1){position=position-10;}if(position>1440){rev1=1;lost();reset();}if(position<0){rev1=0;lost();reset();}}}]};functionlost(){t.stop();t1.stop();pt.stop();tex.content="PRESS ANY KEY TO CONTINUE\nYour Points were {points}";points=0;}functionreset(){position1=450;position=720}vartex=Text{x:550y:390font:Font{size:20}content:"WELCOME TO PONG"}varptext=Text{x:550y:50font:Font{size:20}content:""}varrec1=Rectangle{x:0,y:bindrecY;width:20,height:100fill:Color.BLACK}varrec2=Rectangle{x:1420,y:bindrecYwidth:20,height:100fill:Color.BLACK}varrecY=300;varposition1=0;varrev1=0;Stage{title:"JavaFX Pong"width:1440height:250fullScreen:true;scene:Scene{fill:Color.TRANSPARENT;content:[Circle{onMouseDragged:function(e:MouseEvent):Void{position=e.sceneXasInteger;println(e.x);position1=e.sceneYasInteger;println(e.y);}onMousePressed:function(e:MouseEvent):Void{t.stop();t1.stop();}onMouseReleased:function(e:MouseEvent):Void{t1.play();t.play();}onKeyPressed:function(e:KeyEvent):Void{println(e.text);if(e.text=="Up"){if(recY>0){recY-=30;}}elseif(e.text=="Down"){if(recY<800){recY+=30;}}else{if(nott.running){t.play();t1.play();pt.play();tex.content="";}}}centerX:0,centerY:0,translateX:bindposition,translateY:bindposition1,radius:20fill:RadialGradient{centerX:0centerY:0focusX:0.1focusY:0.1radius:21proportional:falsestops:[Stop{color:Color.REDoffset:0.0},Stop{color:Color.BLACKoffset:1.0},]}},tex,rec1,rec2,ptext]}}
Hey there! I see you're running Internet Explorer 6.
That's neat. This reminds me of my grandpa. He had this old car that he kept having to fix. He spent so much money on it that he didn't want to get rid of it (even when it stopped running).
0 Comments