modified: examples/BasicMoves/BasicMoves.ino
new file: hippie_blocks.js new file: img/blocks/hippie.svg new file: img/blocks/hippie_RL.svg new file: img/blocks/hippie_RR.svg new file: img/blocks/hippie_YL.svg new file: img/blocks/hippie_YR.svg new file: lang/HIPPIE.json modified: src/Hippie.cpp modified: src/Hippie.h
This commit is contained in:
parent
651025f826
commit
2a505a3bb5
@ -28,7 +28,7 @@ void loop()
|
|||||||
delay(500);
|
delay(500);
|
||||||
|
|
||||||
// backward, shit piece
|
// backward, shit piece
|
||||||
hippie.new_walk(2, 4, 750);
|
hippie.new_walk(4, 750, 2);
|
||||||
hippie.home();
|
hippie.home();
|
||||||
delay(500);
|
delay(500);
|
||||||
|
|
||||||
@ -38,7 +38,7 @@ void loop()
|
|||||||
delay(500);
|
delay(500);
|
||||||
|
|
||||||
// right
|
// right
|
||||||
hippie.new_turn(2);
|
hippie.new_turn(2,1000,2);
|
||||||
hippie.home();
|
hippie.home();
|
||||||
delay(500);
|
delay(500);
|
||||||
|
|
||||||
|
245
hippie_blocks.js
Normal file
245
hippie_blocks.js
Normal file
@ -0,0 +1,245 @@
|
|||||||
|
Facilino.LANG_COLOUR_MOVEMENT = '#CECE42';
|
||||||
|
Facilino.LANG_COLOUR_MOVEMENT_WALK = '#8D8D25';
|
||||||
|
|
||||||
|
Blockly.Blocks['HIPPIE_init'] = {
|
||||||
|
category: Facilino.locales.getKey('LANG_CATEGORY_MOVEMENT'),
|
||||||
|
subcategory: Facilino.locales.getKey('LANG_SUBCATEGORY_WALK'),
|
||||||
|
category_colour: Facilino.LANG_COLOUR_MOVEMENT,
|
||||||
|
colour: Facilino.LANG_COLOUR_MOVEMENT_WALK,
|
||||||
|
helpUrl: Facilino.getHelpUrl('HIPPIE_init'),
|
||||||
|
tags: [],
|
||||||
|
examples: [],
|
||||||
|
init: function () {
|
||||||
|
this.appendDummyInput('').appendField(new Blockly.FieldImage('img/blocks/hippie.svg', 32*options.zoom, 32*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_ROBOT'));
|
||||||
|
this.appendValueInput('YR').appendField(new Blockly.FieldImage('img/blocks/hippie_YR.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_YR')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this.appendValueInput('YL').appendField(new Blockly.FieldImage('img/blocks/hippie_YL.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_YL')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this.appendValueInput('RR').appendField(new Blockly.FieldImage('img/blocks/hippie_RR.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_RR')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this.appendValueInput('RL').appendField(new Blockly.FieldImage('img/blocks/hippie_RL.svg', 24*options.zoom, 24*options.zoom)).appendField(Facilino.locales.getKey('LANG_MOVEMENT_HIPPIE_RL')).appendField(new Blockly.FieldImage('img/blocks/pwm_signal.svg', 24*options.zoom, 24*options.zoom)).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this.setPreviousStatement(true,'code');
|
||||||
|
this.setNextStatement(true,'code');
|
||||||
|
this.setColour(Facilino.LANG_COLOUR_MOVEMENT_WALK);
|
||||||
|
this.setTooltip(Facilino.locales.getKey('LANG_HIPPIE_INIT_TOOLTIP'));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
Blockly.Arduino['HIPPIE_init'] = function(block) {
|
||||||
|
var code='';
|
||||||
|
var input_YR = Blockly.Arduino.valueToCode(this,'YR',Blockly.Arduino.ORDER_ATOMIC) || '26';
|
||||||
|
var input_YL = Blockly.Arduino.valueToCode(this,'YL',Blockly.Arduino.ORDER_ATOMIC) || '25';
|
||||||
|
var input_RR = Blockly.Arduino.valueToCode(this,'RR',Blockly.Arduino.ORDER_ATOMIC) || '17';
|
||||||
|
var input_RL = Blockly.Arduino.valueToCode(this,'RL',Blockly.Arduino.ORDER_ATOMIC) || '16';
|
||||||
|
Blockly.Arduino.definitions_['define_hippie_h'] = '#include <Hippie.h>';
|
||||||
|
Blockly.Arduino.definitions_['declare_var_define_hippie']='Hippie hippie;\n';
|
||||||
|
Blockly.Arduino.setups_['setup_hippie_init'] = 'hippie.init('+input_YR+','+input_YL+','+input_RR+','+input_RL+');\n';
|
||||||
|
return code;
|
||||||
|
};
|
||||||
|
|
||||||
|
Blockly.Arduino['HIPPIE_movement'] = function() {
|
||||||
|
var code='';
|
||||||
|
var movement = this.getFieldValue('MOVEMENT');
|
||||||
|
if (movement==='0')
|
||||||
|
code+='hippie.home();\n';
|
||||||
|
else if (movement==='1')
|
||||||
|
code+='hippie.jump('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '600')+');\n';
|
||||||
|
else if (movement==='2')
|
||||||
|
code+='hippie.walk('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '4')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+this.getFieldValue('FIELD3')+');\n';
|
||||||
|
else if (movement==='3')
|
||||||
|
code+='hippie.turn('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '4')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+this.getFieldValue('FIELD3')+');\n';
|
||||||
|
else if (movement==='4')
|
||||||
|
code+='hippie.bend('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1400')+','+this.getFieldValue('FIELD3')+');\n';
|
||||||
|
else if (movement==='5')
|
||||||
|
code+='hippie.shakeLeg('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '2000')+','+this.getFieldValue('FIELD3')+');\n';
|
||||||
|
else if (movement==='6')
|
||||||
|
code+='hippie.updown('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
|
||||||
|
else if (movement==='7')
|
||||||
|
code+='hippie.swing('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
|
||||||
|
else if (movement==='8')
|
||||||
|
code+='hippie.tiptoeSwing('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '40')+');\n';
|
||||||
|
else if (movement==='9')
|
||||||
|
code+='hippie.jitter('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '500')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '50')+');\n';
|
||||||
|
else if (movement==='10')
|
||||||
|
code+='hippie.ascendingTurn('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP3', Blockly.Arduino.ORDER_ATOMIC) || '50')+');\n';
|
||||||
|
else if (movement==='11')
|
||||||
|
code+='hippie.moonwalker('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '50')+','+this.getFieldValue('FIELD3')+');\n';
|
||||||
|
else if (movement==='12')
|
||||||
|
code+='hippie.crusaito('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '900')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '20')+','+this.getFieldValue('FIELD3')+');\n';
|
||||||
|
else if (movement==='13')
|
||||||
|
code+='hippie.flapping('+(Blockly.Arduino.valueToCode(this, 'INP1', Blockly.Arduino.ORDER_ATOMIC) || '1')+','+(Blockly.Arduino.valueToCode(this, 'INP2', Blockly.Arduino.ORDER_ATOMIC) || '1000')+','+(Blockly.Arduino.valueToCode(this, 'INP4', Blockly.Arduino.ORDER_ATOMIC) || '50')+','+this.getFieldValue('FIELD3')+');\n';
|
||||||
|
return code;
|
||||||
|
}
|
||||||
|
|
||||||
|
Blockly.Blocks['HIPPIE_movement'] = {
|
||||||
|
category: Facilino.locales.getKey('LANG_CATEGORY_MOVEMENT'),
|
||||||
|
subcategory: Facilino.locales.getKey('LANG_SUBCATEGORY_WALK'),
|
||||||
|
tags: [],
|
||||||
|
helpUrl: Facilino.getHelpUrl('LARS_movement'),
|
||||||
|
examples: [],
|
||||||
|
category_colour: Facilino.LANG_COLOUR_MOVEMENT,
|
||||||
|
colour: Facilino.LANG_COLOUR_MOVEMENT_WALK,
|
||||||
|
init: function() {
|
||||||
|
this.setColour(Facilino.LANG_COLOUR_MOVEMENT_WALK);
|
||||||
|
var movement = new Blockly.FieldDropdown([
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HOME'),'0'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_JUMP'),'1'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_WALK'),'2'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TURN'),'3'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BEND'),'4'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_SHAKE_LEG'),'5'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_UPDOWN'),'6'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_SWING'),'7'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TIPTOE_SWING'),'8'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_JITTER'),'9'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_ASCENDING_TURN'),'10'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_MOONWALKER'),'11'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_CRUSAITO'),'12'],
|
||||||
|
[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FLAPPING'),'13']
|
||||||
|
]);
|
||||||
|
this.appendDummyInput().appendField(new Blockly.FieldImage('img/blocks/hippie.svg', 32*options.zoom, 32*options.zoom)).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT'));
|
||||||
|
this.appendDummyInput('').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_MOVEMENT')).appendField(movement,'MOVEMENT').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this.last_movement = -1;
|
||||||
|
this._inp1_removed = true;
|
||||||
|
this._inp2_removed = true;
|
||||||
|
this._inp3_removed = true;
|
||||||
|
this._inp4_removed = true;
|
||||||
|
this.checkMovement();
|
||||||
|
this.last_movement = this.getFieldValue('MOVEMENT');
|
||||||
|
this.setInputsInline(false);
|
||||||
|
this.setPreviousStatement(true,'code');
|
||||||
|
this.setNextStatement(true,'code');
|
||||||
|
this.setOutput(false);
|
||||||
|
this.setTooltip(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_TOOLTIP'));
|
||||||
|
},
|
||||||
|
checkMovement: function() {
|
||||||
|
var _movement = this.getFieldValue('MOVEMENT');
|
||||||
|
try {
|
||||||
|
if (_movement<11)
|
||||||
|
{
|
||||||
|
this._inp4_removed=true;
|
||||||
|
this.removeInput('INP4');
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
try {
|
||||||
|
if (((_movement>=6)&&(_movement<=10)&&(this.last_movement>=2)&&(this.last_movement<=5))||((_movement>=2)&&(_movement<=5)&&(this.last_movement>=6)&&(this.last_movement<=10)))
|
||||||
|
{
|
||||||
|
this._inp3_removed=true;
|
||||||
|
this.removeInput('INP3');
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
try {
|
||||||
|
if (_movement<2)
|
||||||
|
{
|
||||||
|
this._inp3_removed=true;
|
||||||
|
this.removeInput('INP3');
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
try {
|
||||||
|
if (_movement<1)
|
||||||
|
{
|
||||||
|
this._inp1_removed=true;
|
||||||
|
this.removeInput('INP1');
|
||||||
|
this._inp2_removed=true;
|
||||||
|
this.removeInput('INP2');
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
if ( _movement == 1) {
|
||||||
|
if (this._inp1_removed)
|
||||||
|
{
|
||||||
|
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp1_removed=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
|
||||||
|
if (this._inp2_removed)
|
||||||
|
{
|
||||||
|
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp2_removed=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
|
||||||
|
} else if (( _movement >= 2)&&( _movement <= 10)) {
|
||||||
|
if (this._inp1_removed)
|
||||||
|
{
|
||||||
|
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp1_removed=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
|
||||||
|
if (this._inp2_removed)
|
||||||
|
{
|
||||||
|
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp2_removed=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
|
||||||
|
if (this._inp3_removed)
|
||||||
|
{
|
||||||
|
if (_movement==2)
|
||||||
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
else if (_movement<=5)
|
||||||
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
else
|
||||||
|
this.appendValueInput('INP3').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT3').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp3_removed=false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
try{
|
||||||
|
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3'); this.getInput('INP3').removeField('FIELD3');
|
||||||
|
if (_movement==2)
|
||||||
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3');
|
||||||
|
else if (_movement<=5)
|
||||||
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3');
|
||||||
|
else
|
||||||
|
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT3');
|
||||||
|
}catch (e) {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if (this._inp1_removed)
|
||||||
|
{
|
||||||
|
this.appendValueInput('INP1').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp1_removed=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_STEPS'),'TEXT1');}catch (e) {}
|
||||||
|
if (this._inp2_removed)
|
||||||
|
{
|
||||||
|
this.appendValueInput('INP2').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD','TEXT2')).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp2_removed=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_PERIOD'),'TEXT2');}catch (e) {}
|
||||||
|
if (this._inp3_removed)
|
||||||
|
{
|
||||||
|
if (_movement==11)
|
||||||
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
else
|
||||||
|
this.appendDummyInput('INP3').appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3').setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp3_removed=false;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
try{
|
||||||
|
this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_DIR'),'TEXT3'); this.getInput('INP3').removeField('FIELD3');
|
||||||
|
if (_movement==11)
|
||||||
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_LEFT'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_RIGHT'),'1']]),'FIELD3');
|
||||||
|
else
|
||||||
|
this.getInput('INP3').appendField(new Blockly.FieldDropdown([[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_FORWARD'),'0'],[Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_BACKWARD'),'1']]),'FIELD3');
|
||||||
|
}catch (e) {}
|
||||||
|
}
|
||||||
|
if (this._inp4_removed)
|
||||||
|
{
|
||||||
|
this.appendValueInput('INP4').setCheck(Number).appendField(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT','TEXT4')).setAlign(Blockly.ALIGN_RIGHT);
|
||||||
|
this._inp4_removed=false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
try{this.setFieldValue(Facilino.locales.getKey('LANG_HIPPIE_MOVEMENT_HEIGHT'),'TEXT4');}catch (e) {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onchange: function() {
|
||||||
|
if (this.getFieldValue('MOVEMENT') !== this.last_movement) {
|
||||||
|
this.checkMovement();
|
||||||
|
this.last_movement = this.getFieldValue('MOVEMENT');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
79
img/blocks/hippie.svg
Normal file
79
img/blocks/hippie.svg
Normal file
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
style="enable-background:new 0 0 512 512;"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:docname="hippie.svg"
|
||||||
|
inkscape:version="0.92.1 r15371"><metadata
|
||||||
|
id="metadata49"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs47" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="705"
|
||||||
|
id="namedview45"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.65186406"
|
||||||
|
inkscape:cx="570.66081"
|
||||||
|
inkscape:cy="231.21193"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="g10" /><g
|
||||||
|
id="g6"><g
|
||||||
|
id="g4"><path
|
||||||
|
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
|
||||||
|
id="path2" /></g></g><g
|
||||||
|
id="g12"><g
|
||||||
|
id="g10"><path
|
||||||
|
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
|
||||||
|
id="path8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="rect4526"
|
||||||
|
width="371.31012"
|
||||||
|
height="28.113068"
|
||||||
|
x="69.096657"
|
||||||
|
y="281.03949" /><path
|
||||||
|
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
|
||||||
|
id="path4538"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" /></g></g><g
|
||||||
|
id="g14" /><g
|
||||||
|
id="g16" /><g
|
||||||
|
id="g18" /><g
|
||||||
|
id="g20" /><g
|
||||||
|
id="g22" /><g
|
||||||
|
id="g24" /><g
|
||||||
|
id="g26" /><g
|
||||||
|
id="g28" /><g
|
||||||
|
id="g30" /><g
|
||||||
|
id="g32" /><g
|
||||||
|
id="g34" /><g
|
||||||
|
id="g36" /><g
|
||||||
|
id="g38" /><g
|
||||||
|
id="g40" /><g
|
||||||
|
id="g42" /></svg>
|
After Width: | Height: | Size: 4.3 KiB |
85
img/blocks/hippie_RL.svg
Normal file
85
img/blocks/hippie_RL.svg
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
style="enable-background:new 0 0 512 512;"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:docname="hippie_RL.svg"
|
||||||
|
inkscape:version="0.92.1 r15371"><metadata
|
||||||
|
id="metadata49"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs47" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="705"
|
||||||
|
id="namedview45"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.65186406"
|
||||||
|
inkscape:cx="570.66081"
|
||||||
|
inkscape:cy="231.21193"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="g10" /><g
|
||||||
|
id="g6"><g
|
||||||
|
id="g4"><path
|
||||||
|
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
|
||||||
|
id="path2" /></g></g><g
|
||||||
|
id="g12"><g
|
||||||
|
id="g10"><path
|
||||||
|
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
|
||||||
|
id="path8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="rect4526"
|
||||||
|
width="371.31012"
|
||||||
|
height="28.113068"
|
||||||
|
x="69.096657"
|
||||||
|
y="281.03949" /><path
|
||||||
|
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
|
||||||
|
id="path4538"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" /><ellipse
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="path4542-6-7-1"
|
||||||
|
cx="438.74179"
|
||||||
|
cy="435.29688"
|
||||||
|
rx="35.283428"
|
||||||
|
ry="36.050461" /></g></g><g
|
||||||
|
id="g14" /><g
|
||||||
|
id="g16" /><g
|
||||||
|
id="g18" /><g
|
||||||
|
id="g20" /><g
|
||||||
|
id="g22" /><g
|
||||||
|
id="g24" /><g
|
||||||
|
id="g26" /><g
|
||||||
|
id="g28" /><g
|
||||||
|
id="g30" /><g
|
||||||
|
id="g32" /><g
|
||||||
|
id="g34" /><g
|
||||||
|
id="g36" /><g
|
||||||
|
id="g38" /><g
|
||||||
|
id="g40" /><g
|
||||||
|
id="g42" /></svg>
|
After Width: | Height: | Size: 4.7 KiB |
85
img/blocks/hippie_RR.svg
Normal file
85
img/blocks/hippie_RR.svg
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
style="enable-background:new 0 0 512 512;"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:docname="hippie_RR.svg"
|
||||||
|
inkscape:version="0.92.1 r15371"><metadata
|
||||||
|
id="metadata49"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs47" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="705"
|
||||||
|
id="namedview45"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.65186406"
|
||||||
|
inkscape:cx="570.66081"
|
||||||
|
inkscape:cy="231.21193"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="g10" /><g
|
||||||
|
id="g6"><g
|
||||||
|
id="g4"><path
|
||||||
|
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
|
||||||
|
id="path2" /></g></g><g
|
||||||
|
id="g12"><g
|
||||||
|
id="g10"><path
|
||||||
|
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
|
||||||
|
id="path8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="rect4526"
|
||||||
|
width="371.31012"
|
||||||
|
height="28.113068"
|
||||||
|
x="69.096657"
|
||||||
|
y="281.03949" /><path
|
||||||
|
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
|
||||||
|
id="path4538"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" /><ellipse
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="path4542-6-7"
|
||||||
|
cx="76.70311"
|
||||||
|
cy="435.29688"
|
||||||
|
rx="35.283428"
|
||||||
|
ry="36.050461" /></g></g><g
|
||||||
|
id="g14" /><g
|
||||||
|
id="g16" /><g
|
||||||
|
id="g18" /><g
|
||||||
|
id="g20" /><g
|
||||||
|
id="g22" /><g
|
||||||
|
id="g24" /><g
|
||||||
|
id="g26" /><g
|
||||||
|
id="g28" /><g
|
||||||
|
id="g30" /><g
|
||||||
|
id="g32" /><g
|
||||||
|
id="g34" /><g
|
||||||
|
id="g36" /><g
|
||||||
|
id="g38" /><g
|
||||||
|
id="g40" /><g
|
||||||
|
id="g42" /></svg>
|
After Width: | Height: | Size: 4.7 KiB |
85
img/blocks/hippie_YL.svg
Normal file
85
img/blocks/hippie_YL.svg
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
style="enable-background:new 0 0 512 512;"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:docname="hippie_YL.svg"
|
||||||
|
inkscape:version="0.92.1 r15371"><metadata
|
||||||
|
id="metadata49"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs47" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="705"
|
||||||
|
id="namedview45"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.65186406"
|
||||||
|
inkscape:cx="570.66081"
|
||||||
|
inkscape:cy="231.21193"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="g10" /><g
|
||||||
|
id="g6"><g
|
||||||
|
id="g4"><path
|
||||||
|
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
|
||||||
|
id="path2" /></g></g><g
|
||||||
|
id="g12"><g
|
||||||
|
id="g10"><path
|
||||||
|
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
|
||||||
|
id="path8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="rect4526"
|
||||||
|
width="371.31012"
|
||||||
|
height="28.113068"
|
||||||
|
x="69.096657"
|
||||||
|
y="281.03949" /><path
|
||||||
|
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
|
||||||
|
id="path4538"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" /><ellipse
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="path4542-6"
|
||||||
|
cx="437.2077"
|
||||||
|
cy="323.31033"
|
||||||
|
rx="35.283428"
|
||||||
|
ry="36.050461" /></g></g><g
|
||||||
|
id="g14" /><g
|
||||||
|
id="g16" /><g
|
||||||
|
id="g18" /><g
|
||||||
|
id="g20" /><g
|
||||||
|
id="g22" /><g
|
||||||
|
id="g24" /><g
|
||||||
|
id="g26" /><g
|
||||||
|
id="g28" /><g
|
||||||
|
id="g30" /><g
|
||||||
|
id="g32" /><g
|
||||||
|
id="g34" /><g
|
||||||
|
id="g36" /><g
|
||||||
|
id="g38" /><g
|
||||||
|
id="g40" /><g
|
||||||
|
id="g42" /></svg>
|
After Width: | Height: | Size: 4.6 KiB |
85
img/blocks/hippie_YR.svg
Normal file
85
img/blocks/hippie_YR.svg
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Generator: Adobe Illustrator 19.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
version="1.1"
|
||||||
|
id="Layer_1"
|
||||||
|
x="0px"
|
||||||
|
y="0px"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
style="enable-background:new 0 0 512 512;"
|
||||||
|
xml:space="preserve"
|
||||||
|
sodipodi:docname="hippie_YR.svg"
|
||||||
|
inkscape:version="0.92.1 r15371"><metadata
|
||||||
|
id="metadata49"><rdf:RDF><cc:Work
|
||||||
|
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
|
||||||
|
id="defs47" /><sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1366"
|
||||||
|
inkscape:window-height="705"
|
||||||
|
id="namedview45"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.65186406"
|
||||||
|
inkscape:cx="570.66081"
|
||||||
|
inkscape:cy="231.21193"
|
||||||
|
inkscape:window-x="-8"
|
||||||
|
inkscape:window-y="-8"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="g10" /><g
|
||||||
|
id="g6"><g
|
||||||
|
id="g4"><path
|
||||||
|
d="M256,128.548c-20.214,0-36.659,16.444-36.659,36.659c0,20.215,16.445,36.66,36.659,36.66s36.659-16.445,36.659-36.66 C292.659,144.992,276.214,128.548,256,128.548z"
|
||||||
|
id="path2" /></g></g><g
|
||||||
|
id="g12"><g
|
||||||
|
id="g10"><path
|
||||||
|
d="m 452.67,387.521 v -25.757 c 15.199,-6.505 25.876,-21.605 25.876,-39.156 0,-23.474 -19.098,-42.572 -42.572,-42.572 -4.87,0 -9.547,0.834 -13.909,2.345 l -62.87,-35.637 c 17.763,-22.433 28.384,-50.767 28.384,-81.538 0,-72.553 -59.026,-131.578 -131.578,-131.578 -72.552,0 -131.58,59.027 -131.58,131.58 0,30.771 10.621,59.105 28.384,81.538 l -62.871,35.636 c -4.362,-1.513 -9.038,-2.345 -13.909,-2.345 -23.474,0 -42.572,19.098 -42.572,42.572 0,17.55 10.677,32.651 25.876,39.156 v 25.757 C 25.417,395.153 0,425.492 0,461.676 v 16.696 h 152.051 v -16.696 c 0,-36.184 -25.417,-66.523 -59.33,-74.155 v -25.757 c 15.197,-6.505 25.875,-21.605 25.875,-39.156 0,-5.756 -1.154,-11.245 -3.233,-16.256 L 177.8,270.96 c 17.65,13.085 38.67,21.867 61.503,24.772 33.391,0 0,0 33.391,0 22.833,-2.904 43.854,-11.687 61.503,-24.772 l 62.437,35.391 c -2.079,5.012 -3.233,10.502 -3.233,16.256 0,17.55 10.677,32.651 25.875,39.156 v 25.757 c -33.912,7.632 -59.33,37.971 -59.33,74.155 v 16.696 H 512 v -16.696 c 0,-36.183 -25.417,-66.522 -59.33,-74.154 z M 256,235.257 c -38.626,0 -70.05,-31.425 -70.05,-70.052 0,-38.627 31.425,-70.049 70.05,-70.049 38.626,0 70.051,31.423 70.051,70.051 0,38.627 -31.425,70.05 -70.051,70.05 z"
|
||||||
|
id="path8"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccssccsssccssccsccsccsccccccsccsccscsssss" /><rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:7.1999197;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="rect4526"
|
||||||
|
width="371.31012"
|
||||||
|
height="28.113068"
|
||||||
|
x="69.096657"
|
||||||
|
y="281.03949" /><path
|
||||||
|
style="fill:none;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="m 179.36497,237.98378 c 10.6832,11.19884 16.76422,15.4944 28.59796,22.09105 14.43334,7.00455 16.51139,10.21867 43.11945,12.66597 26.68009,-2.02161 26.51457,-4.16401 46.72753,-10.52273 15.7847,-7.76038 20.06392,-12.45264 28.94534,-23.28114"
|
||||||
|
id="path4538"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
sodipodi:nodetypes="ccccc" /><ellipse
|
||||||
|
style="fill:#ff0000;fill-opacity:1;stroke:#ff0000;stroke-width:14.43779564;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:markers fill stroke"
|
||||||
|
id="path4542"
|
||||||
|
cx="76.70311"
|
||||||
|
cy="322.54333"
|
||||||
|
rx="35.283428"
|
||||||
|
ry="36.050461" /></g></g><g
|
||||||
|
id="g14" /><g
|
||||||
|
id="g16" /><g
|
||||||
|
id="g18" /><g
|
||||||
|
id="g20" /><g
|
||||||
|
id="g22" /><g
|
||||||
|
id="g24" /><g
|
||||||
|
id="g26" /><g
|
||||||
|
id="g28" /><g
|
||||||
|
id="g30" /><g
|
||||||
|
id="g32" /><g
|
||||||
|
id="g34" /><g
|
||||||
|
id="g36" /><g
|
||||||
|
id="g38" /><g
|
||||||
|
id="g40" /><g
|
||||||
|
id="g42" /></svg>
|
After Width: | Height: | Size: 4.6 KiB |
43
lang/HIPPIE.json
Normal file
43
lang/HIPPIE.json
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"langs":
|
||||||
|
{
|
||||||
|
"en-GB":
|
||||||
|
{
|
||||||
|
"keys":
|
||||||
|
{
|
||||||
|
"LANG_SUBCATEGORY_WALK": "Robot walk",
|
||||||
|
"LANG_MOVEMENT_HIPPIE_ROBOT": "Define robot",
|
||||||
|
"LANG_MOVEMENT_HIPPIE_YR": " Leg 1",
|
||||||
|
"LANG_MOVEMENT_HIPPIE_YL": " Leg 2",
|
||||||
|
"LANG_MOVEMENT_HIPPIE_RR": "Ankle 1",
|
||||||
|
"LANG_MOVEMENT_HIPPIE_RL": "Ankle 2",
|
||||||
|
"LANG_HIPPIE_INIT_TOOLTIP": "Defines the servo pins for a quadruped robot.",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_HOME": "Home",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_JUMP": "Jump",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_WALK": "Walk",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_TURN": "Turn",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_BEND": "Bend",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_SHAKE_LEG": "Shake leg",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_UPDOWN": "Up-down",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_SWING": "Swing",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_TIPTOE_SWING": "Tip-toe swing",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_JITTER": "Jitter",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_ASCENDING_TURN": "Ascending Turn",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_MOONWALKER": "Moonwalker",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_CRUSAITO": "Crusaito",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_FLAPPING": "Flapping",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_MOVEMENT": "Movement",
|
||||||
|
"LANG_HIPPIE_MOVEMENT": "Move robot",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_TOOLTIP": "Generates movement primitives for a hip-less robot",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_STEPS": "Steps",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_PERIOD": "Period",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_DIR": "Direction",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_HEIGHT": "Height",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_FORWARD": "Forward",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_BACKWARD": "Backward",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_LEFT": "Left",
|
||||||
|
"LANG_HIPPIE_MOVEMENT_RIGHT": "Right"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -263,7 +263,7 @@ void Hippie::bend (int steps, int T, int dir){
|
|||||||
//-- T: Period of one steps
|
//-- T: Period of one steps
|
||||||
//-- dir: direction of movement
|
//-- dir: direction of movement
|
||||||
//--------------------------------------------------------
|
//--------------------------------------------------------
|
||||||
void Hippie::new_walk(int dir, float steps, int T){
|
void Hippie::new_walk(float steps, int T, int dir){
|
||||||
if(dir==1){
|
if(dir==1){
|
||||||
// Positions of walking
|
// Positions of walking
|
||||||
int Pos_A[4] = {90,90,180, 90};
|
int Pos_A[4] = {90,90,180, 90};
|
||||||
@ -329,7 +329,7 @@ void Hippie::new_walk(int dir, float steps, int T){
|
|||||||
//-- T: Period of one steps
|
//-- T: Period of one steps
|
||||||
//-- dir: direction of movement
|
//-- dir: direction of movement
|
||||||
//--------------------------------------------------------
|
//--------------------------------------------------------
|
||||||
void Hippie::new_turn(int dir, float steps, int T){
|
void Hippie::new_turn(float steps, int T, int dir){
|
||||||
//LEFT
|
//LEFT
|
||||||
if (dir==1) {
|
if (dir==1) {
|
||||||
// Positions of turning
|
// Positions of turning
|
||||||
|
@ -53,8 +53,8 @@ class Hippie
|
|||||||
|
|
||||||
void test_pos();
|
void test_pos();
|
||||||
|
|
||||||
void new_walk(int dir = FORWARD, float steps =4, int T=750);
|
void new_walk(float steps =4, int T=750, int dir = FORWARD);
|
||||||
void new_turn(int dir = LEFT, float steps =2, int T=1000);
|
void new_turn(float steps =2, int T=1000, int dir = LEFT);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Loading…
Reference in New Issue
Block a user