예제 #1
0
파일: 2048.c 프로젝트: hos3in/2048
int main(int argc, const char *argv[])
{
	char game[3][3]={0};
	char key;
	show_game(game,3);
	printf("\n");
	while(scanf(" %c",&key)){
		switch(key){
			case 'w':
				{
			//	printf("%s\033[k");
				system("clear");
				sort_up(game,3);
				move_up(game,3);
				randfunc(game,3);
			        show_game(game,3);
				}
				break;
			case 'a':
				{
		//		printf("%s\033[1J");
				system("clear");  
				sort_left(game,3);
				move_left(game,3);
			        randfunc(game,3);
				show_game(game,3);

				}
				break;

			case 'd':
				{
			//	printf("%s\033[1k");
					system("clear");
					sort_right(game,3);
					move_right(game,3);
					randfunc(game,3);
					show_game(game,3);
				}
				break;
			
			case 's':
				{
		//		printf("%s\033[1J");
				system("clear");  
				sort_down(game,3);
				move_down(game,3);
				randfunc(game,3);
			        show_game(game,3);
				}
				break;

		}
		
	}
	return 0;
}
예제 #2
0
/**
 * Decreases existing entry key.
 * @param[in] data Entry value.
 * @param[out] heap Heap being modified.
 */
void
piojo_heap_decrease(piojo_opaque_t data, piojo_heap_t *heap)
{
        size_t *idx;
        PIOJO_ASSERT(heap);

        idx = (size_t*)piojo_hash_search(&data, heap->indices_by_data);
        PIOJO_ASSERT(idx != NULL);

        sort_up(*idx, heap);
}
예제 #3
0
int main(int argc, char **argv)
{
    employ_t *company;
    int workers_n;
    if(display_help(argc,argv))
        return 0;
    company = (employ_t *) calloc(MAX_STUDENTS_NUMBER, sizeof(employ_t));
    workers_n = (input(company));
    company = (employ_t *) realloc(company, workers_n * sizeof(employ_t));
    sort_up(company, workers_n);
    output_table(company, workers_n);
    free(company);
    return (0);                 /* I like it */
}
예제 #4
0
/**
 * Inserts a new entry.
 * @warning @a data can't be inserted more than once.
 * @param[in] data Entry value.
 * @param[out] heap Heap being modified.
 */
void
piojo_heap_push(piojo_opaque_t data, piojo_heap_t *heap)
{
        size_t idx;
        bool inserted_p;
        PIOJO_ASSERT(heap);

        piojo_array_push(&data, heap->data);

        idx = piojo_heap_size(heap) - 1;
        inserted_p = piojo_hash_insert(&data, &idx,
                                       heap->indices_by_data);
        PIOJO_ASSERT(inserted_p);

        sort_up(idx, heap);
}
예제 #5
0
// Add any additional bitmaps/icons to the internal image list
int wxAdvancedListCtrl::AddImageSmall(wxImage Image)
{
    if (GetImageList(wxIMAGE_LIST_SMALL) == NULL)
    {
        wxImageList *ImageList = new wxImageList(16, 16, true);
        AssignImageList(ImageList, wxIMAGE_LIST_SMALL);
        
        wxBitmap sort_up(16, 16), sort_down(16, 16);
        wxColour Mask = wxColour(255,255,255);
        
        // Draw sort arrows using the native renderer
        {
            wxMemoryDC renderer_dc;

             // sort arrow up
            renderer_dc.SelectObject(sort_up);
            renderer_dc.SetBackground(*wxTheBrushList->FindOrCreateBrush(Mask, wxSOLID));
            renderer_dc.Clear();
            wxRendererNative::Get().DrawHeaderButtonContents(this, renderer_dc, wxRect(0, 0, 16, 16), 0, wxHDR_SORT_ICON_UP);

             // sort arrow down
            renderer_dc.SelectObject(sort_down);
            renderer_dc.SetBackground(*wxTheBrushList->FindOrCreateBrush(Mask, wxSOLID));
            renderer_dc.Clear();
            wxRendererNative::Get().DrawHeaderButtonContents(this, renderer_dc, wxRect(0, 0, 16, 16), 0, wxHDR_SORT_ICON_DOWN);
        }

        // Add our sort icons to the image list
        ImageList_SortArrowDown = GetImageList(wxIMAGE_LIST_SMALL)->Add(sort_down, Mask);
        ImageList_SortArrowUp = GetImageList(wxIMAGE_LIST_SMALL)->Add(sort_up, Mask);
    }
    
    if (Image.IsOk())
    {
        return GetImageList(wxIMAGE_LIST_SMALL)->Add(Image);
    }
    
    return -1;
}