JavaFX实现石头剪刀布小游戏
程序员文章站
2024-02-23 19:53:10
用javafx写一个石头剪刀布的小游戏,供大家参考,具体内容如下
课程上布置的作业,其实java很少用来写这种程序的
- gui界面部分
- 石头剪刀布的逻辑部分...
用javafx写一个石头剪刀布的小游戏,供大家参考,具体内容如下
课程上布置的作业,其实java很少用来写这种程序的
- gui界面部分
- 石头剪刀布的逻辑部分
书上教的是javafx,其实还有很多方法,书上说awt和swing基本上淘汰了,但事实上…
代码
myjavafx.java
package cn.homework; import javafx.application.application; import javafx.event.actionevent; import javafx.event.eventhandler; import javafx.geometry.pos; import javafx.scene.scene; import javafx.scene.control.button; import javafx.scene.control.label; import javafx.scene.layout.borderpane; import javafx.scene.layout.gridpane; import javafx.scene.image.image; import javafx.scene.image.imageview; import javafx.scene.layout.stackpane; import javafx.scene.text.*; import javafx.scene.text.font; import javafx.stage.stage; import java.awt.*; public class myjavafx extends application { lablepane lablepane=new lablepane(); // string str1; // // public void setstr1(string str1) { // this.str1 = str1; // } @override public void start(stage primarystage) throws exception { gridpane pane = new gridpane(); pane.setalignment(pos.center); pane.sethgap(5); label label = new label("开始游戏:"); label.setfont(font.font("times new roman", fontweight.bold, fontposture.italic, 30)); pane.add(label, 0, 0); //布 image image1 = new image("https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1521291025265&di=a0bc9a448dfcaac150e064577e6dabfd&imgtype=0&src=http%3a%2f%2fimg1.ali213.net%2fshouyou%2fcover%2fc%2f48302.jpg"); imageview imageview1 = new imageview(image1); imageview1.setfitheight(150); imageview1.setfitwidth(150); pane.add(imageview1, 0, 1); image1handerclass image1handerclass = new image1handerclass(); button btok1 = new button("布"); pane.add(btok1, 0, 2); btok1.setonaction(image1handerclass); //石头 image image2 = new image("https://ss1.bdstatic.com/70cfvxsh_q1ynxgkpowk1hf6hhy/it/u=1419901674,657140521&fm=27&gp=0.jpg"); imageview imageview2 = new imageview(image2); imageview2.setfitheight(150); imageview2.setfitwidth(150); pane.add(imageview2, 1, 1); image2handerclass image2handerclass = new image2handerclass(); button btok2 = new button("石头"); pane.add(btok2, 1, 2); btok2.setonaction(image2handerclass); //剪刀 image image3 = new image("https://ss2.bdstatic.com/70cfvnsh_q1ynxgkpowk1hf6hhy/it/u=2460250897,3788214935&fm=27&gp=0.jpg"); imageview imageview3 = new imageview(image3); imageview3.setfitheight(150); imageview3.setfitwidth(150); pane.add(imageview3, 2, 1); image3handerclass image3handerclass = new image3handerclass(); button btok3 = new button("剪刀"); pane.add(btok3, 2, 2); btok3.setonaction(image3handerclass); borderpane borderpane=new borderpane(); borderpane.setcenter(pane); borderpane.setbottom(lablepane); borderpane.setalignment(pane,pos.center); // 游戏结束 // label label1 = new label("111"); // label1.setfont(font.font("times new roman", fontweight.bold, fontposture.italic, 30)); // pane.add(label1, 0, 3); pane.setstyle("-fx-background-color: #0effb8"); scene scene = new scene(borderpane, 800, 500); primarystage.settitle("石头剪刀布"); primarystage.setscene(scene); primarystage.show(); } class image1handerclass implements eventhandler<actionevent> { //布2 @override public void handle(actionevent event) { game game = new game(); string str = game.playgame(2); //setstr1(str); lablepane.show(str); system.out.println(str); } } class image2handerclass implements eventhandler<actionevent> { //石头0 @override public void handle(actionevent event) { game game = new game(); string str = game.playgame(0); //setstr1(str); lablepane.show(str); system.out.println(str); } } class image3handerclass implements eventhandler<actionevent> { //剪刀1 @override public void handle(actionevent event) { game game = new game(); string str = game.playgame(1); //setstr1(str); lablepane.show(str); system.out.println(str); } } class lablepane extends stackpane{ private label label=new label("结果"); public lablepane(){ getchildren().add(label); label.setfont(font.font("times new roman", fontweight.bold, fontposture.italic, 30)); } public void show(string str){ label.settext(str); } } }
代码
game.java
package cn.homework; import java.util.random; import java.util.scanner; public class game { public static void main(string []args){ string result=playgame(0); system.out.println(result); } public static string playgame(int user){ //用户输入 //system.out.println("请输入您要出的:如果出石头请输入0 如果出剪刀请输入1 如果出布请输入2"); //系统生成 random xx = new random(); //声明随机数 int number = xx.nextint(3); //赋值随机数给number //比较 if(user==0 && number==0){ return "你出的是石头,系统出的是石头,双方平局。"; } else if(user==1 && number==0){ return "你出的是剪刀,系统出的是石头,你输了。"; } else if(user==2 && number==0){ return "你出的是布,系统出的是石头,你赢了。"; } else if(user==0 && number==1){ return "你出的是石头,系统出的是剪刀,你赢了。"; } else if(user==1 && number==1){ return "你出的是石头,系统出的是石头,双方平局。"; } else if(user==2 && number==1){ return "你出的是布,系统出的是剪刀,你输了。"; } else if(user==0 && number==2){ return "你出的是石头,系统出的是布,你输了。"; } else if(user==1 && number==2){ return "你出的是剪刀,系统出的是布,你赢了。"; } else{ return "你出的是布,系统出的是布,双方平局。"; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。