diff options
Diffstat (limited to 'world.cpp')
-rw-r--r-- | world.cpp | 24 |
1 files changed, 19 insertions, 5 deletions
@@ -316,14 +316,28 @@ Robot* World::targetbot(const Robot *r){ return *targetbotptr(r); } -void World::print() const { +void World::print(ostream &os) const { for(int y=0;y<SIZE;y++){ for(int x=0;x<SIZE;x++){ - if(board[y][x]==nullptr)cout<<".."; - else cout<<string(2,"^>v<"[board[y][x]->heading%4]); - cout<<' '; + if(board[y][x]==nullptr)os<<".."; + else os<<string(2,"^>v<"[board[y][x]->heading%4]); + os<<' '; + } + os<<endl; + } +} + +void World::print(ScreenBuffer &sb) const { + for(int y=0;y<SIZE;y++){ + sb.moveto(0,y); + for(int x=0;x<SIZE;x++){ + if(board[y][x]==nullptr)sb.printf(".."); + else { + char c="^>v<"[board[y][x]->heading%4]; + sb.printf("%c%c",c,c); + } + sb.printf(" "); } - cout<<endl; } } |