-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
scanner
device and scan
command
#96
Comments
The At the moment, |
Can't that be implemented by a |
Sure, it can, but (1) that takes four ticks, and (2) the |
Closes #96. - Delete the `rangefinder` entity. - A `scanner` now provides the capability to execute `blocked`. - Add a new direction, `down`, to be used for scanning the current cell (i.e. `scan down`). Can also be used with `drill` in the future. - `scan` and `upload` commands work as described in #96. This PR does not implement showing things as question marks, that can be decided and implemented separately.
Closes #96. - Delete the `rangefinder` entity. - A `scanner` now provides the capability to execute `blocked`. - Add a new direction, `down`, to be used for scanning the current cell (i.e. `scan down`). Can also be used with `drill` in the future. - `scan` and `upload` commands work as described in #96. This PR does not implement showing things as question marks, that can be decided and implemented separately.
@byorgey Ad (2) is this still the intention? I see > build "robot try" {x <- try {grab} (return "nothing to grab"); say x; selfdestruct}
"robot try" : string
If you think it should be restricted by some capability, then maybe another Issue should be split from this one. 🙂 (Honestly I just found out it's available from the start via Wiki cheat sheet. 😅 ) |
As discussed in #49 , we should add some sort of scanner device that robots can use to find out about items in the world, with a way for them to report their findings back to the base.
There are definitely some details to work out; here are some of my current thoughts:
scanner
devices should be installed on robots by default (or, if we implement Starting base with a large but finite supply of basic robot parts #35 , the base should start out with a supply of them).scan
command returns a value which you have to specifically transmit to the base (as in `info <- scan forward; upload "base" info) because that would allow you to scan only one thing at a time before returning to the base: robots can't use complex data structures like lists at the start of the game, so threre would be no way to store multiple scanned info values. However, it would be nice if robots can just wander around scanning things before returning to the base later.scan
I proposescan : dir -> cmd ()
which scans in a particular direction and adds information about the scanned entity to the robot's inventory (with a count of zero). (It might be nice ifscan
also returned the name of the scanned thing, as inscan : dir -> cmd string
, but then we have to worry about what it should return if there is nothing to scan.)upload : string -> cmd ()
which uploads some scan results info another robot. This would just transfer knowledge of all things in the robot's inventory to the target robot (without actuallygive
ing any of them). Newly acquired knowledge would show up as entries in the inventory with a count of 0.As discussed in #49, we might also consider drawing entities using question marks until the base knows about them.
The text was updated successfully, but these errors were encountered: