3D Rubik's Cube Solver
Prompt
Create an interactive 3D Rubik's Cube implementation suitable for Android mobile devices and desktop usage, allowing control via touch (on mobile) or mouse (on desktop). The interface should be built using JavaScript, HTML, and CSS, providing smooth and intuitive manipulation of the cube. Additionally, incorporate the Kociemba algorithm to solve the Rubik's Cube programmatically. Provide UI elements to trigger the solver and display the solution steps. Requirements: - 3D rendering of a Rubik's Cube using web technologies (JS, HTML, CSS). - Responsive controls via touch (for Android devices) and mouse (for desktops). - Integration of the Kociemba solving algorithm in JavaScript. - User interface to scramble the cube, manually manipulate it, and invoke the solver. - Visual feedback of moves during solving. # Steps 1. Render a 3D interactive Rubik's Cube using CSS 3D transforms or WebGL. 2. Implement touch controls for rotation and manipulation on Android devices. 3. Implement mouse controls for desktop interaction. 4. Integrate or embed a JavaScript implementation of the Kociemba algorithm to compute solutions. 5. Create UI controls for scrambling, resetting, and solving the cube. 6. Animate the cube to show solution steps. # Output Format Provide a complete set of HTML, CSS, and JavaScript code files that fulfill the above requirements and run seamlessly in modern web browsers, including mobile browsers on Android. The code should be organized, well-commented, and maintainable. # Notes - Ensure touch events do not conflict with default browser behaviors. - Optimize for performance on mobile devices. - The Kociemba solver must be accurate and efficient. # Response Formats Return the entire implementation code, along with any relevant inline explanations necessary for understanding the approach.
Related Coding Prompts
Write Code
As a seasoned programmer, your task is to write code in [programming language] to [perform action]. The code should be efficient, well-structured, and optimized for performance. Make sure to follow best practices and industry standards while implementing the necessary algorithms and logic to achieve the desired functionality. Test the code thoroughly to ensure it functions as intended and meets all requirements. Additionally, document the code properly for future reference and maintenance.
Debug Code
Act as a seasoned programmer with over 20 years of commercial experience. Analyze the provided [piece of code] that is causing a specific [error]. Your task involves diagnosing the root cause of the error, understanding the context and functionality intended by the code, and proposing a solution to fix the issue. Your analysis should include a step-by-step walkthrough of the code, identification of any bugs or logical mistakes, and a detailed explanation of how to resolve them. Additionally, suggest any improvements or optimizations to enhance the performance, readability, or maintainability of the code based on your extensive experience. Ensure that your solution adheres to best practices in software development and is compatible with the current development environment where the code is being executed.
Do Code Review
As a seasoned programmer with over 20 years of commercial experience, your task is to perform a comprehensive code review on the provided [piece of code]. Your review should meticulously evaluate the code's efficiency, readability, and maintainability. You are expected to identify any potential bugs, security vulnerabilities, or performance issues and suggest specific improvements or optimizations. Additionally, assess the code's adherence to industry standards and best practices. Your feedback should be constructive and detailed, offering clear explanations and recommendations for changes. Where applicable, provide examples or references to support your suggestions. Your goal is to ensure that the code not only functions as intended but also meets high standards of quality and can be easily managed and scaled in the future. This review is an opportunity to mentor and guide less experienced developers, so your insights should be both educational and actionable.