Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.04.2015, 18:29   #1
Ромашка2002
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 19
По умолчанию Не работает системное время! Помогите

Название говорит само за себя.
Ромашка2002 вне форума Ответить с цитированием
Старый 06.04.2015, 18:30   #2
Ромашка2002
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 19
По умолчанию

import java.awt.BorderLayout;
import javax.swing.Timer;
import java.awt.Canvas;
import java.awt.Color;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.image.BufferStrategy;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.net.URL;
import javax.imageio.ImageIO;
import javax.swing.JFrame;

public class Game extends Canvas implements Runnable {
private static final long serialVersionUID = 1L;

private boolean running;

public static int WIDTH = 800;
public static int HEIGHT = 600;
public static String NAME = "TUTORIAL 1";
boolean uppPressed = false;
boolean downPressed = false;
private boolean leftPressed = false;
private boolean rightPressed = false;
public Image fon,sup,hero,end,cerce1,go;
public Image ho,box,moneta,eda;
private static int x = 0;
private static int gol = 150;
private static int y = 400;
private long too;
private boolean flag = true;
public int live=3;
int golod=5;
public int score=0;
long delta;
private static int xm = 90;
private static int ym = 400;
private static int xm1 = 180;
private static int ym1 = 400;
private static int xe = 260;
private static int ye = 350;
public void start() {
running = true;
new Thread(this).start();
}

public void run() {
long lastTime = System.currentTimeMillis();
too=lastTime = System.currentTimeMillis();

long delta1;
init();

while(running) {
delta1 = System.currentTimeMillis() - lastTime;
lastTime = System.currentTimeMillis();
render();
update(delta1);
}

}

public void init() {
addKeyListener(new KeyInputHandler());

try {
hero=ImageIO.read(new File("c:\\man.png"));
fon=ImageIO.read(new File("c:\\fon3.jpg"));
sup=ImageIO.read(new File("c:\\sup.png"));
end=ImageIO.read(new File("c:\\end2.png"));
cerce1=ImageIO.read(new File("c:\\serce1.png"));
moneta=ImageIO.read(new File("c:\\moneta5.png"));
eda=ImageIO.read(new File("c:\\eda.png"));
go=ImageIO.read(new File("c:\\apple.png"));
//box=ImageIO.read(new File("c:\\box.png"));

}
catch (Exception ex) {}

}
public void render() {
BufferStrategy bs = getBufferStrategy();
if (bs == null) {
createBufferStrategy(2);
requestFocus();
return;
}

Graphics gr = bs.getDrawGraphics();
super.update(gr);
gr.drawImage(fon,0,0,820,620,null);

//гланая земля
gr.fillRect(0, 480, 300, 20);
gr.fillRect(430, 480, 400, 20);
//конец
//яма 1
gr.fillRect(300, 570, 130, 20);
gr.fillRect(430, 490, 20, 100);
gr.fillRect(280, 490, 20, 100);
gr.drawImage(hero,x,y,null);
gr.drawImage(sup,300,530,130,40,nul l);
gr.drawImage(moneta,xm,ym,50,50,nul l);
gr.drawImage(moneta,xm1,ym1,50,50,n ull);
gr.drawImage(eda,xe,ye,60,60,null);
if(golod==0)
{
live=live-1;
}
if(golod>5)
{
golod=5;
}
if(golod==5){
gr.drawImage(go,150,170,30,30,null) ;
gr.drawImage(go,150+50,170,30,30,nu ll);
gr.drawImage(go,150+100,170,30,30,n ull);
gr.drawImage(go,150+150,170,30,30,n ull);
gr.drawImage(go,150+200,170,30,30,n ull);
}else
if(golod==4)
{
gr.drawImage(go,150,170,30,30,null) ;
gr.drawImage(go,150+50,170,30,30,nu ll);
gr.drawImage(go,150+100,170,30,30,n ull);
gr.drawImage(go,150+150,170,30,30,n ull);
}else
if(golod==3)
{
gr.drawImage(go,150,170,30,30,null) ;
gr.drawImage(go,150+50,170,30,30,nu ll);
gr.drawImage(go,150+100,170,30,30,n ull);
}else
if(golod==2)
{
gr.drawImage(go,150,170,30,30,null) ;
gr.drawImage(go,150+50,170,30,30,nu ll);
}else
if(golod==1)
{
gr.drawImage(go,150,170,30,30,null) ;
}
if(live==3){
gr.drawImage(cerce1,150,120,30,30,n ull);
gr.drawImage(cerce1,200,120,30,30,n ull);
gr.drawImage(cerce1,250,120,30,30,n ull);
}
if(live==2){
gr.drawImage(cerce1,150,120,30,30,n ull);
gr.drawImage(cerce1,200,120,30,30,n ull);
}
if(live==1){
gr.drawImage(cerce1,150,120,30,30,n ull);
}
if(live==0)
{
running=false;
gr.drawImage(end,300,200,null);
}


//
//
gr.fillRect(240, 410, 100, 20);




gr.drawString(""+x+" "+y,100,100);
gr.drawString(""+delta,100,150);
gr.drawString(""+too,300,150);
Ромашка2002 вне форума Ответить с цитированием
Старый 06.04.2015, 18:31   #3
Ромашка2002
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 19
По умолчанию

gr.drawString("Score"+score,100,200 );

gr.dispose();
bs.show();
}

public void update(long delta1) {
too+=delta;
if(too==1000)
{
golod--;
too=0;
}
//moneta1
if(x+80==xm||x+50==xm+50)
{
score=score+5;
xm=100000;
ym=100000;
}
//moneta2
if(x+80==xm1||x+50==xm1+50)
{
score=score+5;
xm1=1000;
ym1=1000;
}
//tomato1
if(x+80==xe||x+60==xe+60)
{
golod=golod+1;
xe=1000;
ye=1000;
}
if (leftPressed) {
x--;


}

if (rightPressed) {
x++;

}
if((downPressed)){
y++;

}

if((uppPressed == true)&&(y>=0))
{
y=y-150;
uppPressed=false;


downPressed=true;
}


//главная земля
if(y==400)
{
downPressed=false;
}

//конец
//яма 1
if((x>=300)&&(x<=400))
{

downPressed=true;

}
if(y==480)
{
// too+=delta;
downPressed=false;
flag=false;
if(flag==false)
{
live=live-1;
flag=true;
x=100;
y=400;
}


}

if(x>=372&&x<=392&&y>=480)
{

x--;
}
if(x>=275 &&x<=295&&y>=480)
{
x++;
}
//конец
//горб
if(x>=180&&x<=340&&y==320)
{
downPressed=false;
}else if (x<230&&y==320)
{
downPressed=true;
}




}
public static void main(String[] args) {
Game game = new Game();
game.setPreferredSize(new Dimension(WIDTH, HEIGHT));
JFrame frame = new JFrame(Game.NAME);
frame.setDefaultCloseOperation(JFra me.EXIT_ON_CLOSE);
frame.setLayout(new BorderLayout());
frame.add(game, BorderLayout.CENTER);
frame.pack();
frame.setResizable(false);
frame.setVisible(true);
game.start();

}

private class KeyInputHandler extends KeyAdapter {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
leftPressed = true;

}
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
rightPressed = true;
}
if(e.getKeyCode()== KeyEvent.VK_DOWN){
downPressed=true;
}
if(e.getKeyCode()== KeyEvent.VK_UP){
uppPressed=true;
}
}

