find_if nans for magnarune
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
		
							parent
							
								
									37de6068e7
								
							
						
					
					
						commit
						7999b27b86
					
				| @ -1,7 +1,15 @@ | ||||
| #Compiles the entire program with debug flags then runs it in gdb. | ||||
| #Compiles the entire program with debug flags then runs it in gdb. If the "test" argument is included, will try and run tests too (in the test folder) | ||||
| #C++ | ||||
| printf "Running program...\n\n\n" | ||||
| if g++ $(find . -type f -name "*.cpp") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then | ||||
|     gdb ./${PROJECT_NAME} "$@" | ||||
| if [ "$1" = "test" ] | ||||
| then | ||||
|     printf "Running tests...\n" | ||||
|     if g++ $(find . -type f -name "*.cpp") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then | ||||
|         gdb ./${PROJECT_NAME} "$@" | ||||
|     fi | ||||
| else | ||||
|     if g++ $(find . -type f -name "*.cpp" -not -path "./test/*") -g ${CUSTOM_PARAMS} -o ${PROJECT_NAME}; then | ||||
|         gdb ./${PROJECT_NAME} "$@" | ||||
|     fi | ||||
| fi | ||||
| printf "\n\n" | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| build.sh:ca58f10d4e30d807987ea0105930ae51  - | ||||
| commit.sh:d03a46e721060c22ccb146e19d27e70a  - | ||||
| debug.sh:abbbb0c6d9f2409f3a90738ab3d9d44f  - | ||||
| debug.sh:131aac078fc1ae3c2278209a09e99a3d  - | ||||
| lines.sh:3b907786f7fc9204025993016c9080de  - | ||||
| release.sh:a54e2002be80814cc1293a11dff4d116  - | ||||
| release.sh:0a525311cc14b9c8aefc6f2b816129a1  - | ||||
| temp:d41d8cd98f00b204e9800998ecf8427e  - | ||||
| web.sh:3dcc2fe7e036359eedd257a864e9a1e1  - | ||||
| web.sh:96f2c316536011a3defac50aecae487d  - | ||||
|  | ||||
| @ -1,7 +1,7 @@ | ||||
| #Creates a release build that focuses on high runtime performance. | ||||
| #C++ | ||||
| printf "Running program...\n\n\n" | ||||
| if g++ $(find . -type f -name "*.cpp") ${CUSTOM_PARAMS} -O3 -s -DNDEBUG -o ${PROJECT_NAME}; then | ||||
| if g++ $(find . -type f -name "*.cpp" -not -path "./test/*") ${CUSTOM_PARAMS} -O3 -s -DNDEBUG -o ${PROJECT_NAME}; then | ||||
|     ./${PROJECT_NAME} "$@" | ||||
| fi | ||||
| printf "\n\n" | ||||
|  | ||||
| @ -1,9 +1,9 @@ | ||||
| #Compiles emscripten instance of this project for the web. | ||||
| #C++ | ||||
| if [ -d "assets" ]; then | ||||
|     em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp") -o ${PROJECT_NAME}.html -I pixelGameEngine.h --preload-file ./assets | ||||
|     em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp" -not -path "./test/*") -o ${PROJECT_NAME}.html -I pixelGameEngine.h --preload-file ./assets | ||||
| else | ||||
|     em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp") -o ${PROJECT_NAME}.html -I pixelGameEngine.h  | ||||
|     em++ -std=c++17 -O2 -s ALLOW_MEMORY_GROWTH=1 -s MAX_WEBGL_VERSION=2 -s MIN_WEBGL_VERSION=2 -s USE_SDL_MIXER=2 -s USE_LIBPNG=1 $(find . -type f -name "*.cpp" -not -path "./test/*") -o ${PROJECT_NAME}.html -I pixelGameEngine.h  | ||||
| fi | ||||
| 
 | ||||
| cp buildtemplate.html ${PROJECT_NAME}.html | ||||
|  | ||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								border.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								border.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 7.3 KiB | 
							
								
								
									
										93
									
								
								main.cpp
									
									
									
									
									
								
							
							
						
						
									
										93
									
								
								main.cpp
									
									
									
									
									
								
							| @ -1,50 +1,51 @@ | ||||
| #include <iostream> | ||||
| #include <map> | ||||
| #define OLC_PGE_APPLICATION | ||||
| #include "pixelGameEngine.h" | ||||
| #include <memory> | ||||
| using namespace olc; | ||||
| 
 | ||||
| int main() { | ||||
| 	std::map<std::string,bool> vals; | ||||
| 	for (int i=1;i<=15;i++) { | ||||
| 		for (int j=1;j<=15;j++) { | ||||
| 			for (int k=1;k<=15;k++) { | ||||
| 				if (i+j+k==15) { | ||||
| 					std::string testStr; | ||||
| 					int val1=i,val2=j,val3=k; | ||||
| 					if (i<j&&i<k) { | ||||
| 						val1=i; | ||||
| 						if (j<k) { | ||||
| 							val2=j; | ||||
| 							val3=k; | ||||
| 						} else { | ||||
| 							val2=k; | ||||
| 							val3=j; | ||||
| 						} | ||||
| 					} | ||||
| 					if (j<i&&j<k) { | ||||
| 						val1=j; | ||||
| 						if (i<k) { | ||||
| 							val2=i; | ||||
| 							val3=k; | ||||
| 						} else { | ||||
| 							val2=k; | ||||
| 							val3=i; | ||||
| 						} | ||||
| 					} | ||||
| 					if (k<i&&k<j) { | ||||
| 						val1=k; | ||||
| 						if (i<j) { | ||||
| 							val2=i; | ||||
| 							val3=j; | ||||
| 						} else { | ||||
| 							val2=j; | ||||
| 							val3=i; | ||||
| 						} | ||||
| 					} | ||||
| 					if (!vals.count(std::to_string(val1)+"_"+std::to_string(val2)+"_"+std::to_string(val3))) { | ||||
| 						std::cout<<std::to_string(val1)+"_"+std::to_string(val2)+"_"+std::to_string(val3)<<std::endl; | ||||
| 						vals[std::to_string(val1)+"_"+std::to_string(val2)+"_"+std::to_string(val3)]=true; | ||||
| 					} | ||||
| 				} | ||||
| struct myStruct{ | ||||
| 	std::string name=""; | ||||
| 	int level=1; | ||||
| }; | ||||
| std::vector<std::weak_ptr<myStruct>> vals; | ||||
| 
 | ||||
| void AddVal(std::weak_ptr<myStruct>newVal) { | ||||
| 	auto findVal=std::find_if(vals.begin(),vals.end(), | ||||
| 		[&newVal](std::weak_ptr<myStruct>&val) | ||||
| 			{ | ||||
| 				return val.lock()->name==newVal.lock()->name; | ||||
| 			} | ||||
| 		} | ||||
| 		); | ||||
| 	if (findVal!=vals.end()) { | ||||
| 		std::cout<<"Value "<<newVal.lock()->name<<" already exists."<<std::endl; | ||||
| 		findVal->lock()->level++; | ||||
| 		std::cout<<findVal->lock()->name+" is now level "<<findVal->lock()->level<<std::endl; | ||||
| 	} else { | ||||
| 		std::cout<<"Value "<<newVal.lock()->name<<" does not exist."<<std::endl; | ||||
| 		vals.push_back(newVal); | ||||
| 		std::cout<<newVal.lock()->name+" is now level "<<vals[vals.size()-1].lock()->level<<std::endl; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| int main() { | ||||
| 	std::shared_ptr<myStruct> myPtr1=std::make_shared<myStruct>(); | ||||
| 	std::shared_ptr<myStruct> myPtr2=std::make_shared<myStruct>(); | ||||
| 	std::shared_ptr<myStruct> myPtr3=std::make_shared<myStruct>(); | ||||
| 	std::shared_ptr<myStruct> myPtr4=std::make_shared<myStruct>(); | ||||
| 
 | ||||
| 	std::weak_ptr<myStruct> refPtr1=myPtr1; | ||||
| 	std::weak_ptr<myStruct> refPtr2=myPtr2; | ||||
| 	std::weak_ptr<myStruct> refPtr3=myPtr3; | ||||
| 	std::weak_ptr<myStruct> refPtr4=myPtr2; | ||||
| 
 | ||||
| 	refPtr1.lock()->name="Test Upgrade 1"; | ||||
| 	refPtr2.lock()->name="Test Upgrade 2"; | ||||
| 	refPtr3.lock()->name="Test Upgrade 3"; | ||||
| 
 | ||||
| 	std::cout<<(refPtr2.lock()==refPtr4.lock())<<std::endl; | ||||
| 
 | ||||
| 	AddVal(refPtr1); | ||||
| 	AddVal(refPtr2); | ||||
| 	AddVal(refPtr3); | ||||
| 	AddVal(refPtr4); | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user