JAVA小游戏五子棋中想加入一个倒计时器,每回合玩家有20秒下棋时间,求如何实现

JAVA小游戏五子棋中想加入一个倒计时器,每回合玩家有20秒下棋时间,求如何实现,第1张

用线程 间隔1s 

private Thread playerThread;// 玩家时间所对应的线程

private Thread robotThread;// 机器人时间所对应的线程

private int playerTime = 1800;// 玩家的总时间 3060, 30分钟

// 初始化-玩家时间所对应的线程

playerThread = new Thread(new Runnable() {

    public void run() {// 相执行start方法时该线程启动

    while (true) {

    try {

           playerThreadsleep(1000);// 线程睡一秒钟

    } catch (Exception e) {

    eprintStackTrace();

    }

    playerTime--;// 玩家时间减一秒钟

    canvasrepaint();// 绘制窗囗

    if (playerTime == 0) {// 如果玩家的时间用完了,表示玩家输

    isGameBegin = false;// 游戏没有开始

    isGameOver = true;// 游戏结束

    canvasrepaint();// 绘制窗囗

    JOptionPaneshowMessageDialog(null, "机器人赢了!");

    }

    }

    }

}

});

MMORPG游戏里的计时通常是按照游戏服务器的实际时间来计算的,游戏服务器会根据游戏中的动作来计算游戏时间,比如玩家使用技能、移动、攻击等,游戏服务器都会记录下来,以便更新游戏时间。

Timer定时为1分钟执行一次,然后每次执行时检查时间是否到达预设即可。

以下的代码为每30秒检查一次,时间为12:15分执行逻辑Some()

private Timer timer = new Timer();

private void Form1_Load(object sender, EventArgs e)

{

timerInterval = timerInterval = 100030;

timerTick += new EventHandler(timer_Tick);

timerStart();

}

private void timer_Tick(object sender, EventArgs e)

{

if(DateTimeNowHour == 12 && DateTimeNowMinutes == 15)

{

Some();

}

}

若使用vivo手机,可以查看以下内容:

一、设置时钟倒计时

目前有以下倒计时的方法:

1、倒计时原子组件:

(1)在Origin桌面向上滑动---原子组件--贴纸--长按“日子贴纸”拖动添加到桌面,再点击该组件--设置目标日期即可。

(2)经典桌面中,长按桌面空白处进入桌面编辑--原子组件--贴纸--长按“日子贴纸”拖动添加到桌面,再点击该组件--设置目标日期即可。

2、闹钟倒计时:进入闹钟时钟--计时器--设置需要计时的时间和提醒铃声即可。

3、日历倒计时:进入日历--点击"+"按钮--点击“:”--添加倒数日--再设置目标日、提醒时间、提醒方式等。

二、设置游戏倒计时

进入设置--游戏魔盒--游戏倒计时--选择对应游戏打开。目前支持王者荣耀、和平精英、荒野行动等游戏。

三、设置相机倒计时

相机倒计时的开启方法:进入相机--右上角 齿轮 --(倒计时)--选择秒数(3s/5s/10s)--按下快门拍照即可。

相机开启延时摄影的方法:进入相机--滑动至更多--延时摄影--点击 时钟 --设置好需要的倍速、拍摄时长等,即可点击红色按钮开始拍摄。

注:该功能仅部分机型支持,若有显示开关则支持,若没有显示则不支持。

若有更多疑问,可进入vivo官网--我的--在线客服--下滑底部--在线客服--输入人工客服进入咨询了解。

多线程

不就OK了?

倒计时还不就是控制游戏状态,游戏一个线程,倒计时一个线程,时间完了,就挂起游戏线程,给个“game

over”提示,确认了就关闭游戏进程,这样是吧!!

在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了一个类,往往都自己写。现在发现了这个类,大家共享一下:

在一个TextView不断显示剩下的时间,代码如下:

[java] view plaincopy

private TextView vertifyView;

private CountDownTimer timer = new CountDownTimer(10000, 1000) {

@Override

public void onTick(long millisUntilFinished) {

vertifyViewsetText((millisUntilFinished / 1000) + ;秒后可重发;);

}

@Override

public void onFinish() {

vertifyViewsetEnabled(true);

vertifyViewsetText(;获取验证码;);

}

};

调用的时候很简单:timerstart();

最后说明一下:CountDownTimer timer = new CountDownTimer(10000, 1000)中,第一个参数表示总时间,第二个参数表示间隔时间。意思就是每隔一秒会回调一次方法onTick,然后10秒之后会回调onFinish方法。

以上就是关于JAVA小游戏五子棋中想加入一个倒计时器,每回合玩家有20秒下棋时间,求如何实现全部的内容,包括:JAVA小游戏五子棋中想加入一个倒计时器,每回合玩家有20秒下棋时间,求如何实现、mmorpg游戏里如何计时、VS中timer如何实现 游戏倒计时功能等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9847098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存