diff options
| author | Joursoir <chat@joursoir.net> | 2021-03-09 21:45:42 +0000 | 
|---|---|---|
| committer | Joursoir <chat@joursoir.net> | 2021-03-09 21:45:42 +0000 | 
| commit | 728efbb79dd76a25283b02259d6344d85d8f447d (patch) | |
| tree | 5da84537a2eba04d736eaa398d3269444d94b37f | |
| parent | a7b9aa288a65ef456ec3795435c91eba58f2a098 (diff) | |
| download | ascii-road-728efbb79dd76a25283b02259d6344d85d8f447d.tar.gz ascii-road-728efbb79dd76a25283b02259d6344d85d8f447d.tar.bz2 ascii-road-728efbb79dd76a25283b02259d6344d85d8f447d.zip | |
some changes in class Vehicle
| -rw-r--r-- | Vehicle.cpp | 30 | ||||
| -rw-r--r-- | Vehicle.hpp | 7 | 
2 files changed, 11 insertions, 26 deletions
| diff --git a/Vehicle.cpp b/Vehicle.cpp index 9a5153c..df1e1e3 100644 --- a/Vehicle.cpp +++ b/Vehicle.cpp @@ -2,29 +2,15 @@  #include "Vehicle.hpp"  #include "veh_models.hpp" +#include "GameWorld.hpp" -bool Vehicle::Draw(int bound_x) +bool Vehicle::MoveRight(GameWorld *world)  { -	bool ret = false; -	int i, j, k; -	const struct vehicle_info car = veh_info[type]; +	const struct object_info *car = &veh_store[type]; +	int h = car->height, i; +	for(i = 0; i < h; i++) +		world->RedrawCh(pos_y - i, pos_x); -	for(i = pos_x, j = car.length-1; i >= 0 && j >= 0; i--, j--) { -		if(i >= bound_x) -			continue; -		ret = true; - -		int h = car.height; -		for(k = 0; k < h; k++) { -			if(car.model[k][j] != SUPPORT_CHAR) -				mvaddch(pos_y - (h - k), i, car.model[k][j]); -		} -	} - -	return ret; +	pos_x++; +	return world->Draw(car, pos_y, pos_x, false);  } - -int Vehicle::GetLength() -{ -	return veh_info[type].length; -}
\ No newline at end of file diff --git a/Vehicle.hpp b/Vehicle.hpp index 4e5e854..24cc505 100644 --- a/Vehicle.hpp +++ b/Vehicle.hpp @@ -1,6 +1,8 @@  #ifndef ASCIIROAD_VEHICLE_H  #define ASCIIROAD_VEHICLE_H +class GameWorld; +  class Vehicle {  	int type;  	int pos_y, pos_x; @@ -9,10 +11,7 @@ public:  		: type(a_type), pos_y(a_y), pos_x(a_x) { }  	~Vehicle() { } -	int GetLength(); - -	void MoveRight() { pos_x++; } -	bool Draw(int bound_x); /* return false if not draw anything */ +	bool MoveRight(GameWorld *world); /* return false if not draw anything */  };  struct ll_vehicle { | 
