具体布局图如上:1-11个可选建筑位置(编号1-11)+中间1个固定建筑(未编号)。共计18条连续产生效果(a[0]-a[11],然后多次尝试之后,写出如下代码。

#include <iostream>
using namespace std;
int f = 1, y = 2, g = 3;
string jianzhuming[] = { "房子","娱乐","工厂" };
struct Zonghe
{int renkou;int chanchu;int yule;Zonghe(int renkou = 0, int chanchu = 0, int yule = 0) :renkou(renkou), chanchu(chanchu), yule(yule) {};
};
Zonghe operator +(const Zonghe& a, const Zonghe& b)
{return Zonghe(a.renkou + b.renkou, a.chanchu + b.chanchu, a.yule + b.yule);
}Zonghe jisuan(Zonghe z, int a, int b)
{if (a == b){if (a == f){z.chanchu = 0;z.yule = 0;z.renkou = 0;}else{if (a == y){z.chanchu = 0;z.yule = 0;z.renkou = 0;}else{z.chanchu = 0;z.yule = 0;z.renkou = 0;}}}else{if ((a == f && b == y) || (a == y && b == f)){z.chanchu = 0;z.yule = 1;z.renkou = 0;}if ((a == f && b == g) || (a == g && b == f)){z.chanchu = 12;z.yule = 0;z.renkou = 0;}if ((a == y && b == g) || (a == g && b == y)){z.chanchu = 0;z.yule = -1;z.renkou = 0;}}return z;
}int max(int a, int  b)
{return a > b ? a : b;
}
int q[] = { 1,1,1,1,1,1,1,1,1,1,1,1 };
Zonghe bia(Zonghe a, Zonghe b,int sss[])
{if (a.chanchu == b.chanchu){if (a.yule > b.yule){return a;}else{for (int i = 0; i < 11; i++){q[i] = sss[i];}return b;}}if (a.chanchu > b.chanchu){return a;}else{for (int i = 0; i < 11; i++){q[i] = sss[i];}return b;}}Zonghe qiuhe(Zonghe t, int p[])
{Zonghe k = Zonghe(0, 0, 0);Zonghe a[18] = { k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k,k };a[0]= jisuan(a[0], p[0], p[1]);
a[1] = jisuan(a[1], p[1], p[2]);
a[2] = jisuan(a[2], p[2], p[5]);
a[3] = jisuan(a[3], p[1], p[9]);
a[4] = jisuan(a[4], f, p[1]);
a[5] = jisuan(a[5], f, p[3]);
a[6] = jisuan(a[6], p[3], p[4]);
a[7] = jisuan(a[7], p[4], p[5]);
a[8] = jisuan(a[8], p[4], p[6]);
a[9] = jisuan(a[9], p[5], p[6]);
a[10] = jisuan(a[10], f, p[5]);
a[11] = jisuan(a[11], f, p[10]);
a[12] = jisuan(a[12], f, p[9]);
a[13] = jisuan(a[13], p[8], p[9]);
a[14] = jisuan(a[14], p[10], p[8]);
a[15] = jisuan(a[15], p[7], p[10]);
a[16] = jisuan(a[16], p[6], p[7]);
a[17] = jisuan(a[17], p[7], p[8]);for (int i=0; i < 18; i++){t = t + a[i];}/*if (t.chanchu > 0){cout << "产出:" << t.chanchu << "娱乐:" << t.yule << "人口:" << t.renkou << endl;getchar();}*/return t;
}int main()
{int diyige = 0;Zonghe k = Zonghe(0, 0, 0);Zonghe zui = Zonghe(0, 0, 0);Zonghe kz= Zonghe(0, 0, 0);int p[] = {1,1,1,1,1,1,1,1,1,1,1,1};for (p[0] = 1;  p[0] <4;  p[0]++){for (p[1] = 1; p[1] <4; p[1]++){for (p[2] = 1; p[2] < 4; p[2]++){for (p[3] = 1; p[3] < 4; p[3]++){for (p[4] = 1; p[4] < 4; p[4]++){for (p[5] = 1; p[5] < 4; p[5]++){for (p[6] = 1; p[6] < 4; p[6]++){for (p[7] = 1; p[7] < 4; p[7]++){for (p[8] = 1; p[8] < 4; p[8]++){for (p[9] = 1; p[9] < 4; p[9]++){for (p[10] = 1; p[10] < 4; p[10]++){k = Zonghe(0, 0, 0);k=qiuhe(k, p);Zonghe guding = Zonghe(0, 0, 0);for (int i = 0; i < 11; i++){if (p[i] == y){guding.yule = guding.yule + 1;}if (p[i] == f){guding.renkou = guding.renkou + 10;}if (p[i] == g){guding.yule = guding.yule - 1;}}kz = k + guding;if (kz.yule >= 0){if (diyige == 0){zui = kz;diyige = 1;}else{zui = bia(zui,kz,p);}}}}}}}}}}}}}cout << "产出:" << zui.chanchu << "娱乐:" << zui.yule << "人口:" << zui.renkou << endl;for (int i = 0; i < 11; i++){cout <<"位置"<<i+1<<"   :  "<<jianzhuming[q[i]-1]<<" " << endl;}return 0;
}

运行结果如下图:

学以致用--游戏:孢子(Spore) 中 殖民地 最佳布局相关推荐

  1. Bilibili资深运维工程师:DCDN在游戏应用加速中的实践

    简介:bilibili资深运维工程师李宁分享<DCDN在游戏应用加速中的实践>从bilibili游戏应用的效果和成本入手,深入浅出地分享DCDN全站加速在游戏加速场景中的应用. 日前,云栖 ...

  2. Html代码seo优化最佳布局实例讲解

    搜索引擎对html代码是非常优化的,所以html的优化是做好推广的第一步.一个符合seo规则的代码大体如下界面所示. 1.<!–木庄网络博客–> 这个东西是些页面注释的,可以在这里加我的& ...

  3. java jinternalpanel_java swing中JPanel的布局问题

    java swing中JPanel的布局问题 关注:92  答案:3  信息版本:手机版 电脑版 解决时间 2021-01-17 16:07 提问者侢遇噹姩揂 2021-01-17 09:36 我在f ...

  4. PDPS软件:机器人最佳布局位置自动选择功能介绍与使用方法

    本文已经首发在个人微信公众号:工业机器人仿真与编程(微信号:IndRobSim),欢迎关注! 概述 对于机器人工作站或生产线的虚拟仿真,很大一部分的作用是找出机器人与工装夹具等外围设备的最佳布局位置. ...

  5. 微前端在平台级管理系统中的最佳实践

    微前端在平台级管理系统中的最佳实践 一.什么是微前端 二.什么是通用管理端工程 三.当管理端工程遇上微前端 四.未来展望 作者:杨朋飞 一.什么是微前端 近十年来,前端技术有了长足发展,各种概念与框架 ...

  6. 面向游戏玩家的六款最佳Linux发行版

    面向游戏玩家的六款最佳Linux发行版 Linux系统技术交流QQ群(290864)验证问题答案:刘遄Linux就该这么学 导读 Linux过去是完全基于命令行的操作系统,后来它有了基本的图形用户界面 ...

  7. linux版本游戏排行,面向游戏玩家的六款最佳Linux发行版

    是的!你没有看错.Linux一向以性能.稳定性和安全性出名,但现在它也以游戏出名.有成百上千款面向Linux的游戏,众多的Windows游戏也已移植到Linux平台.但是,我们有很多的Linux发行版 ...

  8. 【强化学习炼金术】李飞飞高徒范麟熙解析强化学习在游戏和现实中的应用

    在新智元上一篇文章中,Jim Fan(范麟熙)介绍了强化学习的概念和目的.今天是<强化学习炼金术>Introduction第三讲. 在这一课里,Jim Fan会跟各位炼金术师们聊一聊游戏中 ...

  9. html5游戏开发的五个最佳实践

    HTML5是伟大的,因为它多才多艺的 - 它没有具体针对单一的平台.更重要的是,HTML5是无所不在的. 就我所知的,它在你的PC上,你的手机上,你的平板设备上,甚至在你的厨房电器上. 就凭HTML5 ...

最新文章

  1. 《Git的奇技淫巧》.PDF
  2. 【Dubbo源码阅读系列】之远程服务调用(上)
  3. 基于ssh的ktv预定管理系统
  4. 使用tab键分割的文章能快速转换成表格。( )_word排版技巧:活用Enter键提高工作效率...
  5. 【c++】28.虚析构函数、纯虚函数
  6. 【视频课】Pytorch模型分析进阶(可视化,参数量与计算量,计算速度)
  7. 【一周入门MySQL—3】多表查询、子查询、常用函数
  8. difference between finance and manufacturing from stakeholder‘s perspective
  9. windows,python3.x下安装pyspider
  10. Oracle 数据库导入导出 dmp文件
  11. 【玩转Atlas200DK系列】为Atlas200DK配置wifi外挂模块
  12. ctf题目:看不见的flag_记一次江西省信息安全线下CTF比赛
  13. Java8下载安装详细教程,环境配置,Java、jre下载安装教程,此电脑图标位置,电脑处理器版本查询查询
  14. 【重点】计算机二级公共基础重点
  15. 制作一个主题网站(注意是网站,不是网页,网站应该包括一个主页和若干子页),本次主题中华民族传统美德。
  16. 文本特征提取之TF-IDF算法(原理+Python代码)
  17. dev、test和prod是什么意思?
  18. 网络创业者之家:普通人想要获得“第一桶金”,要记住这3点
  19. 宋浩概率论与数理统计-第一章-笔记
  20. Linux常用指令<三>

热门文章

  1. 计算机组成原理第六章下半章知识总结
  2. 年度大戏《“跨界”的诱惑》主演:头部车企、手机巨头
  3. PowerDesigner 批量添加字段
  4. 柱状图怎么设置xy轴_echarts图表x,y轴的设置
  5. 网御星云防火墙上网行为审计配置
  6. html制作满天星,HTML5练习(1)制作满天星
  7. 在ubuntu14.04 编译openwrt 遇到问题解决汇总
  8. 精品内容永不过时,个人站长应自我审视
  9. 看这篇告诉你WMS系统怎么设计
  10. 世界各国国土面积排名