consolidate all repos to one for archive
This commit is contained in:
66
semester_2/programiranje_2/naloga0601/Diamand.cpp
Normal file
66
semester_2/programiranje_2/naloga0601/Diamand.cpp
Normal file
@@ -0,0 +1,66 @@
|
||||
//
|
||||
// Created by Nik on 11/04/2022.
|
||||
//
|
||||
|
||||
#include "Diamand.h"
|
||||
|
||||
Diamand::Diamand(ColorCode color, unsigned int redius): Shape2D(color), redius(redius) {}
|
||||
|
||||
unsigned int Diamand::getSurfaceArea() const {
|
||||
return (redius*2+2)*2;
|
||||
}
|
||||
|
||||
void Diamand::draw() const {
|
||||
|
||||
int spacL1 = redius;
|
||||
int specR1 = 0;
|
||||
int spacL2 = 0;
|
||||
int specR2 = redius * 2;
|
||||
for (int i = 0; i < redius * 2 + 2; i++) {
|
||||
if (i <= redius) {
|
||||
for (int j = 0; j < spacL1; j++) std::cout << " ";
|
||||
PrintUtility::print(color, "*");
|
||||
for (int k = 0; k < specR1; k++) std::cout << " ";
|
||||
PrintUtility::print(color, "*");
|
||||
std::cout << "\n";
|
||||
specR1 += 2;
|
||||
spacL1 -= 1;
|
||||
}
|
||||
if (i > redius) {
|
||||
for (int j = 0; j < spacL2; j++) std::cout << " ";
|
||||
PrintUtility::print(color, "*");
|
||||
for (int k = 0; k < specR2; k++) std::cout << " ";
|
||||
PrintUtility::print(color, "*");
|
||||
std::cout << "\n";
|
||||
specR2 -= 2;
|
||||
spacL2 += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string Diamand::getString() const {
|
||||
std::string ret;
|
||||
int spacL1 = redius;
|
||||
int specR1 = 0;
|
||||
int spacL2 = 0;
|
||||
int specR2 = redius * 2;
|
||||
for (int i = 0; i < redius * 2 + 2; i++) {
|
||||
if (i <= redius) {
|
||||
for (int j = 0; j < spacL1; j++) ret+=" ";
|
||||
ret+="*";
|
||||
for (int k = 0; k < specR1; k++) ret+=" ";
|
||||
ret+="*\n";
|
||||
specR1 += 2;
|
||||
spacL1 -= 1;
|
||||
}
|
||||
if (i > redius) {
|
||||
for (int j = 0; j < spacL2; j++) ret+=" ";
|
||||
ret+="*";
|
||||
for (int k = 0; k < specR2; k++) ret+=" ";
|
||||
ret+="*\n";
|
||||
specR2 -= 2;
|
||||
spacL2 += 1;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
Reference in New Issue
Block a user