C++老师给出了个小练习,想看看8u们怎么处理
c吧
全部回复
仅看楼主
level 2
PuzzleUni 楼主
1.小游戏:
(1)输出”开始游戏!”
(2)定义一个整型spiritEnergy,初值为1;一个计时器timerGame,初值为0;当spiritEnergy为100或计时器为100时停止游戏;
(3)游戏规则:
产生一个1~10的随机数字,当这个数是1~5之间的整数,则表示“精灵能量增加”,能量增加9,并在向右移动9个方格显示’S’;当这个数是6或7,表示“精灵能量降低”,能量减少12,并向左移动12个方格显示’S’;当这个数是8,9,10时,表示“精灵能量缓慢增加”,能量增加1,并向右移动一个方格显示’S’。
MoveSpirit函数负责实现修改spiritEnergy的值;函数printCurrentPositon函数负责控制在要求的位置显示字符’S’。提示利用传入函数的参数值控制setw()来显示不同位置的’S’
void moveSpirit(int *const spiritPtr){}
1.i:rand()
2.i:
void printCurrentPosition(const int *const spiritPtr){}
cout<<setw(10)<<’S’;
3.while (()&&()){
moveSpirit()
printCurrentPosition()
换行
}
4.判断是否赢了
If
2022年12月07日 15点12分 1
level 2
PuzzleUni 楼主
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <iomanip>
using namespace std;
void MoveSpirit(int randNum, int &spiritEnergy, int &position);
void printCurrentPosition(int position);
int main() {
cout << "开始游戏!" << endl;
int spiritEnergy = 1;
int timerGame = 0;
int position = 0;
srand((unsigned)time(NULL));
while (spiritEnergy < 100 && timerGame < 100) {
int randNum = rand() % 10 + 1;
MoveSpirit(randNum, spiritEnergy, position);
printCurrentPosition(position);
timerGame++;
}
cout << "游戏结束!" << endl;
return 0;
}
void MoveSpirit(int randNum, int &spiritEnergy, int &position) {
if (randNum >= 1 && randNum <= 5) {
spiritEnergy += 9;
position += 9;
} else if (randNum == 6 || randNum == 7) {
spiritEnergy -= 12;
position -= 12;
} else {
spiritEnergy += 1;
position += 1;
}
}
void printCurrentPosition(int position) {
cout << setw(position) << "S" << endl;
}
简单写了点,没实现功能,晚上继续
2022年12月08日 09点12分 2
level 2
PuzzleUni 楼主
想了一下,加个sleep就行了,刚学C++,老师应该不会给[鼠1][鼠1]太难的任务
2022年12月08日 10点12分 4
1