Contains the source code from the course work throughout my undergraduate Computer Engineering degree at Brigham Young University. There is a mixture of Go, Python, C, C++, Java, VHDL, Verilog, Matlab, Bash, Assembly, etc..
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

111 lines
2.3 KiB

#include "tank.h"
void renderTank(unsigned int* framePointer) {
short tankx, tanky;
tankx = getTankPositionX();
tanky = getTankPositionY();
int row, col;
for(row=0; row < 16; row++) {
for(col=0; col < 32; col++) {
if ((tank[row%16] & (1<<(32-1-col)))) {
framePointer[tanky*640 + tankx] = 0x0000FF00;
} else {
framePointer[tanky*640 + tankx] = 0x00000000;
}
tankx++;
}
tankx=getTankPositionX();
tanky++;
}
}
void renderDying1(unsigned int* framePointer) {
short tankx, tanky;
tankx = getTankPositionX();
tanky = getTankPositionY();
int row, col;
for(row=0; row < 16; row++) {
for(col=0; col < 32; col++) {
if ((tank_dying1[row%16] & (1<<(32-1-col)))) {
framePointer[tanky*640 + tankx] = 0x0000FF00;
} else {
framePointer[tanky*640 + tankx] = 0x00000000;
}
tankx++;
}
tankx=getTankPositionX();
tanky++;
}
}
void renderDying2(unsigned int* framePointer) {
short tankx, tanky;
tankx = getTankPositionX();
tanky = getTankPositionY();
int row, col;
for(row=0; row < 16; row++) {
for(col=0; col < 32; col++) {
if ((tank_dying2[row%16] & (1<<(32-1-col)))) {
framePointer[tanky*640 + tankx] = 0x0000FF00;
} else {
framePointer[tanky*640 + tankx] = 0x00000000;
}
tankx++;
}
tankx=getTankPositionX();
tanky++;
}
}
void blankTank(unsigned int* framePointer) {
short tankx, tanky;
tankx = getTankPositionX();
tanky = getTankPositionY();
int row, col;
for(row=0; row < 16; row++) {
for(col=0; col < 32; col++) {
framePointer[tanky*640 + tankx] = 0x00000000;
tankx++;
}
tankx=getTankPositionX();
tanky++;
}
}
void moveTankL(unsigned int* framePointer) {
short dir = getDirection();
short tankx, tanky;
tankx = getTankPositionX();
tanky = getTankPositionY();
if(tankx+32 == 638) {
tankx -= 2;
setTankPosition(tankx, tanky);
}
if(tankx == 4 || tankx+32 == 638) {
}
else {
tankx -= 2;
setTankPosition(tankx, tanky);
}
}
void moveTankR(unsigned int* framePointer) {
short dir = getDirection();
short tankx, tanky;
tankx = getTankPositionX();
tanky = getTankPositionY();
if(tankx == 0) {
tankx += 2;
setTankPosition(tankx, tanky);
}
if(tankx == 0 || tankx+32 == 638) {
}
else {
tankx += 2;
setTankPosition(tankx, tanky);
}
}