Comments (2)
Workaround : use if style syntax
There appears to be a second bug, ore1 and ore2 have been made into constants, @Ore1 and @ore2 when they should be variables
from mindcode.
You can use the dot syntax (container.resource) only if the resource denotes an existing ore, and you omit the leading @
: container.copper
.
If you want to obtain the level of item specified by a variable, you need to call sensor function: container.sensor(ore)
Also, if you compile just the code snippet you've posted, lots of instructions get lost to dead code elimination. We can mark the final output as 'not dead' by printing it, for example.
The last problem is that the ternary operator takes precedence over the greater-than comparison.
Your example, when modified with respect to the above rules, looks like this:
ore1 = @lead
ore2 = @coal
container = container1
o1 = container.sensor(ore1)
o2 = container.sensor(ore2)
ore = (o1 > o2) ? ore2 : ore1
print(ore)
produces
set ore1 @lead
set ore2 @coal
set container container1
sensor o1 container ore1
sensor o2 container ore2
jump 8 lessThanEq o1 o2
set __tmp3 ore2
jump 9 always 0 0
set __tmp3 ore1
set ore __tmp3
print ore
end
I don't think there's anything wrong about it as of now.
from mindcode.
Related Issues (20)
- BREAK statement does not compile HOT 2
- Function with no parameters causes compilation error. HOT 1
- Lookup function not implemented HOT 1
- Calling certain control functions with one parameter calls sensor instead
- getlink doesn't prevent parameter from being eliminated by optimization HOT 3
- Optimization removes an assignment to variable
- Optimization should not replace strictEqual with notEqual HOT 3
- Elsif does not compile without Else branch HOT 1
- Command-line compiler and optimizers restructuralization HOT 1
- Unexpected parse of recursive ternary operators HOT 1
- Missing boolean NOT operator HOT 1
- Nonstandard operator priorities HOT 2
- Full support for Mindustry v7 HOT 3
- If and While conditions incorrectly evaluated
- Double quotes not allowed inside strings
- Parameters not passed to inline functions
- Schematics builder HOT 5
- PrintMerger merges across pritflush
- Properties cannot be invoked directly on function return values
- Mindcode compiled wrong when using semicolons
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mindcode.