This is an Urgent Please do me this question Write a Elm fun

This is an Urgent.. Please do me this question..

Write a Elm function adjpairs that takes a polymorphic list and returns the list of all pairs of adjacent elements. For example, adjpairs [2,1,11,4] returns[(2,1), (1,11), (11,4)].

Solution

#include #include void run(); void printMap(); void initMap(); void move(int dx, int dy); void update(); void changeDirection(char key); void clearScreen(); void generateFood(); char getMapValue(int value); // Map dimensions const int mapwidth = 20; const int mapheight = 20; const int size = mapwidth * mapheight; // The tile values for the map int map[size]; // Snake head details int headxpos; int headypos; int direction; // Amount of food the snake has (How long the body is) int food = 3; // Determine if game is running bool running; int main() { run(); return 0; } // Main game function void run() { // Initialize the map initMap(); running = true; while (running) { // If a key is pressed if (kbhit()) { // Change to direction determined by key pressed changeDirection(getch()); } // Upate the map update(); // Clear the screen clearScreen(); // Print the map printMap(); // wait 0.5 seconds _sleep(500); } // Print out game over text std::cout << \"\\t\\t!!!Game over!\" << std::endl << \"\\t\\tYour score is: \" << food; // Stop console from closing instantly std::cin.ignore(); } // Changes snake direction from input void changeDirection(char key) { /* W A + D S 1 4 + 2 3 */ switch (key) { case \'w\': if (direction != 2) direction = 0; break; case \'d\': if (direction != 3) direction = 1; break; case \'s\': if (direction != 4) direction = 2; break; case \'a\': if (direction != 5) direction = 3; break; } } // Moves snake head to new location void move(int dx, int dy) { // determine new head position int newx = headxpos + dx; int newy = headypos + dy; // Check if there is food at location if (map[newx + newy * mapwidth] == -2) { // Increase food value (body length) food++; // Generate new food on map generateFood(); } // Check location is free else if (map[newx + newy * mapwidth] != 0) { running = false; } // Move head to new location headxpos = newx; headypos = newy; map[headxpos + headypos * mapwidth] = food + 1; } // Clears screen void clearScreen() { // Clear the screen system(\"cls\"); } // Generates new food on map void generateFood() { int x = 0; int y = 0; do { // Generate random x and y values within the map x = rand() % (mapwidth - 2) + 1; y = rand() % (mapheight - 2) + 1; // If location is not free try again } while (map[x + y * mapwidth] != 0); // Place new food map[x + y * mapwidth] = -2; } // Updates the map void update() { // Move in direction indicated switch (direction) { case 0: move(-1, 0); break; case 1: move(0, 1); break; case 2: move(1, 0); break; case 3: move(0, -1); break; } // Reduce snake values on map by 1 for (int i = 0; i < size; i++) { if (map[i] > 0) map[i]--; } } // Initializes map void initMap() { // Places the initual head location in middle of map headxpos = mapwidth / 2; headypos = mapheight / 2; map[headxpos + headypos * mapwidth] = 1; // Places top and bottom walls for (int x = 0; x < mapwidth; ++x) { map[x] = -1; map[x + (mapheight - 1) * mapwidth] = -1; } // Places left and right walls for (int y = 0; y < mapheight; y++) { map[0 + y * mapwidth] = -1; map[(mapwidth - 1) + y * mapwidth] = -1; } // Generates first food generateFood(); } // Prints the map to console void printMap() { for (int x = 0; x < mapwidth; ++x) { for (int y = 0; y < mapheight; ++y) { // Prints the value at current x,y location std::cout << getMapValue(map[x + y * mapwidth]); } // Ends the line for next x value std::cout << std::endl; } } // Returns graphical character for display from map value char getMapValue(int value) { // Returns a part of snake body if (value > 0) return \'o\'; switch (value) { // Return wall case -1: return \'X\'; // Return food case -2: return \'O\'; } }
This is an Urgent.. Please do me this question.. Write a Elm function adjpairs that takes a polymorphic list and returns the list of all pairs of adjacent eleme

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site