2015选择做导航网站/推广app下载

2015选择做导航网站,推广app下载,自助建网站系统,住房和城乡建设部网站报名👉博__主👈:米码收割机 👉技__能👈:C/Python语言 👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。 【C语言 】C语言 桌游开发数字竞拍(源码…

请添加图片描述


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


【C语言 】C语言 桌游开发数字竞拍(源码)【独一无二】


目录

  • 【C语言 】C语言 桌游开发数字竞拍(源码)【独一无二】
  • 一、设计要求
  • 二、设计思路
    • 1. 初始化模块
    • 2. 回合处理模块
    • 3. 回合结果判定模块
    • 4. 游戏终止条件判断模块
    • 5. 游戏结束模块
    • 6. 主函数汇总
  • 三、可视化分析


一、设计要求

桌游开发:数字竞拍
1、问题描述
请按照如下背景及游戏规则开发桌面游戏《数字竞拍》。
玩家人数:2 人。
规则:(1)双方初始总共有 100 元。(2)每个回合的开始,将出现 1~3 中任意一个随机数字。
各玩家分别给出本回合的出价,该选择对其他玩家不可见。(3)双方玩家完成出价后,出价
高的人获得该数字,从双方的经费中扣除本次出价价格,出价低的人钱也不退回。(4)双方
的出价情况不会展示。(5)满足以下任意一条,游戏结束:任意一方获得数字之和达 10 以上;
7 个回合结束;双方剩余钱数为 0。
2、要求
(1)理解上述游戏规则、设计具体流程及子程序。
(2)能够展示游戏过程。

在这里插入图片描述


二、设计思路

下面给出本程序的设计思路说明,采用模块化方式实现两个玩家利用竞拍机制进行游戏的逻辑。程序整体分为初始化、回合处理、回合结果判定、游戏终止条件判断以及游戏结束结果输出等几个模块。下面结合代码详细说明各个模块的设计思路及关键代码。


1. 初始化模块

设计思路:
程序开始时需要初始化两个玩家的金钱(均为 100)、两位玩家的累加和(初始为 0)以及回合计数器,之后利用 srand() 函数结合当前时间来为后续随机数生成器设定种子,从而保证每次运行随机数不同。

关键代码:

int player1_money = 100;
int player2_money = 100;
int player1_sum = 0, player2_sum = 0;
int rounds = 0;srand(time(NULL)); // 用于生成随机数

2. 回合处理模块

设计思路:
在主循环中(限制最多 7 回合),每个回合需要先生成一个1到3之间的随机数作为本回合竞拍的“拍卖数”。然后要求两个玩家分别输入出价,程序通过 do…while 循环确保玩家输入的出价不得超过其剩余金额。如果出价超过,则进行提示并重新输入。

关键代码:

while (rounds < 7) {int number = rand() % 3 + 1; // 生成1到3之间的随机数int bid1, bid2;// 输出回合及竞拍数字信息printf("回合 %d: 竞拍数字是 %d\n", rounds + 1, number);// 此处省略 20行+代码// 玩家2出价do {printf("玩家 2 的出价(剩余 %d 元):", player2_money);scanf("%d", &bid2);if (bid2 > player2_money) {printf("出价超过剩余金额,请重试。\n");}} while (bid2 > player2_money);

3. 回合结果判定模块

设计思路:
比较两个玩家的出价:

  • 如果玩家1出价更高,则玩家1获得本回合的随机竞拍数字,并从他的账户中扣除相应出价金额;
  • 如果玩家2出价更高,则玩家2获得本回合竞拍数字,扣除出价;
  • 如果出价相同,则视为平局,本回合无人得分,也不扣钱。

关键代码:

    // 判定获胜者if (bid1 > bid2) {printf("玩家 1 赢得此回合!\n");player1_sum += number;player1_money -= bid1;} else if (bid2 > bid1) {printf("玩家 2 赢得此回合!\n");player2_sum += number;player2_money -= bid2;} else {printf("平局,无人赢得此回合。\n");}rounds++;

在这里插入图片描述


4. 游戏终止条件判断模块

设计思路:
在每轮结束后,判断是否满足以下任一游戏终止条件:

  • 任何一位玩家的累加和达到或超过 10;
  • 任何一位玩家的剩余金钱为 0。

当满足条件时,提前结束游戏。

关键代码:

    // 检查游戏结束条件if (player1_sum >= 10 || player2_sum >= 10 || player1_money == 0 || player2_money == 0) {break;}printf("\n"); // 换行分隔每回合
}

5. 游戏结束模块

设计思路:
当游戏退出后,程序输出每位玩家的累计数字和,然后依照以下规则判断胜负:

  • 如果有玩家的累计和 ≥ 10,则以此为胜利条件;
  • 否则按照累计和大小比较,如果相同则平局,累计和更高的玩家获得最终胜利。

关键代码:

printf("\n游戏结束!\n");
printf("玩家 1 的数字和:%d\n", player1_sum);
printf("玩家 2 的数字和:%d\n", player2_sum);if (player1_sum >= 10 || player2_sum >= 10) {if (player1_sum >= 10) printf("玩家 1 获得胜利!\n");
// 此处省略 20行+代码
} else {printf("玩家 2 获得胜利!\n");
}

在这里插入图片描述

6. 主函数汇总

设计思路:
主函数中先完成各项初始化工作,然后进入回合游戏的循环,最后输出游戏结果。整段代码结构清晰,采用模块化设计便于理解和后期扩展。

完整代码:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int main() {int player1_money = 100;int player2_money = 100;int player1_sum = 0, player2_sum = 0;int rounds = 0;srand(time(NULL)); // 用于生成随机数while (rounds < 7) {int number = rand() % 3 + 1; // 生成1到3之间的随机数int bid1, bid2;printf("回合 %d: 竞拍数字是 %d\n", rounds + 1, number);// 玩家1出价// 此处省略 20行+代码} else if (player1_sum > player2_sum) {printf("玩家 1 获得胜利!\n");} else {printf("玩家 2 获得胜利!\n");}return 0;
}

代码采用模块化设计,将初始化、回合处理、结果判定与游戏结束分成多个部分,每个模块均完成相应的功能:

  • 初始化模块:设置玩家初始状态及随机种子。
  • 回合处理模块:生成随机竞拍数字,保证玩家出价合法。
  • 回合结果判定模块:比较出价、更新玩家状态。
  • 游戏终止判断与结束输出:判断是否达到终止条件,并输出最终结果。
    在这里插入图片描述

三、可视化分析

在这里插入图片描述

在这里插入图片描述


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/895520.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Reinforcement Learning Heats Up 强化学习持续升温

Reinforcement Learning Heats Up 强化学习持续升温 核心观点&#xff1a;强化学习正成为构建具有高级推理能力大语言模型&#xff08;LLMs&#xff09;的重要途径。 最新进展 模型示例&#xff1a;近期出现了如DeepSeek - R1及其变体&#xff08;DeepSeek - R1 - Zero&#xf…

Whisper+T5-translate实现python实时语音翻译

1.首先下载模型&#xff0c;加载模型 import torch import numpy as np import webrtcvad import pyaudio import queue import threading from datetime import datetime from faster_whisper import WhisperModel from transformers import AutoTokenizer, AutoModelForSeq2…

湖仓分析|浙江霖梓基于 Doris + Paimon 打造实时/离线一体化湖仓架构

导读&#xff1a;浙江霖梓早期使用 CDH 产品套件搭建了大数据系统&#xff0c;面临业务逻辑冗余、查询效率低下等问题&#xff0c;基于 Apache Doris 进行整体架构与表结构的重构&#xff0c;并基于湖仓一体和查询加速展开深度探索与实践&#xff0c;打造了 Doris Paimon 的实…

Jmeter压测怎么控制TPS

压测固定TPS的接口 有些任务需要我们控制接口的TPS&#xff0c;例如每秒请求一次。 TPS定时器 然后1个并发持续运行 压测结果 需要注意TPS在1.0/s左右&#xff0c;有时可能是1.2、1.3&#xff0c;定时器会自动调整压力&#xff0c;让TPS保持在1.0左右。

信呼OA办公系统sql注入漏洞分析

漏洞描述 信呼OA办公系统uploadAction存在SQL注入漏洞&#xff0c;攻击者可利用该漏洞获取数据库敏感信息。 环境搭建 源码下载地址&#xff1a;https://github.com/rainrocka/xinhu 下载后解压到本地网站根目录下&#xff0c;配置好数据库&#xff0c;然后安装即可 默认密…

一文深入了解DeepSeek-R1:模型架构

本文深入探讨了 DeepSeek-R1 模型架构。让我们从输入到输出追踪 DeepSeek-R1 模型&#xff0c;以找到架构中的新发展和关键部分。DeepSeek-R1 基于 DeepSeek-V3-Base 模型架构。本文旨在涵盖其设计的所有重要方面。 &#x1f4dd; 1. 输入上下文长度 DeepSeek-R1的输入上下文长…

算法兵法全略(译文)

目录 始计篇 谋攻篇 军形篇 兵势篇 虚实篇 军争篇 九变篇 行军篇 地形篇 九地篇 火攻篇 用间篇 始计篇 算法&#xff0c;在当今时代&#xff0c;犹如国家关键的战略武器&#xff0c;也是处理各类事务的核心枢纽。算法的世界神秘且变化万千&#xff0c;不够贤能聪慧…

开关电源实战(一)宽范围DC降压模块MP4560

系列文章目录 文章目录 系列文章目录MP4560MP4560 3.8V 至 55V 的宽输入范围可满足各种降压应用 MOSFET只有250mΩ 输出可调0.8V-52V SW:需要低VF肖特基二极管接地,而且要靠近引脚,高压侧开关的输出。 EN:输入使能,拉低到阈值以下关闭芯片,拉高或浮空启动 COMP:Compens…

微软AutoGen高级功能——Magentic-One

介绍 大家好&#xff0c;博主又来给大家分享知识了&#xff0c;这次给大家分享的内容是微软AutoGen框架的高级功能Magentic-One。那么它是用来做什么的或它又是什么功能呢&#xff0c;我们直接进入正题。 Magentic-One Magnetic-One是一个通用型多智能体系统&#xff0c;用于…

DeepSeek是如何通过“蒸馏”技术打造自己的AI模型

1 引言&#xff1a; 最近&#xff0c;外媒对中国公司——DeepSeek进行了猛烈抨击&#xff0c;指控其采用了所谓的“蒸馏”&#xff08;Distillation&#xff09;技术&#xff0c;涉嫌抄袭甚至作弊。那么&#xff0c;什么是“蒸馏”技术&#xff1f; 在人工智能领域&#xff0c;…

【广州大学主办,发表有保障 | IEEE出版,稳定EI检索,往届见刊后快至1个月检索】第二届电气技术与自动化工程国际学术会议 (ETAE 2025)

第二届电气技术与自动化工程国际学术会议 (ETAE 2025) The 2nd International Conference on Electrical Technology and Automation Engineering 大会官网&#xff1a;http://www.icetae.com/【更多详情】 会议时间&#xff1a;2025年4月25-27日 会议地点&#xff1a…

伯克利 CS61A 课堂笔记 08 —— Strings and Dictionaries

本系列为加州伯克利大学著名 Python 基础课程 CS61A 的课堂笔记整理&#xff0c;全英文内容&#xff0c;文末附词汇解释。 目录 01 Strings 字符串 Ⅰ Strings are An Abstraction. Ⅱ Strings Literals have Three Forms Ⅲ String are Sequences 02 Dictionaries 字典 …

基于 GEE 计算研究区年均地表温度数据

目录 1 代码解析 2 完整代码 3 运行结果 1 代码解析 &#xff08;1&#xff09;定义研究区&#xff1a; // 研究区的范围需要自己提前上传 var dataset table;// 将研究区显示在中心&#xff0c;后面的数字为缩放等级&#xff0c;范围从1 - 24 Map.centerObject(dataset,…

日常知识点之遗留问题梳理(定时器/时间轮定时器)

1&#xff1a;简单基础 定时器的核心知识点&#xff0c;对我来说就是获取当前时间和设置回调函数。 简单练习&#xff1a; ​ c语言通过gettimeofday 获取当前时间并进行处理 ​ 回调函数的定义&#xff08;函数参数有必要适当存储&#xff09; typedef void(Timerfunc)(vo…

Python + WhisperX:解锁语音识别的高效新姿势

大家好&#xff0c;我是烤鸭&#xff1a; 最近在尝试做视频的质量分析&#xff0c;打算利用asr针对声音判断是否有人声&#xff0c;以及识别出来的文本进行进一步操作。asr看了几个开源的&#xff0c;最终选择了openai的whisper&#xff0c;后来发现性能不行&#xff0c;又换了…

mapbox 从入门到精通 - 目录

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;mapbox 从入门到精通 文章目录 一、&#x1f340;总目录1.1 ☘️ mapbox基础1.2 ☘️…

sqlilabs--小实验

一、先盲注判断 ?id1 and sleep(2)-- 如果发现页面存在注点&#xff0c;使用时间盲注脚本进行注入 import requestsdef inject_database(url):name for i in range(1, 20): # 假设数据库名称长度不超过20low 48 # 0high 122 # zmiddle (low high) // 2while low &l…

【数字】异步FIFO面试的几个小问题与跨时钟域时序约束

入门数字设计的时候&#xff0c;跨时钟域的数据处理是绕不开的课题&#xff0c;特别是多比特数据跨时钟域时&#xff0c;都会采用异步FIFO的方法。 异步FIFO中涉及较多的考点这里记录几个以供大家参考。 1. 异步FIFO的空满判断分别在哪个域&#xff1f; 根据异步FIFO的结构&…

RabbitMQ学习—day2—安装

目录 普通Linux安装 安装RabbitMQ 1、下载 2、安装 3. Web管理界面及授权操作 Docker 安装 强力推荐学docker&#xff0c;使用docker安装 普通Linux安装 安装RabbitMQ 1、下载 官网下载地址&#xff1a;https://www.rabbitmq.com/download.html(opens new window) 这…

降本增效 - VGF 构建轻量高性能日志管理平台

VFG 技术架构 Filebeat 接收Syslog &#xff0c;并进行日志分段&#xff0c;VictoriaLogs 持久化存储日志 &#xff0c;Grafana 可视化、数据查询、告警、数据导出。 为什么要用VictoriaLogs &#xff1f; 与Elasticsearch /Grafana Loki相比几十倍的CPU/内存/存储资源占用的…