Added algorithm and working solution ofr Day 2 Part 1
This commit is contained in:
		
							parent
							
								
									d7bae4b118
								
							
						
					
					
						commit
						da85a4e0bd
					
				
					 3 changed files with 2609 additions and 0 deletions
				
			
		
							
								
								
									
										49
									
								
								2022/day02/RockPaperScissors.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								2022/day02/RockPaperScissors.java
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,49 @@
 | 
				
			||||||
 | 
					import java.nio.file.Paths;
 | 
				
			||||||
 | 
					import java.util.Scanner;
 | 
				
			||||||
 | 
					import java.io.IOException;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					public class RockPaperScissors {
 | 
				
			||||||
 | 
					    public static void main (String[] args) {
 | 
				
			||||||
 | 
					        //Variables!
 | 
				
			||||||
 | 
					        String roundMoves = new String();
 | 
				
			||||||
 | 
					        int myScore = 0;
 | 
				
			||||||
 | 
					        int winScore = 6;
 | 
				
			||||||
 | 
					        int drawScore = 3;
 | 
				
			||||||
 | 
					        int loseScore = 0;
 | 
				
			||||||
 | 
					        int rockScore = 1;
 | 
				
			||||||
 | 
					        int paperScore = 2;
 | 
				
			||||||
 | 
					        int scissorsScore = 3;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        //Open the dang file
 | 
				
			||||||
 | 
					        try(Scanner inputStream = new Scanner(Paths.get("input.txt"));) {
 | 
				
			||||||
 | 
					            while (inputStream.hasNext()) {
 | 
				
			||||||
 | 
					                roundMoves = inputStream.nextLine();
 | 
				
			||||||
 | 
					                switch (roundMoves.charAt(2)) {
 | 
				
			||||||
 | 
					                    case 'X':
 | 
				
			||||||
 | 
					                        myScore = myScore + rockScore;
 | 
				
			||||||
 | 
					                        if (roundMoves.charAt(0) == 'A') {myScore = myScore + drawScore;}
 | 
				
			||||||
 | 
					                        else if (roundMoves.charAt(0) == 'B') {myScore = myScore + loseScore;}
 | 
				
			||||||
 | 
					                        else if (roundMoves.charAt(0) == 'C') {myScore = myScore + winScore;}
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case 'Y':
 | 
				
			||||||
 | 
					                        myScore = myScore + paperScore;
 | 
				
			||||||
 | 
					                        if (roundMoves.charAt(0) == 'A') {myScore = myScore + winScore;}
 | 
				
			||||||
 | 
					                        else if (roundMoves.charAt(0) == 'B') {myScore = myScore + drawScore;}
 | 
				
			||||||
 | 
					                        else if (roundMoves.charAt(0) == 'C') {myScore = myScore + loseScore;}
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                    case 'Z':
 | 
				
			||||||
 | 
					                        myScore = myScore + scissorsScore;
 | 
				
			||||||
 | 
					                        if (roundMoves.charAt(0) == 'A') {myScore = myScore + loseScore;}
 | 
				
			||||||
 | 
					                        else if (roundMoves.charAt(0) == 'B') {myScore = myScore + winScore;}
 | 
				
			||||||
 | 
					                        else if (roundMoves.charAt(0) == 'C') {myScore = myScore + drawScore;}
 | 
				
			||||||
 | 
					                        break;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            System.out.printf("Your score is %d%n", myScore);
 | 
				
			||||||
 | 
					        } catch (IOException e) {
 | 
				
			||||||
 | 
					            System.out.println("IO Exception");
 | 
				
			||||||
 | 
					            e.printStackTrace();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    }    
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										60
									
								
								2022/day02/day02_algo.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								2022/day02/day02_algo.txt
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,60 @@
 | 
				
			||||||
 | 
					===Notes===
 | 
				
			||||||
 | 
					Opp
 | 
				
			||||||
 | 
					A = Rock
 | 
				
			||||||
 | 
					B = Paper
 | 
				
			||||||
 | 
					C = Scissors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					You
 | 
				
			||||||
 | 
					X = Rock
 | 
				
			||||||
 | 
					Y = Paper
 | 
				
			||||||
 | 
					Z = Scissors
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A < Y
 | 
				
			||||||
 | 
					A = X
 | 
				
			||||||
 | 
					A > Z
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					B < Z
 | 
				
			||||||
 | 
					B = Y
 | 
				
			||||||
 | 
					B > X
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					C < X
 | 
				
			||||||
 | 
					C = Z
 | 
				
			||||||
 | 
					C > Y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					heckin' lotta case statements
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					===Algo===
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Declare char variables for oppMove and myMove to hold moves read from file
 | 
				
			||||||
 | 
					Declare int for myScore to maintain score count, init to 0
 | 
				
			||||||
 | 
					Declare constants
 | 
				
			||||||
 | 
						winScore = 6
 | 
				
			||||||
 | 
						drawScore = 3
 | 
				
			||||||
 | 
						loseScore = 0
 | 
				
			||||||
 | 
						rockScore = 1
 | 
				
			||||||
 | 
						paperScore = 2
 | 
				
			||||||
 | 
						scissorsScore = 3
 | 
				
			||||||
 | 
					Open file input.txt
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Read first char into oppMove
 | 
				
			||||||
 | 
					Read second char into myMove
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Loop while file has contents
 | 
				
			||||||
 | 
						Case select based on myMove
 | 
				
			||||||
 | 
							myMove is X (Rock)
 | 
				
			||||||
 | 
								add rockScore to myScore
 | 
				
			||||||
 | 
								if oppMove is A (Rock) then add drawScore to myScore
 | 
				
			||||||
 | 
								else if oppMove is B (Paper) then add loseScore to myScore
 | 
				
			||||||
 | 
								else if oppMove is C (Scissors) then add winScore to myScore
 | 
				
			||||||
 | 
							myMove is Y (Paper)
 | 
				
			||||||
 | 
								add paperScore to myScore
 | 
				
			||||||
 | 
								if oppMove is A (Rock) then add winScore to myScore
 | 
				
			||||||
 | 
								else if oppMove is B (Paper) then add drawScore to myScore
 | 
				
			||||||
 | 
								else if oppMove is C (Scissors) then add loseScore to myScore
 | 
				
			||||||
 | 
							myMove is Z (Scissors)
 | 
				
			||||||
 | 
								add scissorsScore to myScore
 | 
				
			||||||
 | 
								if oppMove is A (Rock) then add loseScore to myScore
 | 
				
			||||||
 | 
								else if oppMove is B (Paper) then add winScore to myScore
 | 
				
			||||||
 | 
								else if oppMove is C (Scissors) then add drawScore to myScore
 | 
				
			||||||
 | 
					End Loop
 | 
				
			||||||
 | 
					Print myScore to screen
 | 
				
			||||||
							
								
								
									
										2500
									
								
								2022/day02/input.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2500
									
								
								2022/day02/input.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load diff
											
										
									
								
							
		Loading…
	
		Reference in a new issue