import javax.swing.JFrame;
import javax.swing.JPanel;
import java.awt.Graphics;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
public class MyChar extends JFrame{
public MyChar(){
MyPanel mp=new MyPanel();
Thread t=new Thread(mp);
t.start();
mp.addKeyListener(mp);
this.addKeyListener(mp);
this.add(mp);
this.setSize(300,400);
this.setLocationRelativeTo(null);
this.setResizable(false);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args){
MyChar mc=new MyChar();
mc.setVisible(true);
}
}
class MyPanel extends JPanel implements Runnable,KeyListener{
private int[] x=new int[10];
private int[] y=new int[10];
private char[] c=new char[10];
private int score=1000;
public MyPanel(){
for(int i=0;i<10;i++){
x[i]=(int)(Math.random()*280);
y[i]=(int)(Math.random()*200);
c[i]=(char)(Math.random()*26+97);
}
}
public void paint(Graphics g){
super.paint(g);
g.setFont(new Font("黑体",Font.BOLD,20));
for(int i=0;i<10;i++){
g.drawString(new Character(c[i]).toString(),x[i],y[i]);
}
g.setColor(Color.red);
g.drawString("你的成绩为:"+score, 5, 20);
}
public void keyPressed(KeyEvent e){
int nowY=-1;
int nowIndex=-1;
char ch=e.getKeyChar();
for(int i=0;i<10;i++){
if(ch==c[i]){
if(y[i]>nowY){
nowY=y[i];
nowIndex=i;
}
}
}
if(nowIndex!=-1){
x[nowIndex]=(int)(Math.random()*280);
y[nowIndex]=0;
c[nowIndex]=(char)(Math.random()*26+97);
score+=10;
}else{
score-=100;
}
}
public void keyReleased(KeyEvent e){
}
public void keyTyped(KeyEvent e){
}
public void run(){
while(true){
for(int i=0;i<10;i++){
y[i]++;
if(y[i]>400){
x[i]=(int)(Math.random()*280);
y[i]=0;
c[i]=(char)(Math.random()*26+97);
score-=100;
}
if(score<0){
score=0;
}
}
try{
Thread.sleep(50);
}catch(Exception e){
}
this.repaint();
}
}
}
简易的打字母游戏
时间: 2024-10-11 17:50:25
简易的打字母游戏的相关文章
从零开始学C语言,200行代码完成一个打字母游戏!
很多刚开始学习编程的同学都希望自己可以去开发一些游戏,当学习了c语言的时候却发现总是用c语言去解决一些数学问题,今天我就分享给大家一个我学习c语言时候学到的一些好玩的东西,希望可以帮助大家保持对编程的兴趣. 创一个小群,供大家学习交流聊天如果有对学C++方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀.也希望大家对学C++能够持之以恒C++爱好群,如果你想要学好C++最好加入一个组织,这样大家学习的话就比较方便,还能够共同交流和分享资料,给你推荐一个学习的组织:快乐学习
字母游戏
[问题描写叙述] peter喜欢玩字母游戏,于是他编写了一个有趣的游戏.游戏规则是在一个 (N-1) * N的表格里填写字母.规则:对于每一个输入的N,由 (N-1) * N的字母区域的左上角開始,从字母A開始逆时针填充一个字母区域,乘积若超过26继续由新一组的A.B.C??填充,不要求输出边框. [输入] 多组測试数据(数据量在100组以内). 每组測试数据仅仅有一行为一个整数N(1<=N<=30).表示表格的宽度. [输出] 对于每组输入数据.输出N-1行,为填完的表格(N-1行,每行N个
猜字母游戏
猜字母游戏 猜字母游戏——设计数据结构 猜字母游戏——设计程序结构 猜字母游戏——实现字母生成方法 猜字母游戏——实现字母检测方法 猜字母游戏——实现主方法 1 猜字母游戏——设计数据结构 1.1 问题 有猜字母游戏,其游戏规则为:程序随机产生5个按照一定顺序排列的字符作为猜测的结果,由玩家来猜测此字符串.玩家可以猜测多次,每猜测一次,则由系统提示结果.如果猜测的完全正确,则游戏结束,计算玩家的游戏得分并输出:如果没有猜对,则提示猜测的结果,如猜对了几个字符,以及猜对了几个字符的位置等信息,并提
html5 canvas简易版捕鱼达人游戏源码
插件描述:html5利用canvas写的一个js版本的捕鱼,有积分统计,鱼可以全方位移动,炮会跟着鼠标移动,第一次打开需要鼠标移出背景图,再移入的时候就可以控制炮的转动,因为是用的mouseover触发的. 找htm5,html5教程,html开发的朋友来涂志海个人博客网,这里有你想要的一切(万一没有的,请联系涂志海,再解决,嘿嘿) 下 载 演示地址 下载说明: 1.解压密码:tuzhihai.com 2.只有部分模板会提供多页面下载,未加说明都是只有一个首页index.html模板. 3.如果
JSP简单练习-猜字母游戏
<!-- guessCharExample.jsp --> <%@ page contentType="text/html; charset=gb2312" %> <html> <head> <title>猜字母游戏</title> </head> <body> 下面,我们一起来玩一个游戏:猜字母游戏<br> 游戏规则:电脑会随机自动生成一个字母,请你猜出这个字母是什么.字母忽略
字母游戏(搜索)
问题 S: [搜索]字母游戏 时间限制: 10 Sec 内存限制: 64 MB提交: 28 解决: 17[提交] [状态] [讨论版] [命题人:外部导入] 题目描述 一种单人玩的游戏,规则为: 在一个R行C列的方格上,每个方格中有一个A-Z的字母.游戏从左上角(第一行,第一列)位置开始,一步一步地向相邻(上.下.左.右)方格移动.唯一的限制是路径上的方格中的字母,每种字母只能出现1次. 游戏的目标是走尽可能长的路径.请你写程序算出指定棋盘上,可能走的最长步数. 输入 第1行两个整数R和C(
Java实现猜字母游戏
package day06; import java.util.Scanner; public class HomeWork { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String string = "GuessingGame"; System.out.println(string+"欢迎尝试猜字谜游戏!满分500分,最低分为0分!");
华为机试题【13】-wave数组找字母游戏
题目描述: Word Maze 是一个网络小游戏,你需要找到以字母标注的食物,但要求以给定单词字母的顺序吃掉.如上图,假设给定单词if,你必须先吃掉i然后才能吃掉f. 但现在你的任务可没有这么简单,你现在处于一个迷宫Maze(n×m的矩阵)当中,里面到处都是以字母标注的食物,但你只能吃掉能连成给定单词W的食物. ,指定W为"SOLO",则在地图中红色标注了单词"SOLO". 注意区分英文字母大小写,你只能上下左右行走. 运行时间限制: 无限制 内存限制: 无限制 输
Java图形界面实战案例——实现打字母游戏
实现打字母的游戏 这次这个案例可以说是头几次所讲的内容的一个技术汇总,主要是 运用了几大块的知识.我们先来定义一下案例的背景:在一个300*400的窗体上,有10个随机产生的字母下落,在键盘上敲击字母,若是敲对了就消掉,初始化的成绩为1000分,每次敲对一个字母就加上10分,如果在字母落到了屏幕的下方还没有敲对的话则判定为失败,就扣除100分. 我们还是老样子,先来进行步骤的划分 1.做满天星 2.把星星改成随机的10个字母 3.让字母落下,如果字母落出了屏幕就生成新的字母,并从屏幕的上方重新出