「java打字母游戏」打字母的游戏
本篇文章给大家谈谈java打字母游戏,以及打字母的游戏对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、程序设计:简单字母打字游戏(JAVA编写)
- 2、java拼字游戏(1组10个字母中至少2个原音字母,可重复字母)拼对得分 拼错换人..
- 3、Java 编程求帮助为猜字母游戏添加游戏等级。游戏等级设为三等:5、7和9,
- 4、JAVA绘制字母游戏
- 5、用java写猜字母的小游戏;随机生成几个字母,玩家输入几个数与随机生成的数进行比较。
- 6、JAVA猜字母游戏
程序设计:简单字母打字游戏(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;i26;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;i10;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;i10;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;i10;i++)
{ if (!fj[i].equals(""))
{
for (j=0;j10;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(;ipd.length;i++)
{ for (j=0;jfj.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(;ifj.length;i++)
{ if (zc.equals(fj[i])) break;
} //保证字母不重复
if (i==fj.length)
for(i=0;ifj.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;i10;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;j10;j++)
{ if (tmpX+widthx[j] || tmpXx[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拼字游戏(1组10个字母中至少2个原音字母,可重复字母)拼对得分 拼错换人..
可能不符合要求,自己看吧
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Random;
import java.util.Scanner;
public class Words {
private static char[] consonant={'B','C','D','F','G','H','J','K','L','M','N','P','Q',
'R','S','T','V','W','X','Y','Z'};
private static char[] vowel={'A','E','I','O','U'};
private static ArrayListString dict = new ArrayListString();
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
getResource();
int score1 = 0;
int score2 = 0;
Scanner userInput = new Scanner(System.in);
String A= null;
int count = 0;
boolean flag = false;//true 为Player1, FALSE为Player2
do{
String random = randomString();
System.out.println(random);
if(flag)
{
System.out.println("Player1 input a word: (or ‘@’ to pass or ‘!’ to quit)");
A=userInput.nextLine();
if(A.equals("@") )
{
flag =!flag;
System.out.println("Player2 input a word: (or ‘@’ to pass or ‘!’ to quit)");
A =userInput.nextLine();
}
}
else
{
System.out.println("Player2 input a word: (or ‘@’ to pass or ‘!’ to quit)");
A=userInput.nextLine();
if(A.equals("@") )
{
flag = !flag;
System.out.println("Player1 input a word: (or ‘@’ to pass or ‘!’ to quit)");
A =userInput.nextLine();
}
}
if(A.equals("@"))
{
System.out.println("反复切换,系统退出");
return;
}
else
{
String temp = null;
if(flag)
{
//String random = randomString();
temp = match(random,A);
if(find(temp,dict))
score1+=2;
System.out.println(" Player1 get "+score1+" points");
}
else
{
//String random = randomString();
temp = match(random,A);
if(find(temp,dict))
score2+=2;;
System.out.println(" Player2 get "+score2+" points");
}
}
count++;
}while(count 10(!A.equals("!")));
System.out.println("游戏结束!");
System.out.println("Player1 get"+score1+"points");
System.out.println("Player2 get"+score2+"points");
if(A.equals("!") )
System.out.println("exit");
}
public static String randomString()//产生随机字符串
{
Random generator = new Random();
String temp = new String();
for(int i = 0;i8;i++)
temp += consonant[generator.nextInt(20)+1];
temp+=vowel[generator.nextInt(4)+1];
temp+=vowel[generator.nextInt(4)+1];
return temp;
}
public static String match(String str1,String str2)//
{
if(str1.contains(str2))
{
System.out.println("Bingo,you get it!");
return str2;
}
else
{
String temp = new String();
L1: for(int i = 0;istr2.length();i++)
{
for(int j = 0;jstr1.length();j++)
if(str2.charAt(i)==str1.charAt(j))
{
temp += str2.charAt(i);
continue L1;
}
}
return temp;
}
}
public static boolean find(String str,ArrayListString soure)//从读取的信息中查找输入的字符串
{
for(int i = 0;i soure.size();i++)
{
if(soure.get(i).equals(str))
{
System.out.println("Find It ! You can get two points");
return true;
}
}
return false;
}
public static void getResource() throws IOException//读取words.txt文件
{
FileReader fin = new FileReader("words.txt");
BufferedReader bin = new BufferedReader(fin);
String str = null;
do{
str = bin.readLine();
if(str!=null)
dict.add(str);
}while(str!=null);
bin.close();
fin.close();
}
}
Java 编程求帮助为猜字母游戏添加游戏等级。游戏等级设为三等:5、7和9,
import java.util.*;
public class test {
private static Scanner in = new Scanner(System.in);
public static void main(String args[]) {
int level, guessCount = 0;
String inputStr, guessStr = "";
showMsg("欢迎尝试猜字母游戏!");
showMsg("请输入游戏级别(5、7、9)");
level = getLevel(in.next());
guessStr = getGuessStr(level);
showMsg("游戏开始,请输入你所猜的" + level +
"个字符序列:(exit-退出, guess-作弊)");
while (!"exit".equals(inputStr = in.next())) {
if ("guess".equals(inputStr)) {
showMsg("偷偷告诉你,答案是:" + guessStr);
} else if (guessStr.equals(inputStr.toUpperCase())) {
showMsg("恭喜你猜对了!正确答案是:" + guessStr);
return;
} else {
showGuessState(guessStr, inputStr.toUpperCase(), ++guessCount);
}
}
}
private static void showGuessState(String guessStr, String inputStr, int guessCount) {
int letterRight = 0, positionRight = 0;
for (int i=0;iguessStr.length();i++) {
char s = guessStr.charAt(i);
if (inputStr.contains(s + "")) {
letterRight++;
if (s == inputStr.charAt(i)) {
positionRight++;
}
}
}
showMsg("你猜对" + letterRight + "个字符,"
+ "其中" + positionRight + "个字符的位置正确!"
+ "(总次数-" + guessCount + ", exit-退出)");
}
//获取字符串
private static String getGuessStr(int level) {
String guessStr = "";
Random random = new Random();
for (int i=0;ilevel;i++) {
char str = (char) ('A' + random.nextInt(26));
if (guessStr.contains(str + "")) {
i--;
} else {
guessStr += str;
}
}
return guessStr;
}
//获取游戏等级
private static int getLevel(String inputStr) {
switch (inputStr) {
case "5":
return 5;
case "7":
return 7;
case "9":
return 9;
default:
showMsg("请重新输入游戏等级:");
return getLevel(in.next());
}
}
//控制台输出带前缀
private static void showMsg(String msg) {
System.out.println("GuessingGame" + msg);
}
}
不谢~
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(g1 || g4);
char arr[]=new char[g];
for(int i=0;ig;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;iarr.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+"个,继续加油。");
}
count=0;
}while(arr1[0]!='0');
}
}
JAVA猜字母游戏
public class GuessingGame {
public static char[] generate(int level){
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'};
char[] chs = new char[level];
boolean[] flag = new boolean[26];
for(int i=0;ichs.length;i++){
int index;
do{
index = (int)(Math.random()*26);
}while(flag[index]);
chs[i] = letters[index];
flag[index] = true;
}
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[0]++;
if(i==j){
result[1]++;
}
break;
}
}
}
return result;
}
public static void main(String[] args) {
int level;
int score;
int count=0;
Scanner scanner = new Scanner(System.in);
System.out.println("请选择游戏等级");
level = scanner.nextInt();
char[] chs = generate(level);
System.out.println(Arrays.toString(chs)+"\n猜吧");
while(true){
String inputStr = scanner.next().trim().toUpperCase();
char[] input = inputStr.toCharArray();
do {
System.out.println("个数不对,请重新输入");
inputStr = scanner.next().trim().toUpperCase();
input = inputStr.toCharArray();
}while(input.length!=level);
int[] result = check(chs,input);
if("EXIT".equals(inputStr)){
System.out.println("谢谢");
break;
}
if(result[1]==level){
score = 500-count*10;
System.out.println("恭喜全对!得分"+score);
break;
}else{
count++;
System.out.println("总次数"+count+"猜对字母个数"+result[0]+"猜对位置个数"+result[1]);
}
}
}
}
关于java打字母游戏和打字母的游戏的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-11,除非注明,否则均为
原创文章,转载请注明出处。