Do you think I could just leave this part blank and it'd be okay? We're just going to replace the whole thing with a header image anyway, right?
You are not logged in.
Pages: 1
(Disclaimer: This is a side-project of mine and not related to my role as a game/forum administrator)
I'd like to see how many people are able to solve this problem.
Many people have written their own solutions to deal with the block placement limit EE contains. This test puts those algorithms to the test:
Goal: Write a block checking algorithm that passes the given test.
Background: This test checks your code's capability to deal with multiple blocks placed on the same spot. Common sense tells me that if I place block A and then block B on the same spot, block B must always be the final block placed on this spot. However, almost every algorithm that exists does not guarantee this. If block A fails to place, block B will be placed and then later replaced by block A (because obviously, this block missed and should be placed again (or should it?))
Test: https://gist.github.com/Yonom/83226bd5e94e6319a090
Guide: Edit UploadTest class so it places blocks using your algorithm. Then, execute the following statements after joining an empty world (minimum size 100x100).
var test = new UploadTest(con);
test.Test();
// TODO: wait for block placement to finish
test.Check();
Note: You may ONLY edit lines above the "DO NOT EDIT ANYTHING BELOW THIS LINE" line. UploadTest MUST inherit UploadTestBase. You are allowed to edit the constructor of UploadTest to add new parameters. You are not allowed to use types inside System.Reflection to tamper with UploadTestBase.
Results: The Check(); function will print the results in the console. Let me know if you manage to pass the test, and how many points you got!
If you'd like to add your algorithm to the list below, publish the source on pastebin/github/whatever and I'll link it down here.
Correct solutions: (Must achieve at least 1 score points)
Zumza - 4000 Points - ~150s - Source
I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.
Offline
Whats the point of not editing the UploadTestBase?
If some programmer doesn't want to implement UploadTestBase its disqualified or something?
Everybody edits, but some edit more than others
Offline
Whats the point of not editing the UploadTestBase?
If some programmer doesn't want to implement UploadTestBase its disqualified or something?
UploadTestBase implements the actual testing part. It contains the rules for this test, which you can not change.
You must implement UploadTestBase otherwise you did not complete this challenge.
When you call test.Test(); UploadTestBase calls your Upload(layer, x, y, block); function to upload a few blocks. When you call test.Check(); it checks if these blocks were placed correctly.
If you were able to edit this file, what's holding you back from giving yourself a pass and 1 000 000 score?
I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.
Offline
If you were able to edit this file, what's holding you back from giving yourself a pass and 1 000 000 score?
My volition for making the best algorithm.
Everybody edits, but some edit more than others
Offline
The problem is that you'd have to check this on the same system to get a fair rating.
Some people have slow internet (like I used to have), while others have really fast.
the only moment you'd need this algorithm is when you have slow internet, because you wouldn't be able to place blocks at the 10ms delay.
Offline
The problem is that you'd have to check this on the same system to get a fair rating.
Some people have slow internet (like I used to have), while others have really fast.the only moment you'd need this algorithm is when you have slow internet, because you wouldn't be able to place blocks at the 10ms delay.
The idea is to calculate the optimum delay for any system & internet speed in order to archive the fastest block upload.
Btw can we use multiple connections?
Everybody edits, but some edit more than others
Offline
Offline
Everybody edits, but some edit more than others
Offline
Zumza: Very impressive, you are pretty close
The reason the check wasn't working was because you called base.Check() BEFORE the blocks reached the server and back to you. (so they weren't technically placed yet.)
I added a Thread.Sleep(1000); line before the Check function call to temporary fix this.
Your algorithm worked fine 3/5 times I tried it, but it also failed twice. I also changed the delay between blocks from 8ms to simulate some network lag.
Failed attempt #1: language (Block delay was 7ms)
Failed attempt #2: https://sepi.me/BetweenDecisiveGrandFormal.png (Block delay was 8ms)
You probably need different block delays to come up with the same results. Feel free to PM me if you are having issues reproducing it.
Why are you looking for correct solutions for this? If your reason for limiting the rate is purely to slow down bots, you'll probably block any method that gets points.
Are we sharing the "correct solutions"
Sorry if I failed to make this clear in the first post. I'm posting this as a community member and bot programmer, not as an EE Admin trying to block bots. The current limit has existed for a long time and we have no plans to lower it.
I write bots myself and have to work with this limit. I'm looking new methods that might be superior to my own. This test checks if your algorithm can handle multiple blocks placed on the same spot.
You are free to not share how your algorithm works, but to get your algorithm added to the list above, you do need to share your source.
I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.
Offline
Code at: http://pastebin.com/RNcUSxdS
Everybody edits, but some edit more than others
Offline
Looking good. Nice job!
I have never thought of programming for reputation and honor. What I have in my heart must come out. That is the reason why I code.
Offline
Pages: 1
[ Started around 1732781559.3804 - Generated in 0.077 seconds, 12 queries executed - Memory usage: 1.55 MiB (Peak: 1.72 MiB) ]