
正文
游戏比武java代码 java游戏程序代码
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
java编程 用循环方式实现和计算机玩猜拳的程序 (设定胜出条件--输3次或赢3次即退出)
大哥,刚刚看到你的就开始写了。各种功能都有,包括判断你输入的字符是否正确,假如不符合的字符就提示。不玩了就可以直接按0退出。
然后,只要是赢三次,输三次都自动退出,并输出你输赢,还可以自动共玩多少局,输赢局数统计!希望能帮到您。
/*
猜拳游戏思路
1、定义输入函数
2、提示用户输入猜拳数值
3、定义随机一个数作为电脑数值
4、判断[用户输入数值]与 [电脑随机数值]
5、能够相等就是打平,不能相等就利用、||逻辑符判断输赢
6、设定数值1-石头 2-剪刀 3-布
*/
import java.util.*;//嵌入Java.util包所有
public class Cq{
public static void main(String[] args){
int win=0;//赢的记录
int lose=0;//输的记录
int all=1;//计数总的局数
int a=1;//控制循环条件使用
System.out.println("--------------猜拳游戏---------------");
System.out.println("游戏规则:赢三次便赢,输三次便输。");
while(a0){//假如a=0的话就不用继续玩
Scanner in=new Scanner(System.in);//定义输入函数in,Scanner包功能,输入数值用的
System.out.println("请输入一个数值:1、石头 2、剪刀 3、布 0、退出游戏");//提示输入数值
System.out.println(" ");//空行
int x=in.nextInt();//让用户输入X的数值
Random on=new Random();//定义电脑的随机数值的函数on
int y=on.nextInt(3)+1;//定义y随机函数数值范围(1--3)
if(x=4){ //判断用户是否输入非1--3范围
System.out.println("亲,请正确输入:1、石头 2、剪刀 3、布。你输入了:"+x);
}else if(x==0){
a=0;
System.out.println("欢迎再次玩“猜拳游戏”!");
return;
}
else{
/*下面是判断用户输入x的数值 嵌套if*/
if(x==y){
if(x==1){ //判断打平的情况
System.out.println("你:石头------电脑:石头 PK:平手"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
else if(x==2){
System.out.println("你:剪刀------电脑:剪刀 PK:平手"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else {
System.out.println("你:布------电脑:布 PK:平手"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
/* 打平手的判断END*/
}else if(x==1y==2||x==2y==3||x==3y==1){ //开始判断赢的情况
if(x==1y==2){
win++;//win1
System.out.println("[你]:石头---VS---[电脑]:剪刀 PK:赢了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else if(x==2y==3){
win++;//win2
System.out.println("[你]:剪刀---VS---[电脑]:布 PK:赢了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else {
win++;//win3
System.out.println("[你]:布---VS---[电脑]:石头 PK:赢了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
//判断赢的情况END
}else {//开始判断输的情况
if(x==1y==3){
lose++;
System.out.println("[你]:石头---VS---[电脑]:布 PK:输了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else if(x==2y==1){
lose++;
System.out.println("[你]:剪刀---VS---[电脑]:石头 PK:输了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}else {
lose++;
System.out.println("[你]:布---VS---[电脑]:剪刀 PK:输了!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
all++;
}
}//判断输的情况END
if(win==3){
System.out.println("");
System.out.println("");
System.out.println("游戏结束:恭喜您!你已经赢了[电脑]三局!!!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
a=1;
return;
}else if (lose==3) {
a=1;
System.out.println("");
System.out.println("");
System.out.println("游戏结束:很遗憾,电脑赢了你三盘!继续加油!"+" 共玩"+all+"局,"+"赢:"+win+",输:"+lose);
return;
}
else{continue;}
}//判断是否输入数值1-3范围,如果不是1-3会提醒重新输入 END
}//while
}
}
相关问答
Q1: 求一个简单的JAVA游戏代码,100行左右,谢谢!
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Painter extends JFrame{
/**
*
*/
private static final long serialVersionUID = 8160427604782702376L;
CanvasPanel canvas = new CanvasPanel();;
public Painter() {
super("Star");
this.add(canvas);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setResizable(false);
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public static void main(String[] args) {
new Painter();
}
}
class CanvasPanel extends JPanel implements ActionListener{
/**
*
*/
private static final long serialVersionUID = -4642528854538741028L;
private JButton[] btn = new JButton[4];
private String[] btn_name = {"+", "-", "R", "L"};
private int center_x = 200, center_y = 200, radius = 100, degree = 0;
public CanvasPanel() {
this.setPreferredSize(new Dimension(400, 500));
this.setLayout(null);
for(int i = 0; i 4; i++) {
btn[i] = new JButton(btn_name[i]);
btn[i].setBounds(160 + i * 60, 425, 50, 50);
btn[i].addActionListener(this);
this.add(btn[i]);
}
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
for(int i = 0; i 5; i++) {
g.drawLine( (int) (center_x + radius * Math.sin(Math.toRadians(degree + 72 * i))),
(int) (center_y - radius * Math.cos(Math.toRadians(degree + 72 * i))),
(int) (center_x + radius * Math.sin(Math.toRadians(degree + 72 * i + 144))),
(int) (center_y - radius * Math.cos(Math.toRadians(degree + 72 * i + 144))));
}
}
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getActionCommand() == "+") {
if(radius 200)
radius += 2;
repaint();
} else if(e.getActionCommand() == "-") {
if(radius 0)
radius -= 2;
repaint();
} else if(e.getActionCommand() == "R") {
degree = (degree + 2) % 360;
repaint();
} else if(e.getActionCommand() == "L") {
degree = (degree - 2) % 360;
repaint();
}
}
}
Q2: 猜拳游戏java能输出游戏时间
Java实现猜拳游戏的核心在于电脑随机数的生成,Java中的随机数生成方法是:
首先引入包 import java.util.*; 然后 int r=new Random().nextInt(3); (nextInt中的数字三代表随机数生成的个数,从零开始)
所以在猜拳的输入中需要有0、1、2三个数字代替,如果要输入汉字,则用if进行相应判断即可。
在实现的游戏中实现①猜拳;②记录胜负;③玩家决定游戏局数;④输出获胜、失败及平局;⑤统计总共的胜负结果(根据获胜次数判断)
①猜拳基础功能:该部分代码可以放到一个方法中,减少主函数代码量。
电脑出拳即 int r=new Random().nextInt(3); 注意:该部分一定要写在for循环内部,否则无法实现每次不同的随机数。
通过if判断双方出拳是否相等 if(a==0r==0) else if(a==0r==1) else if(a==0r==2) 即可实现猜拳,if内直接输出相关语句即可
②记录胜负: 定义猜拳方法为int ,通过返回值记录相关比赛的胜负情况 ,可以用0--失败;1--获胜;2--平局 进行记录,在主函数中对相应抛出的数字记录即可
if(a==0r==0){
System.out.println("The computer comes out with cloth,it was a draw. ");
return 2;
}
h=comp.compare(a,r); if (h==1) j++;
登录后复制
③玩家决定局数: 定义一个数,在循环中不大于该数即可
④输出获胜、失败及平局: j、k即胜利和失败,平局数即n-j-k。
⑤统计结果,直接用if比较i、j的数字结果即可。
主函数部分:
package SS2_5;
import java.util.*;
public class Main {
public static void main(String args[]){
Scanner scanner=new Scanner(System.in);
Compare comp=new Compare();
int h=0,j=0,k=0;
System.out.println("rules:0--cloth;1--stone;2--scissors.\nU can choose how many times you want to play:");
int n=scanner.nextInt();
for(int i=1;i=n;i++){
System.out.print("It's the "+i+" round,your turn:");
int a=scanner.nextInt();
int r=new Random().nextInt(3);
switch (a){
case 0:
h=comp.compare(a,r);
break;
case 1:
h=comp.compare(a,r);
break;
case 2:
h=comp.compare(a,r);
break;
default:
System.out.println("Wrong number!");
break;
}
if (h==1)
j++;
else if(h==0)
k++;
}
System.out.println("The total times you won are "+j+",The draw times are "+(n-j-k)+".");
if(jk)
System.out.println("You are the final winner");
else if(kj)
System.out.println("The computer is the winner.");
if(j==k)
System.out.println("The final result is draw");
}
}
登录后复制
compare方法部分
package SS2_5;
public class Compare {
public int compare(int a,int r){
int counter=0;
if(a==0r==0){
System.out.println("The computer comes out with cloth,it was a draw. ");
return 2;
}
else if(a==0r==1){
System.out.println("The computer comes out with stone, you won. ");
return 1;
}
else if(a==0r==2){
System.out.println("The computer comes out with scissor,you lost. ");
return 0;
}
else if(a==1r==0){
System.out.println("The computer comes out with cloth,you lost. ");
return 0;
}
else if(a==1r==1){
System.out.println("The computer comes out with stone,it was a draw. ");
return 2;
}
else if(a==1r==2){
System.out.println("The computer comes out with scissors,you won. ");
return 1;
}
else if(a==2r==0){
System.out.println("The computer comes out with cloth,you won. ");
return 1;
}
else if(a==2r==1){
System.out.println("The computer comes out with stone,you lost. ");
return 0;
}
else if(a==2r==2){
System.out.println("The computer comes out with scissors,it was a draw. ");
return 2;
}
else
return 0;
}
}
登录后复制
java
704拖拉机
精选推荐
广告
java写简单的猜拳游戏
2下载·0评论
2016年7月27日
用Java编写的猜拳小游戏
2029阅读·0评论·0点赞
2021年3月7日
Java猜拳游戏和Random的应用
21阅读·0评论·0点赞
2022年10月24日
java实现完整版猜拳小游戏
25下载·0评论
2018年11月22日
用python实现功能猜拳
1137阅读·2评论·3点赞
2022年7月14日
java猜拳switch计分制_java----猜拳(10局分胜负)
117阅读·0评论·1点赞
2021年3月15日
二手拖拉机交易市场,你还在高价买吗?
精选推荐
广告
利用Java编写简单的猜拳游戏
911阅读·0评论·1点赞
2022年9月8日
Java简单实现猜拳游戏
1.1W阅读·1评论·2点赞
2022年1月23日
java猜拳游戏代码_Java实现简单猜拳游戏
4496阅读·0评论·0点赞
2021年3月1日
用java来写一个简单的猜拳小游戏
890阅读·1评论·1点赞
2022年7月26日
java实现猜拳游戏
3180阅读·2评论·1点赞
2022年5月4日
JAVA编写猜拳游戏
3037阅读·3评论·3点赞
2021年3月16日
[Java教程]17.实战,趣味猜拳小游戏
8040阅读·2评论·3点赞
2020年6月24日
怎么用java实现人机猜拳?
1959阅读·6评论·9点赞
2021年7月22日
Java Random经典例子【猜拳游戏】
4318阅读·0评论·0点赞
2014年3月22日
java的人机猜拳代码_Java实现人机猜拳游戏
702阅读·0评论·2点赞
2021年3月12日
Java基础练习之猜拳游戏
363阅读·1评论·1点赞
2021年8月19日
用java写猜拳小游戏
1096阅读·0评论·1点赞
2021年9月1日
Java猜拳小游戏
97阅读·0评论·0点赞
2022年8月23日
java猜拳小游戏
500阅读·1评论·0点赞
2022年7月14日
Q3: N个人比武,俩俩对决,胜者进行下一场比试,问n场后还剩多少人?用java解决
好。。好像就是个除以2的过程吧,还是我想得太简单?到达一定场数时比武就结束了,另考虑到奇数的问题,我想让奇数时有人轮空,那就是:
public static void main(String[] args) {
int N = 32;//总人数N
int n = 6; //总场数n
int m = 0; //当前轮次
for (; n 0; n--) {
m++;
System.out.print("当前轮次:[" + m + "],");
if (N % 2 == 1) {
N = N / 2 + 1;
System.out.println("总人数为奇数,将有一人轮空,比武后剩余人数:[" + N + "]");
} else {
N /= 2;
System.out.println("总人数为偶数,比武后剩余人数:[" + N + "]");
}
if (N == 1) {
System.out.println("经过[" + m + "]轮,已决出胜负");
break;
}
}
}
Q4: java写一个二人PK游戏,给两个人初始血量,每次二人随即互殴,每次掉的血在一定范围内随机
import java.util.Random;
public class Game {
public static void main(String[] args) {
System.out.println("比赛开始");
Person p1 = new Person("刘邦", 100, 10);
Person p2 = new Person("项羽", 100, 10);
while (p1.getBlood() 0 p2.getBlood() 0) {
Random random = new Random();
if (random.nextInt(100) 50) {
p1.beat(p2);
p2.beat(p1);
} else {
p2.beat(p1);
p1.beat(p2);
}
}
p1.printState();
p2.printState();
System.out.println("game over!");
}
}
class Person {
private int blood;// 初始血量
private int range;// 掉血范围
private String name;// 姓名
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getRange() {
return range;
}
public void setRange(int range) {
this.range = range;
}
public int getBlood() {
return blood;
}
public void setBlood(int blood) {
this.blood = blood;
}
// 构造函数
public Person(String name, int blood, int range) {
this.name = name;
this.blood = blood;
this.range = range;
}
// 击打
public void beat(Person person) {
int bleeding = person.hurt();
System.out
.println(String.format("%s打了%s一耳光,%s流了%s滴血。", this.name, person.getName(), person.getName(), bleeding));
}
// 被打,受伤
public int hurt() {
Random random = new Random();
int bleeding = random.nextInt(this.range) + 1;
if (bleeding this.blood) {
bleeding = this.blood;
}
this.blood -= bleeding;
return bleeding;
}
// 输出状态
public void printState() {
if (this.blood == 0) {
System.out.println(String.format("%s被打死了", this.name));
} else {
System.out.println(String.format("%s还剩%s滴血", this.name, this.blood));
}
}
}
结果(随机):
比赛开始
刘邦打了项羽一耳光,项羽流了6滴血。
项羽打了刘邦一耳光,刘邦流了4滴血。
刘邦打了项羽一耳光,项羽流了8滴血。
项羽打了刘邦一耳光,刘邦流了2滴血。
刘邦打了项羽一耳光,项羽流了9滴血。
项羽打了刘邦一耳光,刘邦流了7滴血。
项羽打了刘邦一耳光,刘邦流了8滴血。
刘邦打了项羽一耳光,项羽流了9滴血。
刘邦打了项羽一耳光,项羽流了1滴血。
项羽打了刘邦一耳光,刘邦流了10滴血。
刘邦打了项羽一耳光,项羽流了2滴血。
项羽打了刘邦一耳光,刘邦流了7滴血。
项羽打了刘邦一耳光,刘邦流了7滴血。
刘邦打了项羽一耳光,项羽流了2滴血。
刘邦打了项羽一耳光,项羽流了1滴血。
项羽打了刘邦一耳光,刘邦流了7滴血。
刘邦打了项羽一耳光,项羽流了10滴血。
项羽打了刘邦一耳光,刘邦流了9滴血。
项羽打了刘邦一耳光,刘邦流了5滴血。
刘邦打了项羽一耳光,项羽流了1滴血。
刘邦打了项羽一耳光,项羽流了5滴血。
项羽打了刘邦一耳光,刘邦流了8滴血。
刘邦打了项羽一耳光,项羽流了9滴血。
项羽打了刘邦一耳光,刘邦流了6滴血。
项羽打了刘邦一耳光,刘邦流了5滴血。
刘邦打了项羽一耳光,项羽流了6滴血。
项羽打了刘邦一耳光,刘邦流了5滴血。
刘邦打了项羽一耳光,项羽流了6滴血。
项羽打了刘邦一耳光,刘邦流了4滴血。
刘邦打了项羽一耳光,项羽流了7滴血。
刘邦打了项羽一耳光,项羽流了4滴血。
项羽打了刘邦一耳光,刘邦流了6滴血。
刘邦被打死了
项羽还剩14滴血
game over!
全手写,望采纳,谢谢!
游戏比武java代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java游戏程序代码、游戏比武java代码的信息别忘了在本站进行查找喔。






