「java字符游戏」java格式游戏
本篇文章给大家谈谈java字符游戏,以及java格式游戏对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、Java 怎样从三个字符串中 任意取出一个? 做一个“剪刀,石头,布”的游戏
- 2、用java编写一个猜字游戏程序,答案不限
- 3、java 小游戏
- 4、求一个简单又有趣的JAVA小游戏代码
- 5、java猜字符串游戏。
- 6、用java编写一个猜数字游戏,
Java 怎样从三个字符串中 任意取出一个? 做一个“剪刀,石头,布”的游戏
存到一个数组里面,对数组的下标进行随机的获得,这样就可以了啊!也可以先放到一个Map里面
用java编写一个猜字游戏程序,答案不限
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int guessTime = 8;
boolean restart = true;
while (restart) {
System.out.println("请选择下列选项!");
System.out.println("1 ----开始猜数");
System.out.println("2 ----游戏参数设置");
System.out.println("9 ----退出");
boolean flag = true;
String choose = null;
Scanner in = null;
while (flag) {
in = new Scanner(System.in);
choose = in.next();
if (!choose.matches("[129]")) {
System.out.println("输入错误,请重新输入");
continue;
} else {
break;
}
}
if ("2".equals(choose)) {
boolean chooseLevel = false;
System.out.println("请选择游戏难度!");
System.out.println("1 ----难(4次)");
System.out.println("2 ----一般(6次)");
System.out.println("3 ----容易(8次)");
while (!chooseLevel) {
String s = in.next();
if (s.matches("[123]")) {
switch (Integer.parseInt(s)) {
case 1:
guessTime = 4;
chooseLevel = true;
break;
case 2:
guessTime = 6;
chooseLevel = true;
break;
case 3:
guessTime = 8;
chooseLevel = true;
break;
default:
System.out.println("你输入的选择不存在(请输入1、2、3)");
break;
}
} else {
System.out.println("你输入的选择不存在(请输入1、2、3)");
}
}
continue;
}
if ("9".equals(choose)) {
System.exit(0);
}
if ("1".equals(choose)) {
String number = String.valueOf(Math.round(Math.random() * 100) + 1);
System.out.println(number);
boolean getIt = false;
int count = 0;
while (!getIt ++count = guessTime) {
System.out.println("请输入你猜的值(1-100)");
String s = in.next();
if (s.matches("\\d+")) {
try {
if (Integer.parseInt(s) == Integer.parseInt(number)) {
getIt = true;
break;
} else if (Integer.parseInt(s) Integer.parseInt(number)) {
System.out.println("你输入的数字大了!");
} else {
System.out.println("你输入的数字小了!");
}
} catch (NumberFormatException e) {
System.out.println("你输入的数据超过Integer的最大范围!");
continue;
}
} else {
System.out.println("你输入的数据不合法!");
continue;
}
}
if (getIt) {
System.out.println("恭喜你猜对了,你的战斗力是" + Math.round((1 - count * 1.0 / guessTime) * 100) + "%");
} else {
System.out.println("超过次数,尚需努力");
}
in.nextLine();
in.nextLine();
}
}
}
}
java 小游戏
import java.util.Random;
import javax.swing.*;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.event.*;
public class SmallGame extends JFrame {
private Random r;
private String[] box = { "剪刀", "石头", "布" };
private JComboBox choice;
private JTextArea ta;
private JLabel lb;
private int win = 0;
private int loss = 0;
private int equal = 0;
public SmallGame() {
initial();//调用initial方法,就是下面定义的那个.该方法主要是初始界面.
pack();
setTitle("游戏主界面");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocation(400, 300);
setVisible(true);
}
public static void main(String[] args) {
new SmallGame();
}
public void initial() {
r = new Random(); // 生成随机数
choice = new JComboBox();//初始化choice这个下拉框.也就是你选择出剪子还是石头什么的那个下拉框..
for (int i = 0; i box.length; i++) {//为那个下拉框赋值.用前面定义的private String[] box = { "剪刀", "石头", "布" };附值.这样下拉框就有三个选项了..
choice.addItem(box[i]);
}
ta = new JTextArea(3, 15);//初始化那个文本域3行15列
ta.setEditable(false);//让用户不能编辑那个文本域即不能在里面写东西
JButton okBut = new JButton("出招");//新建一个出招的按钮
okBut.addActionListener(new ActionListener() {//给出招按钮加个监听.意思就是监听着这个按钮看用户有没有点击它..如果点击就执行下面这个方法
public void actionPerformed(ActionEvent e) {//就是这个方法
ta.setText(getResult());//给那个文本域赋值..就是显示结果 赋值的是通过getResult()这个方法得到的返回值 getResult()这个方法下面会讲
lb.setText(getTotal());//给分数那个LABEL赋值..就是显示分数..赋值的是通过getTotal()这个方法得到的返回值
}
});
JButton clearBut = new JButton("清除分数");//新建一个清楚分数的按钮
clearBut.addActionListener(new ActionListener() {//同上给他加个监听
public void actionPerformed(ActionEvent e) {//如果用户点击了就执行这个方法
ta.setText("");//给文本域赋值为""..其实就是清楚他的内容
win = 0;//win赋值为0
loss = 0;//同上
equal = 0;//同上
lb.setText(getTotal());//给显示分数那个赋值..因为前面已经都赋值为0了..所以这句就是让显示分数那都为0
}
});
lb = new JLabel(getTotal());//初始化那个显示分数的东西
JPanel choicePanel = new JPanel();//定义一个面板..面板就相当于一个画图用的东西..可以在上面加按钮啊文本域什么的..
choicePanel.add(choice);//把下拉框加到面板里
choicePanel.add(okBut);//把出招按钮加到面板里
choicePanel.add(clearBut);//把清楚分数按钮加到面板里
JScrollPane resultPanel = new JScrollPane(ta);//把文本域加到一个可滚动的面板里面..JScrollPane就是可滚动的面板..这样如果那个文本域内容太多就会出现滚动条..而不是变大
JPanel totalPanel = new JPanel();//再定义个面板..用来显示分数的..
totalPanel.add(lb);//把那个显示分数的label加到里面去
Container contentPane = getContentPane();//下面就是布局了..
contentPane.setLayout(new BorderLayout());
contentPane.add(choicePanel, BorderLayout.NORTH);
contentPane.add(resultPanel, BorderLayout.CENTER);
contentPane.add(totalPanel, BorderLayout.SOUTH);
}
public String getResult() {//获得结果的方法 返回值是一个String..这个返回值会用来显示在文本域里面
String tmp = "";
int boxPeop = choice.getSelectedIndex();//获得你选择的那个的索引..从0开始的..
int boxComp = getBoxComp();//获得电脑出的索引..就是随机的0-2的数
tmp += "你出:\t" + box[boxPeop];//下面你应该明白了..
tmp += "\n电脑出:\t" + box[boxComp];
tmp += "\n结果:\t" + check(boxPeop, boxComp);
return tmp;
}
public int getBoxComp() {//就是产生一个0-2的随机数..
return r.nextInt(3);//Random的nextInt(int i)方法就是产生一个[0-i)的随机整数 所以nextInt(3)就是[0-2]的随机数
}
public String check(int boxPeop, int boxComp) {//这个就是判断你选择的和电脑选择的比较结果..是输是赢还是平..boxPeop就是你选择的..boxComp就是电脑选择的..
String result = "";
if (boxPeop == (boxComp + 1) % 3) {//(boxComp + 1) % 3 电脑选择的加上1加除以3取余..也就是如果电脑选0这个就为1..这个判断的意思就是如果电脑选0并且你选1..那么就是电脑选了
//private String[] box = { "剪刀", "石头", "布" };这里面下标为0的..你选了下标为1的..就是电脑选剪刀你选石头..所以你赢了..如果电脑选1..(boxComp + 1) % 3就为2..意思就是
//电脑选了石头你选了布..所以你赢了..另外一种情况你明白了撒..只有三种情况你赢..所以这里都包含了..也只包含了那三种..
result = "你赢了!";
win++;//赢了就让记你赢的次数的那个变量加1
} else if (boxPeop == boxComp) {//相等当然平手了
result = "平";
equal++;//同上了
} else {//除了赢和平当然就是输了..
result = "你输了!";
loss++;//同上
}
return result;
}
public int getPoint() {
return (win - loss) * 10;
}
public String getTotal() {
return "赢:" + win + " 平:" + equal + " 输:" + loss + " 得分:"
+ getPoint();
}
}
希望你能明白哈。。
求一个简单又有趣的JAVA小游戏代码
具体如下:
连连看的小源码
package Lianliankan;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class lianliankan implements ActionListener
{
JFrame mainFrame; //主面板
Container thisContainer;
JPanel centerPanel,southPanel,northPanel; //子面板
JButton diamondsButton[][] = new JButton[6][5];//游戏按钮数组
JButton exitButton,resetButton,newlyButton; //退出,重列,重新开始按钮
JLabel fractionLable=new JLabel("0"); //分数标签
JButton firstButton,secondButton; //
分别记录两次62616964757a686964616fe59b9ee7ad9431333335326239被选中的按钮
int grid[][] = new int[8][7];//储存游戏按钮位置
static boolean pressInformation=false; //判断是否有按钮被选中
int x0=0,y0=0,x=0,y=0,fristMsg=0,secondMsg=0,validateLV; //游戏按钮的位置坐标
int i,j,k,n;//消除方法控制
代码(code)是程序员用开发工具所支持的语言写出来的源文件,是一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。
对于字符和Unicode数据的位模式的定义,此模式代表特定字母、数字或符号(例如 0x20 代表一个空格,而 0x74 代表字符“t”)。一些数据类型每个字符使用一个字节;每个字节可以具有 256 个不同的位模式中的一个模式。
在计算机中,字符由不同的位模式(ON 或 OFF)表示。每个字节有 8 位,这 8 位可以有 256 种不同的 ON 和 OFF 组合模式。对于使用 1 个字节存储每个字符的程序,通过给每个位模式指派字符可表示最多 256 个不同的字符。2 个字节有 16 位,这 16 位可以有 65,536 种唯一的 ON 和 OFF 组合模式。使用 2 个字节表示每个字符的程序可表示最多 65,536 个字符。
单字节代码页是字符定义,这些字符映射到每个字节可能有的 256 种位模式中的每一种。代码页定义大小写字符、数字、符号以及 !、@、#、% 等特殊字符的位模式。每种欧洲语言(如德语和西班牙语)都有各自的单字节代码页。
虽然用于表示 A 到 Z 拉丁字母表字符的位模式在所有的代码页中都相同,但用于表示重音字符(如"é"和"á")的位模式在不同的代码页中却不同。如果在运行不同代码页的计算机间交换数据,必须将所有字符数据由发送计算机的代码页转换为接收计算机的代码页。如果源数据中的扩展字符在接收计算机的代码页中未定义,那么数据将丢失。
如果某个数据库为来自许多不同国家的客户端提供服务,则很难为该数据库选择这样一种代码页,使其包括所有客户端计算机所需的全部扩展字符。而且,在代码页间不停地转换需要花费大量的处理时间。
java猜字符串游戏。
提供个大概思路吧..
1. 定义两个字符串 A B , A为第一个用户输入的要猜的字符串 (如 high) B为与第一个用户输入的字符串相同长度的全为?的字符串 (如 ????)
2. 第二个用户输入字母为 C if(A.indexOf(C)!=-1){return B中替换掉A.indexOf(C)对应的字符串 }
用java编写一个猜数字游戏,
package day06;
import java.util.Scanner;
//猜字符游戏
public class GuessingGame {
//主方法
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int count = 0; //猜错的次数
char[] chs = generate(); //随机生成的字符数组
System.out.println(chs); //作弊
while(true){ //自造死循环
System.out.println("猜吧!");
String str = scan.next().toUpperCase(); //获取用户输入的字符串
if(str.equals("EXIT")){ //判断str是否是EXIT
System.out.println("下次再来吧!");
break;
}
char[] input = str.toCharArray(); //将字符串转换为字符数组
int[] result = check(chs,input); //对比
if(result[0]==chs.length){ //位置对为5
int score = chs.length*100 - count*10; //一个字符100分,错一次减10分
System.out.println("恭喜你猜对了,得分:" + score);
break; //猜对时跳出循环
}else{ //没猜对
count++; //猜错次数增1
System.out.println("字符对:"+result[1]+"个,位置对:"+result[0]+"个");
}
}
}
//随机生成5个字符数组
public static char[] generate(){
char[] chs = new char[5];
char[] letters = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V',
'W', 'X', 'Y', 'Z'};
boolean[] flags = new boolean[letters.length]; //1.
for(int i=0;ichs.length;i++){
int index;
do{
index = (int)(Math.random()*letters.length); //0到25
}while(flags[index]==true); //2.
chs[i] = letters[index];
flags[index] = true; //3.
}
return chs;
}
//对比随机数组与用户输入的数组
public static int[] check(char[] chs,char[] input){
int[] result = new int[2];
for(int i=0;ichs.length;i++){
for(int j=0;jinput.length;j++){
if(chs[i]==input[j]){ //字符对
result[1]++; //字符对个数增1
if(i==j){ //位置对
result[0]++; //位置对个数增1
}
break;
}
}
}
return result;
}
}
java字符游戏的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java格式游戏、java字符游戏的信息别忘了在本站进行查找喔。
发布于:2022-12-16,除非注明,否则均为
原创文章,转载请注明出处。