public void keyReleased(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_LEFT) {
leftPressed = false;
}
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
rightPressed = false;
}
if(e.getKeyCode()== KeyEvent.VK_DOWN){
}
if(e.getKeyCode()== KeyEvent.VK_UP){

}
}
}
}
Ромашка2002 вне форума Ответить с цитированием
Старый 06.04.2015, 18:35   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
Сообщение от Ромашка2002 Посмотреть сообщение
Название говорит само за себя.
Ромашка неужли ты думаешь, что твой ассекмблерный код будетт кто-то компилить?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 06.04.2015, 18:42   #5
Ромашка2002
Пользователь
 
Регистрация: 30.03.2015
Сообщений: 19
По умолчанию

зачем его запускать скажите причину по которой системное время не работает. То есть переменная too которая =системному времени не работает. Потому что если too=10000 отнимается голод а этого не происходит почему?
Ромашка2002 вне форума Ответить с цитированием
Старый 06.04.2015, 23:00   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от Ромашка2002 Посмотреть сообщение
зачем его запускать скажите причину по которой системное время не работает. То есть переменная too которая =системному времени не работает. Потому что если too=10000 отнимается голод а этого не происходит почему?
а что дебаг кто то отменял?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 07.04.2015, 19:36   #7
Bugrimov
C/C++, Java
Участник клуба
 
Аватар для Bugrimov
 
Регистрация: 28.03.2012
Сообщений: 1,679
По умолчанию

Проверьте... Возможно я Вас просто неправильно понял.
Код:
public void update(long delta) {
        too += delta;
        if(too == 1000) {
            golod--;
            too = 0;
        }
        if(x + 80 == xm || x + 50 == xm + 50) {
            score = score + 5;
            xm = 100000;
            ym = 100000;
        }
        if(x + 80 == xm1 || x + 50 == xm1 + 50) {
            score = score + 5;
            xm1 = 1000;
            ym1 = 1000;
        }
        if(x + 80 == xe || x + 60 == xe + 60) {
            golod = golod + 1;
            xe = 1000;
            ye = 1000;
        }
        if(leftPressed) {
            x--;
        }
        if (rightPressed) {
            x++;
        }
        if((downPressed)) {
            y++;
        }
        if((uppPressed) && (y >= 0)) {
            y = y - 150;
            uppPressed = false;
            downPressed = true;
        }
        // главная земля
        if(y == 400) {
            downPressed = false;
        }
        //конец
        //яма 1
        if((x >= 300) && (x <= 400)) {
            downPressed = true;
        }
        if(y == 480) {
            // too+=delta;
            downPressed = false;
            flag = false;
            if(flag) {
                live = live - 1;
                flag = true;
                x = 100;
                y = 400;
            }
        }

        if(x >= 372 && x <= 392 && y >= 480) {
            x--;
        }
        if(x >= 275 && x <= 295 && y >= 480) {
            x++;
        }
        //конец
        //горб
        if(x >= 180 && x <= 340 && y == 320) {
            downPressed = false;
        } else if(x < 230 && y == 320) {
            downPressed = true;
        }
    }
"Keep it simple" - придерживайтесь простоты!
Уильям Оккам - "Не следует множить сущее без необходимости"
Сложность - враг простоты и удобства!
Bugrimov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
текущее время (системное время ) Sirk0 Общие вопросы Delphi 27 07.03.2015 17:52
Системное время Demien Общие вопросы Delphi 7 09.04.2009 12:36
Системное Время Д'якон Win Api 1 25.10.2008 14:48
Системное время???Помогите???(Delphi) Dinarochka Помощь студентам 5 28.05.2008 12:11
Системное время TyoshA Общие вопросы Delphi 2 05.02.2008 23:41