多边形游戏源代码

原创 2007年10月05日 21:47:00

 

上课的时候突然发现这个算法有点小小的变动,就改了一下,大家慢慢看:
#include <stdio.h>
#include 
<stdlib.h>
#include 
<ctype.h>
#include 
<iostream.H>

#define N 5         //可以通过改N的值来达到您的需求,当然如果你有兴趣的话,
                           
// 也可以自己编写一个动态数组实现的来改进算法。^_^

char op[N];
int  minf, maxf, m[N][N][2];
void PolyMax();
void MinMax(int i, int j, int k);

int main(int argc, char* argv[])
...{
    
int i;
    
char ch;
    
    printf(
"********************************************************* ");
    printf(
"* 实验二:多边形游戏 * ");
    printf(
"********************************************************* ");
    
    
    printf(
"请输入您要进行的六元算式,注意运算符只能是“+”或者“*”! S=");
    
for (i = 0; i < N; i ++...
    
//    printf("请输入一个顶点的值: ");
        scanf("%d"&m[i][0][0]);
        m[i][
0][1= m[i][0][0];
    
//  printf("请输入一个运算符(+or*): ");
        while((ch = getchar())&& isspace(ch));
          op[i] 
= ch;
    }


    PolyMax();

    
return 0;
}


void PolyMax()
...{
    
int i, j, k, max,flag;

    
for (j = 1; j < N; j ++)
        
for (i = 0; i < N; i ++)
            
for (k = 0; k < j; k ++...{
                MinMax(i, j, k);
                
if (m[i][j][0> minf) m[i][j][0= minf;
                
if (m[i][j][1< maxf) m[i][j][1= maxf;
            }


    max 
= m[0][N - 1][1];
    flag
=0+1;
    
for (i = 1; i < N; i ++)
        
if (max < m[i][N - 1][1])...
            max 
= m[i][N - 1][1];
            flag
=i+1;
        }



    printf(
"计算所得的最大值是:%d 这个最大值在删去边%d后得到。 ", max,flag);
}


void MinMax(int i, int j, int k)
...{
    
int e[4],  
        a 
= m[i][k][0], 
        b 
= m[i][k][1],
        r 
= (i + k + 1% N,
        c 
= m[r][j - k - 1][0],
        d 
= m[r][j - k - 1][1];

    
if (op[(r - 1 + N) % N] == '+'...{
        minf 
= a + c;
        maxf 
= b + d;
    }
 else ...{
        e[
0= a * c;
        e[
1= a * d;
        e[
2= b * c;
        e[
3= b * d;
        minf 
= e[0];
        maxf 
= e[0];
        
for (int k = 1; k < 4; k ++...{
            
if (minf > e[k]) minf = e[k];
            
if (maxf < e[k]) maxf = e[k];
        }

    }

}

js算法:动态规划-多边形游戏

问题描述:  多边形游戏是一个单人玩的游戏,开始时有一个由n个顶点构成的多边形。每个顶点被赋予一个整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。   游戏第1步,将一...
  • jrn1012
  • jrn1012
  • 2015年09月05日 22:20
  • 1140

0015算法笔记——【动态规划】多边形游戏问题

1、问题描述:          给定N个顶点的多边形,每个顶点标有一个整数,每条边上标有+(加)或是×(乘)号,并且N条边按照顺时针 依次编号为1~N。下图给出了一个N=4个顶点的多边形...
  • huoyahuoya
  • huoyahuoya
  • 2016年12月08日 22:49
  • 406

多边形游戏(经典的环形dp)

描述 一个多边形,开始有n个顶点。每个顶点被赋予一个正整数值,每条边被赋予一个运算符“+”或“*”。所有边依次用整数从1到n编号。 现在来玩一个游戏,该游戏共有n步: 第...
  • sunshinezff
  • sunshinezff
  • 2015年04月17日 09:43
  • 1632

【Java】游戏小程序-超级玛丽(代码渗入)

一、游戏基本功能 1、能够向左向右行走(键盘监听) 2、能够跳跃 3、能够发射子弹 4、能够检测和障碍物之间的碰撞 5、背景图片的移动 二、游戏运行界面 三、游戏大致实现思路...
  • hj7jay
  • hj7jay
  • 2017年01月10日 09:28
  • 32977

计算机图形学(六)多边形裁剪Sutherland-Hodgeman算法讲解与源代码

源码下载:因为最近CSDN上传资源出现问题,无法上传,等可以上传之后再给出下载地址。 首先讲一下算法的原理: Sutherland-Hodgeman算法: 基本思想是一次用窗口的一条边裁剪多边形。 考...
  • syx1065001748
  • syx1065001748
  • 2017年04月21日 11:24
  • 1606

15款Cocos2d-x游戏源码

(1)用cocos2d-x开发的中国象棋游戏源码 使用Cocos2d-X2.2.3开发的一款中国象棋游戏,游戏中可以实现、新局面、悔棋、游戏音乐、胜利后会显示游戏结果。 源码下载:http...
  • Jailman
  • Jailman
  • 2017年11月30日 17:52
  • 1554

2048游戏网页版,js源代码

2048网页版的js源代码,原生js编写: var game={ data:[], score:0, state:1, RUNNING:1, GAME_OVER:0, start:fun...
  • Sheri_stx
  • Sheri_stx
  • 2015年11月11日 23:46
  • 1604

中小型手机棋牌网络游戏服务端架构设计(带源码)

承接自己[《中小型棋牌类网络游戏服务端架构》]博文,用Golang实现基础架构逻辑后,准备再次谈谈我的想法。 如果阅读起来感觉晦涩难懂,那就不妨直接看[源码] #Network 包含Server,Cl...
  • panshiqu
  • panshiqu
  • 2017年07月07日 18:26
  • 3067

一个对战程序的C++源代码

说明: 人物和怪物属性用结构——string名字,double力量,敏捷,速度,体质 全局变量hp[0]和hp[1],用于储存人物血量和怪物血量。 力量:影响基础攻击力 敏捷:倍击系数(根据敏...
  • qq20004604
  • qq20004604
  • 2015年12月08日 18:03
  • 1918

HTML5游戏实战:代码都不用敲几行,全图形界面制作弹珠台游戏!

使用absurd大神 的游戏引擎(GameBuilder: https://gamebuilder.duapp.com)做了一个简单的弹珠台游戏。 现在还没搞贴图,重置游戏和其他功能 看起来很丑...
  • hhhkhhh333
  • hhhkhhh333
  • 2015年01月30日 09:44
  • 1584
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:多边形游戏源代码
举报原因:
原因补充:

(最多只允许输入30个字)