Java学多久能够做出经营蛋糕店游戏大全

做JAVA专业的,想做游戏但是java不怎么合适,想学C++各位觉得这样好吗?
[问题点数:20分,结帖人u]
本版专家分:74
结帖率 96.92%
CSDN今日推荐
本版专家分:17374
2014年11月 扩充话题大版内专家分月排行榜第一
2014年12月 扩充话题大版内专家分月排行榜第二
本版专家分:25925
2015年6月 移动开发大版内专家分月排行榜第一
2015年7月 移动开发大版内专家分月排行榜第二2015年5月 移动开发大版内专家分月排行榜第二
2015年7月 扩充话题大版内专家分月排行榜第三2015年5月 扩充话题大版内专家分月排行榜第三
本版专家分:3615
本版专家分:18919
本版专家分:11314
2016年3月 Java大版内专家分月排行榜第一2016年2月 Java大版内专家分月排行榜第一2015年11月 Java大版内专家分月排行榜第一2015年10月 Java大版内专家分月排行榜第一2014年8月 Java大版内专家分月排行榜第一2014年7月 Java大版内专家分月排行榜第一2014年5月 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大版内专家分月排行榜第三
本版专家分:74
本版专家分:74
本版专家分:5496
本版专家分:74
本版专家分:18919
本版专家分:5496
本版专家分:74
本版专家分:74
本版专家分:74
本版专家分:5218
本版专家分:3634
本版专家分:100431
2015年2月 扩充话题大版内专家分月排行榜第一
2018年5月 扩充话题大版内专家分月排行榜第二2015年1月 扩充话题大版内专家分月排行榜第二
2018年6月 扩充话题大版内专家分月排行榜第三2018年3月 扩充话题大版内专家分月排行榜第三2014年12月 扩充话题大版内专家分月排行榜第三
本版专家分:11521
本版专家分:1253
本版专家分:74
本版专家分:74
本版专家分:74
本版专家分:20457
本版专家分:74
本版专家分:100431
2015年2月 扩充话题大版内专家分月排行榜第一
2018年5月 扩充话题大版内专家分月排行榜第二2015年1月 扩充话题大版内专家分月排行榜第二
2018年6月 扩充话题大版内专家分月排行榜第三2018年3月 扩充话题大版内专家分月排行榜第三2014年12月 扩充话题大版内专家分月排行榜第三
本版专家分:5496
本版专家分:74
本版专家分:74
本版专家分:74
本版专家分:60101
2011年8月 C/C++大版内专家分月排行榜第一2010年12月 C/C++大版内专家分月排行榜第一
2011年9月 C/C++大版内专家分月排行榜第二2011年4月 C/C++大版内专家分月排行榜第二2010年11月 C/C++大版内专家分月排行榜第二
2011年6月 C/C++大版内专家分月排行榜第三
本版专家分:74
本版专家分:0
本版专家分:0
本版专家分:0
匿名用户不能发表回复!
其他相关推荐在公司学习当中,按照任务写了小小游戏,但是不是我的最终想实现的能容,功能也没有完全达到我的要求,由于别的事情,目前不能继续做了,所以只能提前发出来,希望对大家有帮助。。。。。。
package com.example.
public class ScoreThread extends Thread {
GameView gameV//GameView 的引用
int highest=60;
//胜利值,游戏的最高得分
public boolean flag=
//线程释放执行的标志位
public ScoreThread(GameView gameView) {
this.gameView=gameV
// TODO Auto-generated constructor stub
public void run() {
while(flag){
//gameView.score++;//得分增加
if(gameView.score==highest){
//判断时间是否达到胜利时间
gameView.status=3;
//游戏胜利
//gameView.scoreThread.stop();
gameView.scoreThread.flag=
//停止TimeThread执行
gameView.coinThread.flag=
//停止coinThread执行
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
package com.example.
import java.security.PublicK
import java.util.T
import java.util.TimerT
import android.annotation.SuppressL
import android.content.C
import android.graphics.B
import android.graphics.BitmapF
import android.graphics.C
import android.os.H
import android.os.M
import android.util.AttributeS
import android.view.MotionE
import android.view.SurfaceH
import android.view.SurfaceV
public class GameView extends SurfaceView implements SurfaceHolder.Callback {
public static int run_flag = 0;
//硬币运动的标志位,等于0时运动
/*声明该项目开发过程中用到的变量*/
MainActivity mainA
//activity 的引用
ScoreThread scoreT
//TimeThread的引用
CoinGoThread
coinT //CoinGoThread的引用
int screenWidth=480;
int screenHeight=700;//屏幕高
int carWidth=40;
//负责接硬币的小车的宽
int carHeight=10;//负责接硬币的小车的高
int bottomSpance=20;//低下空白
//int coinSize=16;
int carSpan=5; //小车步进
int coinSpan=8; //硬币步进
int coinSize=16;//硬币的尺寸
int hintWidth=100;//提示宽度
int hintHeight=20;//提示高度
/*记录游戏的状态变量
0-&等待开始,1-&进行中,2-&游戏结束,3-&游戏胜利*/
int status=0;
int score=0;//得分
//硬币的X坐标
//硬币的Y坐标
//负责接硬币的小车的X坐标
//负责接硬币的小车的Y坐标
int richManX;//土豪的X坐标
int richManY; //土豪的Y坐标
int richManSpan=5;
//土豪的移动速度
int richManWidth=20;
//土豪的宽度
int richManHeight=20;
//土豪的高度
int scoreWith=32;//数字图片的宽度
Bitmap [] iscore=new Bitmap[10]; //得分图片组的声明
B//硬币图片的声明
B//小车的声明
Bitmap iRichM
//土豪的声明
B //开始图片的声明
B//游戏结束图片的声明
B//游戏胜利图片的声明
B//退出游戏图片的声明
B//重玩游戏图片的声明
GameViewDrawThread gameViewDrawT
//构造方法,对图片资源初始化
int direction=0;
private int backSize=16;
public GameView(MainActivity mainActivity) {
super(mainActivity);
getHolder().addCallback(this);
//注册接口
this.mainActivity=mainA
initBitmap();
//调用初始化常用方法
gameViewDrawThread=new GameViewDrawThread(this);//启动后台刷屏线程
public void initBitmap() {//初始化图片资源的方法
/*对score图片组的初始化===========开始*/
iscore[0] = BitmapFactory.decodeResource(getResources(), R.drawable.d0);
iscore[1] = BitmapFactory.decodeResource(getResources(), R.drawable.d1);
iscore[2] = BitmapFactory.decodeResource(getResources(), R.drawable.d2);
iscore[3] = BitmapFactory.decodeResource(getResources(), R.drawable.d3);
iscore[4] = BitmapFactory.decodeResource(getResources(), R.drawable.d4);
iscore[5] = BitmapFactory.decodeResource(getResources(), R.drawable.d5);
iscore[6] = BitmapFactory.decodeResource(getResources(), R.drawable.d6);
iscore[7] = BitmapFactory.decodeResource(getResources(), R.drawable.d7);
iscore[8] = BitmapFactory.decodeResource(getResources(), R.drawable.d8);
iscore[9] = BitmapFactory.decodeResource(getResources(), R.drawable.d9);
/*对score图片组的初始化===========结束*/
iback = BitmapFactory.decodeResource(getResources(), R.drawable.back);
/*对游戏开始,游戏结束,胜利,重玩游戏以及退出游戏图片的初始化===========开始*/
ibegin = BitmapFactory.decodeResource(getResources(), R.drawable.begin);
igameover = BitmapFactory.decodeResource(getResources(), R.drawable.gameover);
iwin = BitmapFactory.decodeResource(getResources(), R.drawable.win);
iexit = BitmapFactory.decodeResource(getResources(), R.drawable.exit);
ireplay = BitmapFactory.decodeResource(getResources(), R.drawable.replay);
/*对游戏开始,游戏结束,胜利,重玩游戏以及退出游戏图片的初始化===========结束*/
//对硬币图片的初始化
icoin=BitmapFactory.decodeResource(getResources(), R.drawable.coin);
//对小车图片的初始化
icar=BitmapFactory.decodeResource(getResources(), R.drawable.car);
//对土豪图片的初始化
/*切忌drawable里面的资源名字必须小写或者数字,不能大写,不然R.java文件不能自动添加id,导致运行不稳定,*/
iRichMan=BitmapFactory.decodeResource(getResources(), R.drawable.richman);
initCoinAndCar();
//初始化硬币和小车的位置的方法
public void initCoinAndCar() {//初始化硬币和小车的位置的方法
coiny= 10;
/*screenHeight-bottomSpance-carHeight-coinS*/
//计算硬币的y坐标
//硬币的x坐标为10~screenWith之间的随机数
coinx=screenWidth/2-carWidth/2;
//(int) ((screenWidth-10)*Math.random())+10;
carx=screenWidth/2-carWidth/2;
//计算小车的x坐标
cary=screenHeight-bottomSpance-carH//计算小车的y坐标
richManX=screenWidth/2-carWidth/2-richManWidth-coinSize/2;
//土豪的X坐标初始位置
richManY=10-richManHeight/2;
//土豪的Y坐标
/*replay()方法功能是清除上次一轮游戏留下的数据*/
public void replay() {
if(status==2 || status==3){
coinSpan=8;
//初始化硬币的速度
//2-&游戏结束,3-&游戏胜利*/
initCoinAndCar();//初始化硬币和小车的位置的方法
//score=0;
//清零得分,在这里清零没有办好让玩家失败后看到成绩
run_flag=0;
public void Automatic_replay() {
//当小车接住硬币时调用这个方法,自动重新开始,
//但是不会把数据清零
/*这块调整成绩达到一定值后,更改硬币的下落速度
if(score&=2)
coinSpan=10;
if(score&=4)
coinSpan=20;
if(score&=6)
coinSpan=30;
if(score&=8)
coinSpan=40;
if(score&=10)
coinSpan=45;
if(score&=15)
coinSpan=50;
if(score&=20)
coinSpan=60;
//coiny= 10;
/*screenHeight-bottomSpance-carHeight-coinS*/
//计算硬币的y坐标
//硬币的x坐标为10~screenWith之间的随机数
int random=(int) ((screenWidth-10)*Math.random())+10;
while(random&460 ||random&20){
random=(int) ((screenWidth-10)*Math.random())+10;
//richManX=random-richManWidth-coinSize/2;
richManY=10-richManHeight/2;
coiny= 20;
coinx=coinThread.father.richManX+15;
carx=x;///screenWidth/2-carWidth/2;
//计算小车的x坐标
cary=screenHeight-bottomSpance-carH//计算小车的y坐标
//initCoinAndCar();//初始化硬币和小车的位置的方法
coinThread.flag=
run_flag=0;
/*绘制游戏界面的方法*/
@SuppressLint("WrongCall") public void
doDraw(final Canvas canvas) {
//1.绘画背景
super.onDraw(canvas);
int cols=screenWidth/backSize+((screenWidth%backSize==0)?0:1);//列数
int rows=screenHeight/backSize+((screenHeight%backSize==0)?0:1);//行数
for(int i=0;i&i++){
for(int j=0;j&j++){
canvas.drawBitmap(iback, 16*j,16*i, null);
//绘制游戏得分的整体图片
scoreString=score+"";
int loop=3-scoreString.length();
//通过循环在分值得前面填加0,构成三位数得分图片组
for (int i = 0; i & i++) {
scoreString="0"+scoreS
//计算得分图片组绘制的开始x坐标
int startX=screenWidth-scoreWith*3-10;
for (int i = 0; i & 3; i++) {
//通过ASCII码计算,得出绘制的图片
int tempScore=scoreString.charAt(i)-'0';
canvas.drawBitmap(iscore[tempScore], startX+i*scoreWith, 5, null);
/*绘制硬币的图*/
canvas.drawBitmap(icoin, coinx, coiny, null);
//canvas.drawBitmap(icoin, coinx, coiny, null);
//绘制接硬币的小车
canvas.drawBitmap(icar, carx, cary-bottomSpance, null);
//绘制土豪
canvas.drawBitmap(iRichMan, richManX, richManY, null);
//绘制开始按钮,,,
/*记录游戏的状态变量
0-&等待开始,1-&进行中,2-&游戏结束,3-&游戏胜利*/
if(status==0){
//游戏处于等待状态,绘制开始按钮
canvas.drawBitmap(ibegin, screenWidth/2-hintWidth/2,
screenHeight/2-hintHeight/2, null);
//绘制失败图片
if(status==2){
//游戏结束的情况下,绘制失败图片
canvas.drawBitmap(igameover,screenWidth/2-hintWidth/2,
screenHeight/2-hintHeight/2, null);
//绘制胜利图片
if(status==3){
//游戏胜利的情况下,绘制胜利图片
canvas.drawBitmap(iwin,screenWidth/2-hintWidth/2,
screenHeight/2-hintHeight/2, null);
//绘制退出按钮,一直显示
canvas.drawBitmap(iexit,screenWidth-50,screenHeight/2,null);
//绘制重玩 按钮
if(status==2||status==3){//当游戏结束或者游戏胜利时绘制重玩按钮
canvas.drawBitmap(ireplay ,10,screenHeight/2,null);
//处理玩家点击屏幕的事件
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
x = (int) event.getX();
//获取被点击的x坐标
int y = (int) event.getY();
//获取被点击的y坐标
if(x&screenWidth && x&screenWidth-50
y&screenHeight/2+20 && y&screenHeight/2){ //按下退出按钮
System.exit(0);
//退出程序
if(status==0){
//游戏处于等待状态,按下屏幕任意地方,游戏会开始
//设置游戏进行状态
scoreThread=new ScoreThread(this);
//创建新的计时线程
coinThread=new CoinGoThread(this);
//创建新的CoinGoThread线程
scoreThread.start();
//启动线程
coinThread.start();
else if(status==1){
//游戏处于进行状态
/*分开处理触摸的时间*/
switch (event.getAction()) {
/*点屏幕*/
case MotionEvent.ACTION_DOWN
/*移动位置*/
case MotionEvent.ACTION_MOVE
/*离开屏幕*/
case MotionEvent.ACTION_UP
//移动小车的位置
else if(status==2 || status==3){
//游戏失败或者胜利的状态下
if(x&45 && x&0 && y&screenHeight/2+20 && y&screenHeight/2){//按下重玩按钮
//在这里使清零得分会有助于玩家失败是看到自己的成绩
//调用重置的方法重新玩游戏
return super.onTouchEvent(event);
public GameView(Context context, AttributeSet attrs) {
super(context, attrs);
// TODO Auto-generated constructor stub
public GameView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// TODO Auto-generated constructor stub
//主要处理当Surface的尺寸发生变化时需要执行的代码放置在此处
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
// TODO Auto-generated method stub
//当Surface被创建后,将需要执行的代码放置在此处
public void surfaceCreated(SurfaceHolder arg0) {
//创建时启动相应的线程
this.gameViewDrawThread.flag=
gameViewDrawThread.start();
// TODO Auto-generated method stub
//当Surface被移除当前显示屏幕时回调的方法的代码放置在此处
public void surfaceDestroyed(SurfaceHolder arg0) {
//摧毁释放相应的进程
boolean retry=
this.gameViewDrawThread.flag=
while(retry){
gameViewDrawThread.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
// TODO Auto-generated method stub
package com.example.
import android.graphics.C
import android.view.SurfaceH
public class GameViewDrawThread extends Thread{
boolean flag =
int sleepSpan = 100;
GameView gameV
SurfaceHolder surfaceH
public GameViewDrawThread(GameView gameView){
this.gameView = gameV
this.surfaceHolder = gameView.getHolder();
public void run(){
while (this.flag) {
// 锁定整个画布,在内存要求比较高的情况下,建议参数不要为null
c = this.surfaceHolder.lockCanvas(null);
synchronized (this.surfaceHolder) {
gameView.doDraw(c);//绘制
} finally {
if (c != null) {
//并释放锁
this.surfaceHolder.unlockCanvasAndPost(c);
Thread.sleep(sleepSpan);//睡眠指定毫秒数
catch(Exception e){
e.printStackTrace();//打印堆栈信息
}(&a href="http://www.dztcsd.com/"&资质代办&/a&)
package com.example.
import android.os.B
import android.app.A
import android.view.M
import android.view.W
import android.view.WindowM
import android.widget.ImageV
public class MainActivity extends Activity {
GameView gameV //GameView 的引用
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
///设置为无标题
// getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
//WindowManager.LayoutParams.FLAG_FULLSCREEN);//设置全屏
gameView=new GameView(this);
//创建GameView
setContentView(gameView);
WindowManager wm = this.getWindowManager();
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
public boolean onCreateOptionsMenu(Menu menu) {
// I this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
package com.example.
public class ScoreThread extends Thread {
GameView gameV//GameView 的引用
int highest=60;
//胜利值,游戏的最高得分
public boolean flag=
//线程释放执行的标志位
public ScoreThread(GameView gameView) {
this.gameView=gameV
// TODO Auto-generated constructor stub
public void run() {
while(flag){
//gameView.score++;//得分增加
if(gameView.score==highest){
//判断时间是否达到胜利时间
gameView.status=3;
//游戏胜利
//gameView.scoreThread.stop();
gameView.scoreThread.flag=
//停止TimeThread执行
gameView.coinThread.flag=
//停止coinThread执行
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
作者: 哈哈哈_3 来源:慕课网本文原创发布于慕课网 ,转载请注明出处,谢谢合作!
通过游戏学java(适合初学者)
Robocode(用游戏来学习Java技术还是用Java来玩游戏?)
用你的JAVA编程技术来玩游戏吧!不会JAVA?那就用游戏来学习JAVA吧!
什么是Robocode?
其实我对机器人一...
生命游戏Java实现
关于生命游戏之前在学校看到ThoughtWorks举办的线下结对编程的比赛一等奖是大疆无人机,冲着无人机就拉着实验室小伙伴马总一起报了个名。然后题目就是实现一个界面版的生命游戏,所以才了解了生命游戏。...
java_小鸟游戏
package HelloB//包
import java.awt.C//导入颜色
import java.awt.D//导入面积,高和宽度
import ja...
十款经典游戏的Java版本(开源)
开源Java小游戏
看到标题可能有人要笑我,用Java写游戏?没办法,毕竟无论学什么语言我们都希望它能做出好玩有趣的应用。对于初学者来说,能做出个小游戏玩玩也是很大的学习动力嘛。下面就给大家介绍...
JAVA制作游戏入门教程
现在流行的游戏似乎都是用C或C++来开发的。在java平台上几乎没有很大型及可玩的流行游戏。由于java是个新生语言,他的许多特性还有待大家的发掘,但是我们不能否认Java在游戏编程方面的强大性。本文...
Java小游戏-----人的一生
Java小游戏-----人的一生
利用抛出异常来表示人生中遇到的坎坷,形成了死循环,直到最后循环过程中导致内存溢出抛出 java.lang.StackOverflo
wError异常表...
用java做一个2048小游戏
昨天,自己突发奇想,能不能在忙碌的学习里抽一点时间来做一点事情,然后,我就有了一个要做一个2048小游戏的想法。说真的,java我已经认真学习了一段时间了,现在也刚刚学到Swing,虽然做这个2048...
java小游戏第一弹 简易俄罗斯
简易俄罗斯方块
&em&java&/em&窗口&em&小游戏开发&/em&,可作为&em&java&/em&初级入门者学习使用。直接运行src\\cn\\zlr\\game包下的MyFrame这个类可看到其中一个小游戏的运行。其他小游戏可能存在不完整的情况,...
没有更多推荐了,用java写一个小游戏 - 简书
用java写一个小游戏
游戏规则描述:系统随机产生一个1到100以内的数,让你猜一下,如果次数于4次的话,就失败。而每次你猜的数比系统产生的随机数比系统的大还是小系统会提示代码设计思路://产生一个1到1000内的随机数//设计一个变量,存放系统产生的随机数//用Scanner类里的nextInt函数接受敲进键盘的数字//用do
循环,比较随机数与接收到的数字是否相同,用time作为计数器import java.util.Rimport java.util.Spublic class getNumber {public static void main(String[] args) {//先产生一个随机数int time=0;System.out.println("请输入1到1000的数,看看你猜的是否正确");int answer=getRandomNumber();System.out.println(answer);Scanner
Scanner(System.in);int
max=5;do{time++;guess=sc.nextInt();if(guess==answer){System.out.println("恭喜你,答对了!");}else if(time==max){System.out.println("猜测次数超标,游戏结束!");}else if(guess&answer){System.out.println("太大了!");}else{System.out.println("太小了!");}}while(true);sc.close();System.out.println("你一共猜了"+time+"次");}public
getRandomNumber(){Random
random=new Random();int randNum=random.nextInt(100)+1;return
randN}}要问我代码为什么写得这么屌?戳下面的链接你就知道,我的代码都放在那了,想要吗?赶快去拿吧!!http://qingke.me/
第一章 初识javaJAVA 第一讲:什么是程序?:为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合 system.out.println(“输出的内容”); java是sun microsystems于1995年推出的高级编程语言 Javal领域的Jav...
分支结构 分支结构(选择结构) - switch 开关case 不加 break 就会一直往下执行,default 不用(因为是最后一个)x可以用整数、字符、枚举、字符串,只能做等值判断switch (x) 例子 1. 输入1-12的数字代表月份 输出对应的英文单词 2. ...
顺序语句 语句:使用分号分隔的代码称作为一个语句。 注意:没有写任何代码只是一个分号的时候,也是一条语句,称作空语句。 顺序语句就是按照从上往下的顺序执行的语句。2
判断(if…else)在我们找工作的过程中,要求两年工作经验以上且年龄超过30岁。什么是判断语句...
方法1 (数据类型)(最小值+Math.random()*(最大值-最小值+1)) 例: (int)(1+Math.random()*(10-1+1)) 从1到10的int型随数 方法2 获得随机数 for (int i=0;i&30;i++) {System.out.pr...
比较笨就把所有的都复制过来吧,以后再整理://for(表达式1,条件表达式;表达式2){//
语句块//} public class 视频求是某多少天 {public static void main(String[] args) {int i = 1;for (int ...
读者们你们好啊,这里淮山,在简书记录自己的心情,对一些事物的看法,没有多少励志大道理,我也写不出多么严谨精确的科普文,只是些中短篇,随笔,甚至涂鸦。 大家就当作看一个孩子的日记吧。
今天,好报的主編大人二美美女说可以使劲夸夸自己,就写篇文章夸,可劲夸,往死里夸,使出洪荒之力夸,不用不好意思,开夸吧!我可真夸了啊!!
前几天真写过一篇文章夸自己,有点儿膨胀。一个朋友路过,留言道:这回写的是王婆的故事。清醒过来,立马删之。谦虚使人进步哇,我这...
习惯改变命运。在职场中,你跟优秀的人之间,差的可能不是努力,而是好的工作习惯。
文/木棉锦 大半夜,开始写这段关于人生的感言。我最庆幸的是我最亲爱的都还在。 这一切来源于,刚刚听到的一个噩耗,老公的表哥出意外了。一个跟我同岁的男人,井下作业的时候,出了事故,没有机会看到明天的太阳,呼吸到井外的空气。或许我们没有办法,把一个事故,一条生命,跟一个充满活力...7添加评论分享收藏感谢收起您的位置:
愉快做码农 竟然还有帮你学习Java语言的游戏
编辑:sys_admin
&有人说,最好的学习方法就是游戏。来自旧金山加州大学的研发团队日前开发了一款编程游戏&&在游戏的同时教会玩家如何使用 Java 语言。这款名为 CodeSpells 的游戏是由计算机学家 William Griswold 带领的大四学生团队开发的。游戏的主要受众为高中生。研发团队希望由此来开发学生们的创新力和想象力,让他们主动地去学习知识。
该作是一款第一人称游戏。玩家将扮演一名和矮人们生活在荒岛上的魔法师。因为矮人们失去了使用魔法的能力,所以作为魔法师的玩家将帮助矮人们完成魔法。这些咒语是以 Java 语言的形式呈现在玩家面前。玩家需要通过编写这些语句来完成魔法。在帮助矮人们的同时,玩家还能通过一些解密游戏来获得相应的成就,当然,同样是通过 Java 语言的编写。
游戏的测试交由40位毫无编程经验的10至12岁的小女孩完成。在之后一个小时的测试中,姑娘们似乎全都喜欢上了这款游戏,并试着按照自己的想法创造出许多新式的魔法。
Griswold 和他的团队打算在学校中继续测试他们的游戏,最终他们希望这款游戏能够免费向公众开放。一些游戏的介绍请参考下面的视频。
3DM自运营游戏推荐
命运守护夜
CopyRight(C)
All Right Reserved 京ICP证号 京网文(-207号
请输入手机号或论坛账号
请输入密码
社交账号登陆}

我要回帖

更多关于 爱吾游戏宝盒 的文章

更多推荐

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

点击添加站长微信