mirror of
				https://github.com/zenorogue/hyperrogue.git
				synced 2025-10-30 21:42:59 +00:00 
			
		
		
		
	improved valence computation
This commit is contained in:
		| @@ -1204,6 +1204,19 @@ string archimedean_tiling::world_size() { | ||||
| int degree(heptagon *h) { | ||||
|   return isize(current.adjacent[id_of(h)]); | ||||
|   } | ||||
|  | ||||
| int valence() { | ||||
|   if(PURE) return arcm::current.N; | ||||
|   if(BITRUNCATED) return 3; | ||||
|   // in DUAL, usually valence would depend on the vertex. | ||||
|   // 3 is the most interesting, as it allows us to kill hedgehog warriors | ||||
|   int total = 0; | ||||
|   for(int i: current.faces) { | ||||
|     if(i == 3) return 3; | ||||
|     total += i; | ||||
|     } | ||||
|   return total / isize(current.faces); | ||||
|   } | ||||
|   | ||||
|   } | ||||
|  | ||||
|   | ||||
							
								
								
									
										5
									
								
								hyper.h
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								hyper.h
									
									
									
									
									
								
							| @@ -106,8 +106,6 @@ void addMessage(string s, char spamtype = 0); | ||||
| #define masterless among(geometry, gEuclid, gEuclidSquare, gTorus) | ||||
| #define sphere_narcm (sphere && !archimedean) | ||||
|  | ||||
| #define AS3 (archimedean?arcm::current.N : S3) | ||||
|  | ||||
| #define a4 (S3 == 4) | ||||
| #define a45 (S3 == 4 && S7 == 5) | ||||
| #define a46 (S3 == 4 && S7 == 6) | ||||
| @@ -138,13 +136,14 @@ void addMessage(string s, char spamtype = 0); | ||||
| #define PURE (variation == eVariation::pure) | ||||
| #define BITRUNCATED (variation == eVariation::bitruncated) | ||||
| #define DUAL (variation == eVariation::dual) | ||||
| #define DUALMUL (DUAL ? 2 : 1) | ||||
|  | ||||
| #define CHANGED_VARIATION (variation != ginf[geometry].default_variation) | ||||
|  | ||||
| #define STDVAR (PURE || BITRUNCATED) | ||||
| #define NONSTDVAR (!STDVAR) | ||||
|  | ||||
| #define VALENCE (BITRUNCATED ? 3 : AS3) | ||||
| #define VALENCE (BITRUNCATED ? 3 : archimedean ? arcm::valence() : S3) | ||||
|  | ||||
| #define NUMWITCH 7 | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Zeno Rogue
					Zeno Rogue