联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> C/C++编程C/C++编程

日期:2019-01-21 10:11

FBP Workshop/Homework

Predator/Prey

All slides Copyright 2019 by Michael V. Osier. All rights reserved.

Changes in output this week

#include <stdio.h>

int main()

{

int dice = 5;

printf(“%d\n”,dice);

}

printf

Symbol… For…

%d or %i Decimal number (i for

integer)

%f float/double

%e float/double with E

notation

%s Null-terminated string

%c Character

getchar

char c;

c = getchar();

This week – Predator/Prey

This week, you get to build a predator/prey

model in C.

For those who took IBP, this is a C version of

your code.

Predator/Prey requirements

Your program will create a 2D array of 10x10.

Each location can host a predator, a prey, or

nothing.

Pick 10 random locations for prey and one for a

predator...make sure that they do not overlap!

Print to the screen the 2D matrix as a matrix.

Wait for the user to press enter before

continuing.

Round 1

Predator

Keeping track of critters

Each creature, predator or prey, has a

non-overlapping position.

Prey also keep track of how much they

have eaten.

How many possible prey can you have?

Keeping track of critters

Each creature, predator or prey, has a

non-overlapping position.

Prey also keep track of how much they

have eaten.

How many possible prey can you have?

– 10x10 = 100 (-1 for the predator)

If you have many prey, what data structure

would be best to contain them?

Predator/Prey requirements

Each round, predator and prey can take an

action.

A predator will choose, in order of preference to:

– Move into the square of a neighboring prey. If it does,

it “eats” the prey, which now disappears.

– Move into a random neighboring square.

Then the prey act.

– “Eat” (increment a counter) and move into a random neighboring

square that is empty.

– If there are no neighboring squares open, stay put. – Think about how to store the total number of “eats”

each prey has...

After each round, print the matrix.

C and random

#include <stdlib.h>

[..]

srand(5432);

int dice;

dice = rand();

C and random

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main()

{

srand(time(0));

int dice;

dice = rand();

printf("%d\n",dice);

}

C and random

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main()

{

srand(time(0));

int dice;

dice = rand();

printf("%d\n",dice);

}

Randomization

functions

C and random

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main()

{

srand(time(0));

int dice;

dice = rand();

printf("%d\n",dice);

}

printf

C and random

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int main()

{

srand(time(0));

int dice;

dice = rand();

printf("%d\n",dice);

}

time

Predator/Prey requirements

Each round the model will act for each

predator.

– Eaten prey disappear from the original matrix

and array.

The model will then act for all remaining

prey.

Print the matrix.

Wait for user to press Enter

Repeat until there are no prey or no

predators.

Workshop

Create the main model.

Initialize the matrix with predators/prey

and print it.

Keep track of how much prey have

consumed.

Not required to iterate over rounds.

Homework

Iterate over rounds and debug.

HW Bonus points

A) Modify the code to allow prey to reproduce after

eating five times. What happens to the model? (0.2 pts)

B) Modify the code to allow predators to reproduce after

eating five times, but to lose one “eating” for every round

without eating. Predators start with 4 “eats” and die if

their “eat” count goes to 0. What happens to the model?

(0.2 pts)

After implementing bonus A and B, run the simulation 20

times to completion. Record how often the simulation

goes to all predators, how many times to all prey, and

how many times unresolved. (0.2 pts)


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp