Click here to Skip to main content
15,890,579 members
Home / Discussions / Algorithms
   

Algorithms

 
NewsAckerman non-recursive function Pin
Raminnamiranian4-May-11 22:31
Raminnamiranian4-May-11 22:31 
GeneralRe: Ackerman non-recursive function Pin
Ravi Sant5-May-11 0:31
Ravi Sant5-May-11 0:31 
AnswerRe: Ackerman non-recursive function Pin
Luc Pattyn5-May-11 1:48
sitebuilderLuc Pattyn5-May-11 1:48 
GeneralRe: Ackerman non-recursive function Pin
Richard MacCutchan5-May-11 4:18
mveRichard MacCutchan5-May-11 4:18 
QuestionSearch Algorithm Pin
Cyclone_S16-Apr-11 8:22
Cyclone_S16-Apr-11 8:22 
QuestionRe: Search Algorithm Pin
bob1697216-Apr-11 9:28
bob1697216-Apr-11 9:28 
AnswerRe: Search Algorithm Pin
Cyclone_S16-Apr-11 13:10
Cyclone_S16-Apr-11 13:10 
GeneralRe: Search Algorithm Pin
bob1697216-Apr-11 17:52
bob1697216-Apr-11 17:52 
Well, the collision detection looks a little confusing since your comparing edges of rectangles. I'd use a combination of center points and intersection detection based (or some grid based 2d cell array like the old atari 2600 games used to use) on what I can make out of what you've posted. However, I'll ignore those particulars and focus on the single question I think you are asking.

As far as the logic is concerned, if you only want to set a value and then exit the method, you wouldn't need the "else" blocks. This is only pseudocode but you could approach the need to break after an assignment like...

const int LEFT = 1;
const int RIGHT	= -1;
const int UP = 2;
const int DOWN = -2;


void comp_direction()
{
	if (tick_comp == 0 && avoiding == false) {


		if (panel is lower than food) { // But not level with it
			direction_comp = UP;
			return;
		}


		if (panel is higher than food) { // But not level with it
			direction_comp = DOWN;
			return;
		}


		if (panel is left of food) { // But not lined up with it
			direction_comp = RIGHT;
			return;
		}


		if (panel is right of food) { // But not level with it
			direction_comp = LEFT;
			return;
		}
	}
}

However, this isn't very entertaining to watch since it will always adjust vertically then home in horizontally. It also does not attempt to prevent movement over itself but since I don't have more knowledge of how your program is designed, I can't really offer too much help at this point.

If you want to provide more details, on the big picture and the design requirements, it might be easier for us to help.
Anyway, I hope that helps.
GeneralRe: Search Algorithm Pin
Cyclone_S20-Apr-11 9:58
Cyclone_S20-Apr-11 9:58 
GeneralRe: Search Algorithm Pin
bob1697220-Apr-11 18:06
bob1697220-Apr-11 18:06 
GeneralRe: Search Algorithm Pin
Cyclone_S21-Apr-11 14:45
Cyclone_S21-Apr-11 14:45 
GeneralRe: Search Algorithm Pin
Cyclone_S22-Apr-11 9:57
Cyclone_S22-Apr-11 9:57 
GeneralRe: Search Algorithm Pin
bob1697224-Apr-11 4:59
bob1697224-Apr-11 4:59 
GeneralRe: Search Algorithm Pin
Cyclone_S27-Apr-11 13:43
Cyclone_S27-Apr-11 13:43 
AnswerRe: Search Algorithm Pin
Luc Pattyn20-Apr-11 12:39
sitebuilderLuc Pattyn20-Apr-11 12:39 
AnswerRe: Search Algorithm Pin
AspDotNetDev20-Apr-11 13:12
protectorAspDotNetDev20-Apr-11 13:12 
GeneralRe: Search Algorithm Pin
Cyclone_S20-Apr-11 13:40
Cyclone_S20-Apr-11 13:40 
AnswerRe: Search Algorithm Pin
Stefan_Lang26-Apr-11 4:32
Stefan_Lang26-Apr-11 4:32 
GeneralRe: Search Algorithm Pin
Cyclone_S27-Apr-11 13:50
Cyclone_S27-Apr-11 13:50 
Questionconverting MFC program into web based Pin
shiks11-Apr-11 17:06
shiks11-Apr-11 17:06 
AnswerRe: converting MFC program into web based Pin
Albert Holguin11-Apr-11 18:13
professionalAlbert Holguin11-Apr-11 18:13 
GeneralRe: converting MFC program into web based Pin
shiks12-Apr-11 5:15
shiks12-Apr-11 5:15 
GeneralRe: converting MFC program into web based Pin
Albert Holguin12-Apr-11 5:19
professionalAlbert Holguin12-Apr-11 5:19 
GeneralRe: converting MFC program into web based Pin
Albert Holguin12-Apr-11 5:21
professionalAlbert Holguin12-Apr-11 5:21 
AnswerRe: converting MFC program into web based Pin
Eddy Vluggen12-Apr-11 8:25
professionalEddy Vluggen12-Apr-11 8:25 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.