java可以用java编写猜数字游戏主机游戏吗

21:27 提问
如题比如我下了一个JAVA小游戏源代码照着写就能运行了吗
比如说俄罗斯方块,五子棋 等我该注意什么问题呢,大神们我知道我的问题对你们来说都是小问题,新手求科普
按赞数排序
看来你还没有做过游戏方面的东西吧。一般而言,游戏不止有代码,同样的还必须有图片资源,你想一下不然游戏的美工不就只有喝西北风了!!
当然也有例外,比如你完全只是调用一些简单的几何图形函数就不会用到图片资源。但是这种游戏几乎没有!
所以你要看代码中调用图片资源没有,如果有,还要找到图片资源,同时还要看用到其他的库没有,如果用到,你还要加载其它的库
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐下次自动登录
现在的位置:
& 综合 & 正文
如何用java编写小游戏
应一起学习java的众兄弟姐妹们的要求,对塔防游戏小程序做一个简单的说明,本人学习java两年时间,现在刚刚入职,虽然上班基本不用java swing相关的知识,但由于大学期间运用awt、swing编写小游戏的那种成就感与喜悦使我仍然对编写小游戏有着很强烈的兴趣,编程么,没有什么比编写游戏更吸引人了(I think so),大学期间,当我第一次接触java图形化界面(awt)时,心里很是激动,那是我在校期间头一次感觉到自己写的程序与应用软件有点联系了,因为之前已经写了一年的控制台程序,整天scanf、printf什么的,那时候俄罗斯方块在我心目中一直是个神话,往事不堪回首啊。。。
当然,对于喜欢编游戏的朋友们,我还是推荐从简单到复杂,我是先后编写的贪吃蛇、俄罗斯方块(这两个比较经典了)、扫雷(这个可以编,只要你会一点awt,基本就是按钮+递归)、超级玛丽(背景不会移动)、坦克大战(这个绝对没看马士兵视频)、愤怒的小鸟(障碍物不会动)、塔防那款(这些游戏在我的资源里都有),超级玛丽后是我看过魔乐科技超级玛丽教学后编写完成的,这个视频对我编写贴图游戏有很大的帮助,内面有关于双缓冲图片、图片刷新的讲解,建议大家可以看一下。
接下来简单说一下我编游戏的基本步骤吧,希望对大家有帮助,我编写的基本都是贴图游戏,所谓贴图游戏也就是把图片一张一张画到窗体中(包括背景、敌人、障碍物),我在绘制的时候要用到双缓冲技术,简单说一下我对双缓冲的理解,我是按照视频上学来的方法,首先创建一张缓冲图片,然后将游戏所需要绘制的图片全部画到缓冲图片中,最后将缓冲图片画到窗体,这样做的目的是为了避免图片闪烁,因为这样每次都是将一张完整的图片绘制到窗体,如果不用这张缓冲图片,也就是将背景、敌人、障碍物等元素逐一绘制到窗体的话,由于不同元素绘制不是同时的(有先后顺序),所以会产生图片闪烁的现象,上一段代码:
import java.awt.C
import java.awt.G
import java.awt.image.BufferedI
import javax.swing.JF
public class BaseFrame extends JFrame {
* 构造函数
public BaseFrame() {
this.setBounds(100, 100, 500, 500); // 设置窗体的位置、大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体右上角那个叉关闭程序
this.setVisible(true); // 设置窗体可见
* 绘制方法
public void paint(Graphics gr) {
BufferedImage image = new BufferedImage(500, 500,
BufferedImage.TYPE_3BYTE_BGR); // 创建一张500*500的缓冲图片
Graphics g2 = image.getGraphics(); // 获取缓冲图片的画笔
* 这里面就可以画东西了,而且时候到image缓冲图片上,想画什么查阅java API里的Graphics 例如
* g2.drawRect(50, 50, 100, 100);
g2.setColor(Color.WHITE); // 设置画笔颜色
g2.drawRect(50, 50, 100, 100);
g2.fillRect(200, 200, 100, 100);
gr.drawImage(image, 0, 0, this); // 将缓冲图片画到窗体上
public static void main(String[] args) {
new BaseFrame();
这个差不多算是我编写游戏的基本架构,创建一个窗体,绘制一张缓冲图片到窗体,而且获取到了缓冲图片的画笔,这样你就可以用画笔画你需要的形状或是图片了。如果想让绘制的东西动起来,可以通过加入线程来实现,改变绘制物体的坐标,最重要一点不要忘记repaint;
import java.awt.C
import java.awt.G
import java.awt.image.BufferedI
import javax.swing.JF
public class BaseFrame extends JFrame implements Runnable {
* 绘制方块x坐标
private int x = 30;
* 绘制方块y坐标
private int y = 30;
* 构造函数
public BaseFrame() {
this.setBounds(100, 100, 500, 500); // 设置窗体的位置、大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体右上角那个叉关闭程序
this.setVisible(true); // 设置窗体可见
Thread thread = new Thread(this); //创建线程
thread.start(); //启动线程
* 绘制方法
public void paint(Graphics gr) {
BufferedImage image = new BufferedImage(500, 500,
BufferedImage.TYPE_3BYTE_BGR); // 创建一张500*500的缓冲图片
Graphics g2 = image.getGraphics(); // 获取缓冲图片的画笔
* 这里面就可以画东西了,而且时候到image缓冲图片上,想画什么查阅java API里的Graphics 例如
* g2.drawRect(50, 50, 100, 100);
g2.setColor(Color.WHITE); // 设置画笔颜色
g2.fillRect(x, y, 100, 100);
gr.drawImage(image, 0, 0, this); // 将缓冲图片画到窗体上
* 线程执行方法
public void run() {
while (true) {
if (x & 400 || y & 400) {
this.repaint();
Thread.sleep(50); //while(true)的循环里一点要记得sleep一会,要不然太可怕了。。。
} catch (InterruptedException e) {
e.printStackTrace();
public static void main(String[] args) {
new BaseFrame();
这个就实现了让图片动起来,但是这顶多算是一个动画,因为没有交互性,游戏是人来玩的嘛,这个可以通过加入事件来完成,下面加入一个键盘事件:
接下来,就是见证奇迹的时刻
import java.awt.C
import java.awt.G
import java.awt.event.KeyE
import java.awt.event.KeyL
import java.awt.image.BufferedI
import javax.swing.JF
public class BaseFrame extends JFrame implements Runnable, KeyListener {
* 绘制方块x坐标
private int x = 200;
* 绘制方块y坐标
private int y = 200;
* 构造函数
public BaseFrame() {
this.setBounds(100, 100, 500, 500); // 设置窗体的位置、大小
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 设置窗体右上角那个叉关闭程序
this.setVisible(true); // 设置窗体可见
this.addKeyListener(this); // 添加键盘监听器
Thread thread = new Thread(this); // 创建线程
thread.start(); // 启动线程
* 绘制方法
public void paint(Graphics gr) {
BufferedImage image = new BufferedImage(500, 500,
BufferedImage.TYPE_3BYTE_BGR); // 创建一张500*500的缓冲图片
Graphics g2 = image.getGraphics(); // 获取缓冲图片的画笔
g2.setColor(Color.WHITE); // 设置画笔颜色
g2.fillRect(x, y, 100, 100);
gr.drawImage(image, 0, 0, this); // 将缓冲图片画到窗体上
* 线程执行方法
public void run() {
while (true) {
this.repaint();
Thread.sleep(50);
} catch (InterruptedException e) {
e.printStackTrace();
* 按下时调用
public void keyPressed(KeyEvent e) {
int keyCode = e.getKeyCode();
// System.out.println(keyCode); // 打印按键的keyCode
if (keyCode == 38) { // 上按键
if (keyCode == 40) { // 下按键
if (keyCode == 37) { // 左按键
if (keyCode == 39) { // 右按键
* 释放按键时调用
public void keyReleased(KeyEvent e) {
public void keyTyped(KeyEvent e) {
public static void main(String[] args) {
new BaseFrame();
这个程序可以用上下左右按键控制方块移动了,运用这些知识基本可以搞定贪吃蛇、俄罗斯方块了,想再来复杂的可以学习一下鼠标监听器,祝你成功。
【上篇】【下篇】Java为什么不适合写游戏_百度知道
Java为什么不适合写游戏
我有更好的答案
不是不能做,是做出来东西没人会欣赏,大型游戏最需要的就是画面,java的画面极度粗糙:(,能做的游戏也就是1d的比如俄罗斯方块,飞行棋,泡泡龙那种游戏,画面也赶不上C++做的,唯一好处就是比C++能简单点
采纳率:69%
来自团队:
那么你需要重新再开发一套代码,成本会大其实也有java的游戏引擎libgdx,但是用java开发游戏也只能在java虚拟机环境运行、iOS、h5,而区别就是在一些细节上处理下就好了(如加入sdk,硬件调用这些会有区别)。但是如果你想发布iOS版等。所以现在像u3d、cocos2d等游戏引擎都有很好的跨平台性。一般一份代码你就可以打包PC、android
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。java可以编写游戏吗?需要学习哪些知识啊_百度知道
java可以编写游戏吗?需要学习哪些知识啊
我有更好的答案
equals(&F& else if(pe-cpu==-2) t= 1;+pi+&quot.equals(&E&); input=); System.out,石头&quot,你回去玩一下就会写了,嘿嘿.局&); System.out.println(&负:&+fail+&局&剪刀&quot.你出的是,布&quot.println(&quot.println(&布&,pe).R 平.println(&0) {System.out.println(&你赢了!&);win++;} else if(t==0) {System.out.println(&咱们平了; System!&quot.out. S);)||input.equals(&石头&我出&pi++;} else {Se&)){ S if(input.out,C--布(cloth)&); Scanner scan=new Scanner(S你输了;局&); System.exit(0); } } } }以上回答参考;c&)){ pe=2; S*************************小游戏一个 输e/ check(cpu,pe); }else if(input.equals(&quot.你出的是,剪刀&); System.out.println(&我出&+cpuStr);我出&; else if(cpu==1)cpuStr=& String cpuStr=&&.println(& System. }else if(input.util.S public class Game { private static int win=0; private static int fail=0;; else cpuStr=&quot,pe);S&)||input.out. Sfail++;} } public static void main(String[] args) { String input=&&; Random rand=new Random(); System.nextLine(); cpu=rand.nextInt(3);)||input.equals(& int cpu=0; int pe=0; while(true){ S结束游戏。.equals(&C&quot:& private static int pi=0; private static void check(int cpu.println(&quot。&);请选择你要出什么?F--剪刀(forfex),S--石头(stone); if(cpu==0)cpuStr=&quot,int pe){ int t=0; if(pe-cpu==2) t= -1;)){ pe=1; System.out.println(&你出的是;结果统计:&); System.out.println(&胜:&+win+&);)||input.equals(&+cpuStr); check(f&)){ pe=0!& else t=pe- if(t&gt.println(&quot.println(&E可以退出*****************&quot.println(&quot.println(&+cpuStr); check(cpu.in).println(&).equals(&s&); }else if(inputimport java.util
谢谢,我回去试试
可以JAVA程序基础JAVAweb安卓测试数据结构具有一定的算法基础(计科系专业最合适)
Java只能编写一些相对小型的游戏,因为Java运行是靠虚拟机的,如果大一点的游戏就运行不起来了
额……编写游戏需要易语言
不过不是主流
因为需要经过虚拟机,处理起来慢,大多都用c写的
其他3条回答
为您推荐:
其他类似问题
您可能关注的内容
java的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。JAVA 可以开发游戏吗?我想开发一个游戏。
[问题点数:100分]
JAVA 可以开发游戏吗?我想开发一个游戏。
[问题点数:100分]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年10月 总版技术专家分月排行榜第三
2014年3月 Java大版内专家分月排行榜第一2014年1月 Java大版内专家分月排行榜第一2013年12月 Java大版内专家分月排行榜第一2013年11月 Java大版内专家分月排行榜第一2013年10月 Java大版内专家分月排行榜第一
2016年1月 Java大版内专家分月排行榜第二2015年12月 Java大版内专家分月排行榜第二2015年8月 Java大版内专家分月排行榜第二2015年3月 Java大版内专家分月排行榜第二2015年1月 Java大版内专家分月排行榜第二2014年12月 Java大版内专家分月排行榜第二2014年11月 Java大版内专家分月排行榜第二2014年6月 Java大版内专家分月排行榜第二2014年4月 Java大版内专家分月排行榜第二2014年1月 Java大版内专家分月排行榜第二2013年11月 Java大版内专家分月排行榜第二
2015年9月 Java大版内专家分月排行榜第三2015年6月 Java大版内专家分月排行榜第三2015年5月 Java大版内专家分月排行榜第三2015年2月 Java大版内专家分月排行榜第三2014年3月 Java大版内专家分月排行榜第三2013年12月 Java大版内专家分月排行榜第三
匿名用户不能发表回复!|}

我要回帖

更多关于 用java编写猜数字游戏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信