java猜字母游戏?import java.util.Arrays;import java.util.Scanner;/ 1.难度选项选择;2.随机生成相应数量的字符,并装入数组;3。接受控制台输入的字符并加以比较。输出比较的结果。toUpperCase 转换为大写字母 toLowerCase 转换为小写。那么,java猜字母游戏?一起来了解一下吧。
猜拳游戏java代码
这个行不 ????
package zhouhu12;
import java.util.Arrays;
import java.util.Scanner;
/**
* 1.难度选项选择;
* 2.随机生成相应数量的字符,并装入数组;
* 3。接受控制台输入的字符并加以比较。输出比较的结果。
* toUpperCase 转换为大写字母 toLowerCase 转换为小写。
*/
public class GuessABC {
public static void main(String[] args) {
int num;
do{
guessGame(generate());
System.out.println("1. 重新开始游戏,2.退出游戏");
Scanner sc=new Scanner(System.in);
num=sc.nextInt();
}while(num==1);
System.out.print("游戏结束毁做渣,欢迎下次来纤悄玩。");
}
public static char[] generate(){
Scanner sc=new Scanner(System.in);
int g;
do{
System.out.println("欢迎进入猜字母游戏,请选择游戏难度等级:胡厅1.初级2.中级3.高级");
g=sc.nextInt();
}while(g<1 || g>4);
char arr[]=new char[g];
for(int i=0;i<g;i++){
arr[i]=(char)(int)(Math.random()*26+97);
}
return arr;
}
public static void guessGame(char arr[]){
int count=0;
char arr1[]=new char[arr.length];
do{
System.out.println("请输入"+arr.length+"个字母:(输入 0 退出)");
Scanner sca=new Scanner(System.in);
String A=sca.next();
System.out.println(A);
char arr2[]=A.toCharArray();
arr1=Arrays.copyOf(arr2,3);
if(arr1[0]=='0')
break;
System.out.print("答案:");
for(int i=0;i<arr.length;i++){
if(arr[i]==arr1[i]){
count++;
System.out.print(arr[i]);
}
else{
System.out.print("*");
}
}
System.out.println();
if(count==arr.length){
System.out.println("恭喜你猜对了");
break;
}
else{
System.out.println("猜对"+count+"个,继续加油。
java打字游戏代码
其岁禅实我觉得你要的是别人给你的思路! 要的是别人的实现没那乎码尘么容易 的!不是说难不是说不会,就是没那么模此些功夫去写!
java打字小游戏
import javax.swing.* ;
import java.awt.* ;
import java.awt.event.* ;
public class ZiMu extends JFrame {
ZiMu(){
this.setSize(300 , 600) ;
this.setResizable(false) ;
this.setTitle("打字游戏") ;
this.setBackground(Color.BLACK) ;
MyPanel mp = new MyPanel() ;
this.add(mp) ;
this.addKeyListener(mp) ;
Thread t = new Thread (mp) ;
t.start() ;
}
public static void main(String args[]){
ZiMu w = new ZiMu () ;
w.setVisible(true) ;
}
}
class MyPanel extends JPanel implements Runnable, KeyListener {
int x[] = new int[10] ;
int y[] = new int[10] ;
int sum = 0 ;
String z[] = new String[10] ;
MyPanel(){
for(int i=0;i<10;i++){
x[i] = (int)(Math.random()*300) ;
y[i] = (int)(Math.random()*300) ;
z[i] = new String(""+(char)(Math.random()*25+65)) ;
}
}
public void paint(Graphics g) {
super.paint(g) ;
this.setBackground(Color.black) ;
g.setColor(Color.WHITE) ;
g.drawString("一分钟正确打对的字母: "+sum , 10 , 560) ;
for(int i=0;i<10;i++){
g.drawString(z[i] , x[i] , y[i]) ;
}
}
public void run(){
long g = System.currentTimeMillis() ;
while(System.currentTimeMillis()-g<=60000) {
for(int i=0;i<10;i++){
y[i] ++ ;
if(y[i]>= 600){
sum -= 1 ;
y[i] = (int)(Math.random()*50) ;
x[i] = (int)(Math.random()*280) ;
z[i] = new String(""+(char)(Math.random()*25+65)) ;
}
}
try{
Thread.sleep(20) ;
}
catch(Exception e){
}
this.repaint() ;
}
}
public void keyTyped(KeyEvent e) {
// TODO: Add your code here
}
public void keyPressed(KeyEvent e) {
String keychar = new String(""+e.getKeyChar()) ;
int yy = 0 ;
int j = -1 ;
for(int i=0;i<10;i++){
if(keychar.equals(z[i])){
if(yy<y[i]){
yy = y[i] ;
j = i ;
}
}
}
if(j!=-1){
z[j] = new String(""+(char)(Math.random()*25+65)) ;
y[j] = 0 ;
sum += 1 ;
}else{
sum -= 1 ;
}
}
public void keyReleased(KeyEvent e) {
// TODO: Add your code here
java猜字小游戏
/*
游戏开始,从天上掉下10个有标号(字母)的炸弹,
下面有10颗子弹(就是可以按10个字母).
如果所按字母包含在炸弹中,就找到相应的炸弹并
消灭它,消灭后返回继续利用.如兄银携果没有就一直飞到天上最后才返回.
*/
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;
public class paodan extends Applet implements Runnable,KeyListener
{
private Image bgImage;
private Graphics bg;
static Thread myThread;
static AudioClip ac1,ac2;
static JFrame md;
String Zi26="";
String pd[]={"a","a","a","a","a","a","a","a","a","a"}; //用来存储10个字母做落下的炮弹
String fj[]={"","","","","","","","","",""}; //用来存储10个字母做反击的防空
int x[]=new int[10];
int y[]=new int[10];
//炸弹的坐标
int x1[]=new int[10];
int x2[]=new int[10];
int y1[]=new int[10];
//火箭的坐标搏罩
int life=100;//生命
Toolkit KIT=this.getToolkit();
Image paodan=KIT.createImage("paodan.jpg"羡伏);
Image huojian=KIT.createImage("huojian.jpg");
public paodan() //用来生成一个包含26个英文字母的字符串Zi26
{for (int i=0;i<26;i++)
Zi26+=(char)((int)'A'+i);
}
public void cushi() //初始各种数据,如炮弹与火箭的坐标.
{
try
{URL u1=this.getClass().getResource("huishou.wav");
URL u2=this.getClass().getResource("lanjie.wav");
ac1=Applet.newAudioClip(u1);
ac2=Applet.newAudioClip(u2);
}catch(Exception e){}
for (int i=0;i<10;i++)
{pd[i]=noRepeat();
x[i]=noHit(i,10);
if (i>=5)
y[i]=5+(int)(Math.random()*50);
else
y[i]=60+(int)(Math.random()*50);
x1[i]=220+i*32+1; y1[i]=550;
x2[i]=x1[i];
}
}
public void panduan() //用来判断pd[i]的y值是否要到达屏幕下边,如果是就把Y值变为5,并把所有Y值加3.
{ for(int i=0;i<10;i++)
{ if (y[i]>=500)
{life--;ac1.play();y[i]=5;}
y[i]+=3;
if (life==0) System.exit(0);
}
y[9]+=3;
md.setTitle("打字训练室你的生命为"+life+" 提示:白色的字母表示未按,粉红色的表示已按.");
}
public void fk() //防空程序,用来击毁落下的炸弹
{ int i=0,j=0;
for (i=0;i<10;i++)
{if (!fj[i].equals(""))
{
for (j=0;j<10;j++)
if (fj[i].equals(pd[j]))
{ if (!(x1[i]>=x[j] && x1[i]<=x[j]+32 || x1[i]+32>=x[j] && x1[i]+32<=x[j]+32))
if (x1[i]>x[j])
x1[i]-=4;
else x1[i]+=4;
if (!(y1[i]>=y[j] && y1[i]<=y[j]+32 || y1[i]+32>=y[j] && y1[i]+32<=y[j]+32))
if (y1[i]>y[j])
y1[i]-=3;
else y1[i]+=4;
if (y[j]>=380 && Math.abs(x[j]-x1[i])>5)
if (x[j]>x1[i]) x1[i]+=5;
else if (x[j]<x1[i]) x1[i]-=5;
if (y[j]>=380 && Math.abs(y[j]-y1[i])>5)
if (y[j]>y1[i]) y1[i]+=5;
else if (y[j]<y1[i]) y1[i]-=5;
if ((x1[i]>=x[j] && x1[i]<=x[j]+32 || x1[i]+32>=x[j] && x1[i]+32<=x[j]+32) && (y1[i]>=y[j] && y1[i]<=y[j]+32 || y1[i]+32>=y[j] && y1[i]+32<=y[j]+32))
{life++;ac2.play();pd[j]=noRepeat(); x[j]=noHit(i,10); y[j]=5; x1[i]=x2[i];y1[i]=550;fj[i]="";}
break;
}
if (j==10)y1[i]-=3;
if (y1[i]<=5) {y1[i]=550; fj[i]="";}
}
}
}
public void paint(Graphics g)
//根据相应的坐标在屏幕上画炸弹和吃炸弹的娃娃,并保证白色的字母表示未按,粉红色的表示已按
{int i=0,j=0;
g.setFont(new Font("Vrinda",1,21));
for(;i<pd.length;i++)
{ for (j=0;j<fj.length;j++)
if (pd[i].equals(fj[j]))
{g.setColor(new Color(255,93,55));
g.drawImage(paodan,x[i],y[i],this);
g.drawString(pd[i],x[i]+11,y[i]+20);
break;
}
if (j==fj.length)
{g.setColor(new Color(255,255,255));
g.drawImage(paodan,x[i],y[i],this);
g.drawString(pd[i],x[i]+11,y[i]+20);
}
g.setColor(new Color(255,93,55));
g.drawImage(huojian,x1[i],y1[i],this);
g.drawString(fj[i],x1[i]+10,y1[i]+22);
}
}
//没有按的显红色,按了的显白色
public void keyPressed(KeyEvent k) //当用户按的是字母时,就生成一个防空字母.
{char z=k.getKeyChar();
int i=0,j=0;
if ((z>='A' && z<='Z') || (z>='a' && z<='z'))
{if (z-32>=65) z-=32;
String zc=""+z;
for(;i<fj.length;i++)
{if (zc.equals(fj[i])) break;
} //保证字母不重复
if (i==fj.length)
for(i=0;i<fj.length;i++)
if (fj[i].equals("")) {fj[i]=zc;break;}
}
}
public void keyReleased(KeyEvent k){}
public void keyTyped(KeyEvent k){}
public String noRepeat() //生成一个不重复的字母.
{int zc,i;
String xinx;
while(true)
{zc=(int)(Math.random()*26);
xinx=Zi26.substring(zc,zc+1);
for(i=0;i<10;i++)
if (pd[i].equals(xinx))break;
if(i==10)return xinx;
}
}
int noHit(int i,int langth) //让字母保持车距.
{int tmpX,j,k,width=32;
while (true)
{ tmpX=(int)(Math.random()*768)+1;
for(j=0;j<10;j++)
{ if (tmpX+width<x[j] || tmpX>x[j]+width) continue; //如果欲生成的位置不与当前J所占的位置相交就判断下一个J.
if ((tmpX>=x[j] && tmpX<=x[j]+width) || (tmpX+width>=x[j] && tmpX+width<=x[j]+width)) break;
//如果欲生成的位置与当前x[j]所占据的范围相交就结束循环,重新生成一个起始位置.
}
if (j==10) {return tmpX;}
}
}
public void update(Graphics g)
{if (bgImage==null)
{bgImage=createImage(this.getSize().width,this.getSize().height);
bg=bgImage.getGraphics();
}
bg.setColor(getBackground());
bg.fillRect(0,0,this.getSize().width,this.getSize().height);
//bg.setColor(getForeground());
paint(bg);
g.drawImage(bgImage,0,0,this);
}
public void run() //用线程循环更改Y值,并根据新的坐标在屏幕上重画pd[I];
{
while(true)
{fk();
panduan();
repaint();
try{ myThread.sleep(50);}catch(Exception e) {}
}
}
public static void main(String args[])
{paodan m=new paodan();
md=new JFrame("打字训练室");
md.setSize(800,600);
md.addKeyListener(m);
md.getContentPane().add(m);
m.cushi();
md.setVisible(true);
md.setResizable(false);
myThread=new Thread(m);
myThread.start();
}
}
注:源代码取自编程中国
本人一点建议:其实你这样学Java是没用的,你应该知道你做的项目思想,先做什么后做什么,然后在亲自动手去敲代码!一点建议!
java猜字符游戏
package com.test;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class Ch6 extends JFrame {
private JPanel jpanel;
private JButton guess;
private JLabel Ch_title;
private JComboBox jcb;
public Ch6(){
setLayout(new BorderLayout());
guess=new JButton("guess");
Ch_title=new JLabel("请选择你猜测的数字(1-9)");
jcb=new JComboBox();
jpanel=new JPanel();
jpanel.setLayout(new GridLayout(3,1));
jpanel.add(Ch_title);
for(int i=1;i<=9;i++){
jcb.addItem(i);
}
jpanel.add(jcb);
jpanel.add(guess);
final int result=(int)(Math.random()*9+1);
guess.addActionListener(new ActionListener(){
int i=0;
@Override
public void actionPerformed(ActionEvent e) {
i++;
String message="";
if(i<4){
String s=jcb.getSelectedItem().toString();
int guessnumber=Integer.parseInt(s);
if(result>guessnumber){
message="您的贺举埋猜测应该大于"禅蚂+s;
}else if(result<guessnumber){
message="您的猜测答液应该小于"+s;
}else{
message="您的猜测正确了";
}
}else{
message="您的猜测次数已经超过四次了";
}
showMessage(message);
}
});
this.add(jpanel);
this.setVisible(true);
this.setSize(400, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void showMessage(String message) {
JOptionPane.showMessageDialog(this, message);
}
public static void main(String[] args) {
new Ch6();
}
}
//将就看吧,没注释,不过挺简单的
以上就是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("请选择下列选项!内容来源于互联网,信息真伪需自行辨别。如有侵权请联系删除。