algorithm

Pacman maze in Java

So I'm building the pacman game in Java to teach myself game programming. I have the basic game window with the pacman sprite and the ghost sprites drawn, the pacman moves with the arrow keys, doesn't move beyond the walls of the window, etc. Now I'm trying to build the maze, as in this picture: Without giving me the direct/complete ...

Separating axis test, detecting if a rotated rectangle overlap an other flat rectangle

Hello, I read about intersection rectangles on: http://stackoverflow.com/questions/115426/algorithm-to-detect-intersection-of-two-rectangles But i have trouble to implement it. If R1 (A,B,C,D) is my rotated rectangle and R2(A',B',C',D') the other rectangle with no rotation. The formula extracted in from the link above is: edge = ...

Area that contains points?

Does anyone know if there's an algorithm for this? I have several 2D points. I need to find a list of points that when you draw a line from point n to point n+1 you end up with an area that contains all the points. If I could attach an image, I could explain myself better. Thanks in advance. ...

How to build a Tiled map in Java for a 2D game??

Not sure how to approach this problem. Basically, I want a Pixel -> Tile representation of a 400x400 window. Each coordinate on the screen, e.g 120x300 should be part of a tile. My smallest sprite is 4 pixels, so we can say that 1 tile = 4 pixels. The player and enemy sprites are all 20 x 20, so each player/bad guy will occupy 5 tiles. ...

Path finding in a Java 2d Game?

Essentially its a pacman clone game I'm working on. I have an Enemy class, and 4 instances of this class created which all represent 4 ghosts of the game. All ghosts start up in random areas of the screen and then they have to work their way towards the pacman character. As the player controls the pacman, moving it around, they should f...

Project Euler Problem 233

I've decided to tackle Project Euler problem 233 next but I'm having some major problems! I've done some analysis and have made some quite nice progress but I've become stuck now. Here's my working: Lemma 1: Since the circle goes through the 4 corner points there are at least 4 solutions for any n. But for each point on the circumferenc...

Where do I find a standard Trie based map implementation in Java?

I have a Java program that stores a lot of mappings from Strings to various objects. Right now, my options are either to rely on hashing (via HashMap) or on binary searches (via TreeMap). I am wondering if there is an efficient and standard trie-based map implementation in a popular and quality collections library? I've written my own...

Phonetically Memorable Password Generation Algorithms

Background While at the Gym the other day, I was working with my combination lock, and realized something that would be useful to me as a programmer. To wit, my combination is three seperate sets of numbers that either sound alike, or have some other relation that makes them easy to remember. For instance, 5-15-25, 7-17-2, 6-24-5. The...

Algorithm to return the maximum possible sum of subsequences in a sequence

int maxSumRec(const vector<int> &a, int left, int right){ if (left == right){ if (a[left] > 0){ return a[left]; } else return 0; } int center = (left + right)/2; int maxLeftSum = maxSumRec(a, left, center); int maxRightSum = maxSumRec(a, center+1, right); int lef...

Learning Insertion Sort in Ruby

I have just started the MIT Introduction to Algorithms course through the material posted online. Along with the course I have also decided to learn/enhance my Ruby skills by coding the algorithms in it. I am on the first algorithm given, which is Insertion sort, and I have the following code typed up but I am getting this error when I...

Design a stack that can also dequeue in O(1) amortized time?

I have an abstract data type that can be viewed as a list stored left to right, with the following possible operations: Push: add a new item to the left end of the list Pop: remove the item on the left end of the list Pull: remove the item on the right end of the list Implement this using three stacks and constant additional memory, so ...

How to design an approximate solution algorithm

Hello everyone, I want to write an algorithm that can take parts of a picture and match them to another picture of the same object. For example, If I gave the computer a picture of a vase and a picture of a scene with the vase in it, I'd expect it to determine where in the image the vase is. How would I begin to develop an algorithm li...

Creating Map from Alternate Key Value Input

Dear all, I have a data that looks like this: >day11:1:356617 ACTTCTGATTCTGACAGACTCAGGAAGAAACCAT >day11:2:283282 CTCAGCCCGTAGCCCGTCGGTTCCGGAGTAAGTT >day11:3:205058 NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN >day11:4:202520 AGTTCGATCGGTAGCGGGAGCGGAGAGCGGACCC >day11:5:107099 AGGCATTCAGGCAGCGAGAGCAGAGCAGCGTAGA >day11:6:106715 CTCTTTGCCCCATCTACTGC...

How do recommendation systems work?

I've always been curious as to how these systems work. For example, how do netflix or Amazon determine what recommendations to make based on past purchases and/or ratings? Are there any algorithms to read up on? Just so there's no misperceptions here, there's no practical reason for me asking. I'm just asking out of sheer curiosity. ...

How can I plot the frequency spectrum of noise?

I wish to plot the EMI noise generated by high frequency switching circuits in simulink. The spectrum scope shows a plot in dB vs frequency. I want to plot this in log frequency scale. ...

Minimum matching algorithm in 3D: Mapping a set of points to another set with minimal sum of distances

Given are two sets of three-dimensional points, a source and a destination set. The number of points on each set is arbitrary (may be zero). The task is to assign one or no source point to every destination point, so that the sum of all distances is minimal. If there are more source than destination points, the additional points are to b...

Java: How to remove elements from a list while iterating over/adding to it

Hi! This question is a more special case of the problem described (and solved) in this question. I have two methods, stopAndRemove(ServerObject server) and a close() method. The later should close all servers and remove them from the server list. The list is defined as List<ServerObject> server. I do not want to have almost the same...

Most elegant way to clip a line?

I have a Rectangle2D and a Line2D. I want to "clip" the line so that only the part of the line which is within the rectangle remains. If none of the line is within the rectangle I want the line to be set to (0,0,0,0). Basically something along the lines of a Rectangle2D.intersect(Line2D src, Line2D dest) or something similar. Is ther...

Calculating the shortest distance between two lines (line segments) in 3D

I have two line segments: X1,Y1,Z1 - X2,Y2,Z2 And X3,Y3,Z3 - X4,Y4,Z4 I am trying to find the shortest distance between the two segments. I have been looking for a solution for hours, but all of them seem to work with lines rather than line segments. Any ideas how to go about this, or any sources of furmulae? ...

Ray-Polygon Intersection Point on the surface of a sphere

I have a point (Lat/Lon) and a heading in degrees (true north) for which this point is traveling along. I have numerous stationary polygons (Points defined in Lat/Lon) which may or may not be convex. My question is, how do I calculate the closest intersection point, if any, with a polygon. I have seen several confusing posts about Ray T...