Welcome to the Java Programming Forums


The professional, friendly Java community. 21,500 members and growing!


The Java Programming Forums are a community of Java programmers from all around the World. Our members have a wide range of skills and they all have one thing in common: A passion to learn and code Java. We invite beginner Java programmers right through to Java professionals to post here and share your knowledge. Become a part of the community, help others, expand your knowledge of Java and enjoy talking with like minded people. Registration is quick and best of all free. We look forward to meeting you.


>> REGISTER NOW TO START POSTING


Members have full access to the forums. Advertisements are removed for registered users.

Results 1 to 19 of 19

Thread: Rectangle keeps getting faster

  1. #1
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Rectangle keeps getting faster

    obstacleX = (int) (obstacleX - 0.1);
    if(obstacleX <= 0){
    obstacleX = 600;
    }
    repaint();

    Thats my code, and the rectangle (ObstacleX is the X cordinate for the rectangle) goes fine on the first few times across the screen, then starts to go hyperspeed....Please help!


  2. #2
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    Try debugging the code by adding some println() statements to print out changes to the variables that control the speed of the rectangle. The print out should show you where the code is going wrong. Be sure to add an id String with the print so you can tell which println() printed the output. A list of numbers is hard to read sometimes without labels saying where they were printed.
    If you don't understand my answer, don't ignore it, ask a question.

  3. #3
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Rectangle keeps getting faster

    Um, I am very new lol. I have added a Levels thing in my f3 menu, where every 10 times a rectangle passes, it goes up. That number is slow at first (How I want it) and then it gets faster and stays the same.

  4. #4
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    What did the print outs show?
    If you don't understand my answer, don't ignore it, ask a question.

  5. #5
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Rectangle keeps getting faster

    Like I said, they showed the levels going faster and faster until it went static.

  6. #6
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    The formula for speed = distance / time
    The speed will increase if the distance goes up and/or the time goes down
    Which of those two values are changing?

    showed the levels going faster and faster until it went static.
    I have no idea what that means. Do you mean the x values increased until "What is static"? The x value stopped changing.
    If you don't understand my answer, don't ignore it, ask a question.

  7. #7
    Member
    Join Date
    Apr 2012
    Posts
    160
    Thanks
    0
    Thanked 27 Times in 27 Posts

    Default Re: Rectangle keeps getting faster

    Well, we can't really help you if you don't show us any code pertaining to how you are moving the shape about

  8. #8
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Rectangle keeps getting faster

    That is the code. That is the only code that manipulates the position.

  9. #9
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    If the distance between positions changes at a constant rate,
    Then what about the time between moves?

    See the formula in post#6
    If you don't understand my answer, don't ignore it, ask a question.

  10. #10
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Rectangle keeps getting faster

    http://pastebin.com/7sTfXa0Y
    That's my entire class code, nothing that regards to it is outside of that class. Disregard everything that doesn't involve the obstacle please!

  11. #11
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    Please post the print out for the values of obstacleX.

    You skipped this question:
    What about the time between moves? Does the time decrease?
    If you don't understand my answer, don't ignore it, ask a question.

  12. #12
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Rectangle keeps getting faster

    I don't have it doing that directly, I have it so every 10 times ObstacleX reaches 600, Level goes up, which is in the F3 menu.

    --- Update ---

    26
    25
    24
    23
    22
    21
    20
    19
    18
    17
    16
    15
    14
    13
    12
    11
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    600
    599
    598
    597
    596
    595
    594
    593
    592
    591
    590
    589
    588
    587
    586
    585
    584
    583
    582
    581
    580
    579
    578
    577
    576
    575
    574
    573
    572
    571
    570
    569
    568
    567
    566
    565
    564
    563
    562
    561
    560
    559
    558
    557
    556
    555
    554
    553
    552
    551
    550
    549
    548
    547
    546
    545
    544
    543
    542
    541
    540
    539
    538
    537
    536
    535
    534
    533
    532
    531
    530
    529
    528
    527
    526
    525
    524
    523
    522
    521
    520
    519
    518
    517
    516
    515
    514
    513
    512
    511
    510
    509
    508
    507
    506
    505
    504
    503
    502
    501
    500
    499
    498
    497
    496
    495
    494
    493
    492
    491
    490
    489
    488
    487
    486
    485
    484
    483
    482
    481
    480
    479
    478
    477
    476
    475
    474
    473
    472
    471
    470
    469
    468
    467
    466
    465
    464
    463
    462
    461
    460
    459
    458
    457
    456
    455
    454
    453
    452
    451
    450
    449
    448
    447
    446
    445
    444
    443
    442
    441
    440
    439
    438
    437
    436
    435
    434
    433
    432
    431
    430
    429
    428
    427
    426
    425
    424
    423
    422
    421
    420
    419
    418
    417
    416
    415
    414
    413
    412
    411
    410
    409
    408
    407
    406
    405
    404
    403
    402
    401
    400
    399
    398
    397
    396
    395
    394
    393
    392
    391
    390
    389
    388
    387
    386
    385
    384
    383
    382
    381
    380
    379
    378
    377
    376
    375
    374
    373
    372
    371
    370
    369
    368
    367
    366
    365
    364
    363
    362
    361
    360
    359
    358
    357
    356
    355
    354
    353
    352
    351
    350
    349
    348
    347
    346
    345
    344
    343
    342
    341
    340
    339
    338
    337
    336
    335
    334
    333
    332
    331
    330
    329
    328
    327
    326
    325
    324
    323
    322
    321
    320
    319
    318
    317
    316
    315
    314
    313
    312
    311
    310
    309
    308
    307
    306
    305
    304
    303
    302
    301
    300
    299
    298
    297
    296
    295
    294
    293
    292
    291
    290
    289
    288
    287
    286
    285
    284
    283
    282
    281
    280
    279
    278
    277
    276
    275
    274
    273
    272
    271
    270
    269
    268
    267
    266
    265
    264
    263
    262
    261
    260
    259
    258
    257
    256
    255
    254
    253
    252
    251
    250
    249
    248
    247
    246
    245
    244
    243
    242
    241
    240
    239
    238
    237
    236
    235
    234
    233
    232
    231
    230
    229
    228
    227
    226
    225
    224
    223
    222
    221
    220
    219
    218
    217
    216
    215
    214
    213
    212
    211
    210
    209
    208
    207
    206
    205
    204
    203
    202
    201
    200
    199
    198
    197
    196
    195
    194
    193
    192
    191
    190
    189
    188
    187
    186
    185
    184
    183
    182
    181
    180
    179
    178
    177
    176
    175
    174
    173
    172
    171
    170
    169
    168
    167
    166
    165
    164
    163
    162
    161
    160
    159
    158
    157
    156
    155
    154
    153
    152
    151
    150
    149
    148
    147
    146
    145
    144
    143
    142
    141
    140
    139
    138
    137
    136
    135
    134
    133
    132
    131
    130
    129
    128
    127
    126
    125
    124
    123
    122
    121
    120
    119
    118
    117
    116
    115
    114
    113
    112
    111
    110
    109
    108
    107
    106
    105
    104
    103
    102
    101
    100
    99
    98
    97
    96
    95
    94
    93
    92
    91
    90
    89
    88
    87
    86
    85
    84
    83
    82
    81
    80
    79
    78
    77
    76
    75
    74
    73
    72
    71
    70
    69
    68
    67
    66
    65
    64
    63
    62
    61
    60
    59
    58
    57
    56
    55
    54
    53
    52
    51
    50
    49
    48
    47
    46
    45
    44
    43
    42
    41
    40
    39
    38
    37
    36
    35
    34
    33
    32
    31
    30
    29
    28
    27
    26
    25
    24
    23
    22
    21
    20
    19
    18
    17
    16
    15
    14
    13
    12
    11
    10
    9
    8
    7
    6
    5
    4
    3
    2
    1
    600
    599
    598
    597
    596
    595
    594
    593
    592
    591
    590
    589
    588
    587
    586
    585
    584
    583
    582
    581
    580
    579
    578
    577
    576
    575
    574
    573
    572
    571
    570
    569
    568
    567
    566
    565
    564
    563
    562
    561
    560
    559
    558
    557
    556
    555
    554
    553
    552
    551
    550
    549
    548
    547
    546
    545
    544
    543
    542
    541
    540
    539
    538
    537
    536
    535
    534
    533
    532
    531
    530
    529
    528
    527
    526
    525
    524
    523
    522
    521
    520
    519
    518
    517
    516
    515
    514
    513
    512
    511
    510
    509
    508
    507
    506
    505
    504
    503
    502
    501
    500
    499
    498
    497

    --- Update ---

    There, thats the printout.

  13. #13
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    Ok. Why does the code subtract 0.1 when the change is always 1?

    Now what about the times when the changes are made?

    For example if a shape's position is changed by 10 units every 10 seconds
    and then it is changed to changing every 5 seconds, the speed of the shape will double.

    How often are the changes in the rectangles position made? The System class has a method that returns the current time in milliseconds that could be used to determine when the changes in the x location are made.
    If you don't understand my answer, don't ignore it, ask a question.

  14. #14
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Rectangle keeps getting faster

    I tried substituting, it doesn't matter. I don't know what you're talking about. I need a fix.... Sorry if I'm being hard to deal with.

  15. #15
    Member
    Join Date
    Apr 2012
    Posts
    160
    Thanks
    0
    Thanked 27 Times in 27 Posts

    Default Re: Rectangle keeps getting faster

    It's a problem when converting between doubles and ints. You are losing precision when you subtract 0.1 then convert the result to an int. If my memory is correct, I believe when Java converts to an int it simply truncates the decimal places. So the result of 2 - 0.1 would be 1.

  16. #16
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    Did you look at times when the changes in obstacleX happens? Is it change more frequently to make it move faster?

    For testing change the width/distance the shape moves to 100 from 600 so the print out doesn't take so many lines.
    Print out the value of System.currentTimeMillis() with the changes of obstacleX.

    I need a fix...
    If you want help with the code, make a small, complete program that compiles, executes and shows the problem and paste it here.
    If you don't understand my answer, don't ignore it, ask a question.

  17. #17
    Junior Member
    Join Date
    Apr 2014
    Posts
    8
    Thanks
    0
    Thanked 0 Times in 0 Posts

    Default Re: Rectangle keeps getting faster

    The problem is: It goes slow at first then starts to go hyperspeed. Thats it. I dont know how else to say it.

  18. #18
    Super Moderator Norm's Avatar
    Join Date
    May 2010
    Location
    Eastern Florida
    Posts
    25,162
    Thanks
    65
    Thanked 2,725 Times in 2,675 Posts

    Default Re: Rectangle keeps getting faster

    If the code changes the position of the shape too often, the speed will be high.
    How often does the position change?
    For example if in the beginning the position was changed every 1 second and then as the code executed that was changed to once every 1/2 second the "speed" of movement would double. Then if the position would be changed every 1/4 of a second the speed would double again. And so on.
    If you don't understand my answer, don't ignore it, ask a question.

  19. #19
    Member
    Join Date
    Apr 2012
    Posts
    160
    Thanks
    0
    Thanked 27 Times in 27 Posts

    Default Re: Rectangle keeps getting faster

    You might not need to call the repaint() method at the end. That may be rendering the scene a second time when it is called.

Similar Threads

  1. Replies: 14
    Last Post: March 18th, 2013, 02:19 PM
  2. Can you show me better a faster ways to accomplish these tasks.
    By OUTSTANDAGE in forum Loops & Control Statements
    Replies: 1
    Last Post: March 16th, 2013, 09:12 AM
  3. [SOLVED] Is there any way I can access heap memory faster?
    By FunkyTecknician in forum Java Theory & Questions
    Replies: 8
    Last Post: July 29th, 2011, 11:51 PM
  4. [SOLVED] Faster Run Time - Scanner(file) and Arrays
    By Dogeatdog6 in forum What's Wrong With My Code?
    Replies: 13
    Last Post: April 7th, 2011, 09:25 AM