Esempio n. 1
0
int main(){
    PROG test_prog = create_forward(160);
    add_node(test_prog, create_left(90));
    add_node(test_prog, create_forward(160));
    PROG rep_prog = create_forward(0.5);
    add_node(rep_prog, create_left(1));
    NODE* rep_node = create_repeat(360, rep_prog);
    add_node(test_prog, rep_node);
    print_logo(test_prog, 0, 2);
    //print_svg(test_prog);
    free_prog(test_prog);
    return 0;
}
Esempio n. 2
0
static GtkWidget *create_window(void)
{
    GtkWidget *window;
    GtkWidget *vbox;
    GtkWidget *hbox;
    GtkWidget *notebook;
    GtkWidget *buttonbox;
    GtkWidget *button;
    GtkWidget *widget;

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    gtk_window_set_default_size(GTK_WINDOW(window), 580, 360);
    g_signal_connect(G_OBJECT(window), "delete-event",
                     G_CALLBACK(delete_callback), NULL);

    vbox = gtk_vbox_new(FALSE, 12);
    gtk_container_set_border_width(GTK_CONTAINER(vbox), 12);
    gtk_container_add(GTK_CONTAINER(window), vbox);

    notebook = gtk_notebook_new();
    gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);
    gtk_box_pack_start(GTK_BOX(vbox), notebook, TRUE, TRUE, 0);

    buttonbox = gtk_hbutton_box_new();
    gtk_button_box_set_layout(GTK_BUTTON_BOX(buttonbox), GTK_BUTTONBOX_END);
    gtk_box_pack_start(GTK_BOX(vbox), buttonbox, FALSE, FALSE, 0);

    button = gtk_button_new_from_stock(GTK_STOCK_CLOSE);
    gtk_container_add(GTK_CONTAINER(buttonbox), button);
    g_signal_connect(G_OBJECT(button), "clicked",
                     G_CALLBACK(close_callback), window);

    hbox = gtk_hbox_new(FALSE, 0);
    gtk_container_set_border_width(GTK_CONTAINER(hbox), 8);

    widget = create_right();
    gtk_widget_set_size_request(widget, 280, -1);
    gtk_box_pack_end(GTK_BOX(hbox), widget, TRUE, TRUE, 0);

    widget = create_left();
    gtk_widget_set_size_request(widget, 260, -1);
    gtk_box_pack_start(GTK_BOX(hbox), widget, FALSE, TRUE, 0);

    gtk_notebook_append_page(GTK_NOTEBOOK(notebook), hbox, NULL);

    return window;
}
Esempio n. 3
0
/*
 * left(speeed, degrees):
 *   -- Moves the robot FORWARD the given distance in centimeters)
 *        at the given speed (in centimeters / second).
 * 
 * Speed and distance must be non-negative integers.
 
 * The   ROBOT   variable determines whether this is the Lego
 *   or Create robot.
 */
void left(int speed, int degrees)
{
	if (ROBOT == LEGO_ROBOT)
	{
		lego_left(speed, degrees);
	}
	else if (ROBOT == CREATE_ROBOT)
	{
		create_left(speed, degrees);
	}
	else
	{
		printf("ERROR:\n");
		printf("The ROBOT must be LEGO_ROBOT or CREATE_ROBOT.\n");
	}
}