使用Python和 C 的蛇水枪游戏
蛇水枪是许多人玩的着名的两人游戏之一。它是一种手游,玩家在其中随机选择蛇、水和枪三种形式中的任何一种。在这里,我们将使用Python实现这个游戏。
这个Python项目是为单人游戏搭建一个玩电脑的游戏
以下是游戏规则:
Snake vs. Water: Snake drinks the water hence wins.
Water vs. Gun: The gun will drown in water, hence a point for water
Gun vs. Snake: Gun will kill the snake and win.
In situations where both players choose the same object, the result will be a draw.
我们将使用random.choice()方法和 嵌套if-else 声明 从列表中随机选择一个项目。
下面是实现:
Python3
# Import random module
import random
print('Snake - Water - Gun')
# Input no. of rounds
n = int(input('Enter number of rounds: '))
# List containing Snake(s), Water(w), Gun(g)
options = ['s', 'w', 'g']
# Round numbers
rounds = 1
# Count of computer wins
comp_win = 0
# Count of player wins
user_win = 0
# There will be n rounds of game
while rounds <= n:
# Display round
print(f"Round :{rounds}\nSnake - 's'\nWater - 'w'\nGun - 'g'")
# Exception handling
try:
player = input("Chose your option: ")
except EOFError as e:
print(e)
# Control of bad inputs
if player != 's' and player != 'w' and player != 'g':
print("Invalid input, try again\n")
continue
# random.choice() will randomly chose
# item from list- options
computer = random.choice(options)
# Conditions based on the game rule
if computer == 's':
if player == 'w':
comp_win += 1
elif player == 'g':
user_win += 1
elif computer == 'w':
if player == 'g':
comp_win += 1
elif player == 's':
user_win += 1
elif computer == 'g':
if player == 's':
comp_win += 1
elif player == 'w':
user_win += 1
# Announce winner of every round
if user_win > comp_win:
print(f"You Won round {rounds}\n")
elif comp_win > user_win:
print(f"Computer Won round {rounds}\n")
else:
print("Draw!!\n")
rounds += 1
# Final winner based on the number of wons
if user_win > comp_win:
print("Congratulations!! You Won")
elif comp_win > user_win:
print("You lose!!")
else:
print("Match Draw!!")
C
#include
#include
#include
int snakeWaterGun(char you, char comp)
{
// returns 1 if you win, -1 if you lose and 0 if draw
// Condition for draw // Cases
// covered: | snake snake |
// gun gun | water water
if (you == comp) {
return 0;
}
// Non-draw conditions
// Cases covered:// snake gun
// | gun snake | snake water
// | water sanke | gun water | water gun
if (you == 's' && comp == 'g')
{
return -1;
}
else if (you == 'g' && comp == 's')
{
return 1;
}
if (you == 's' && comp == 'w')
{
return 1;
}
else if (you == 'w' && comp == 's')
{
return -1;
}
if (you == 'g' && comp == 'w')
{
return -1;
}
else if (you == 'w' && comp == 'g')
{
return 1;
}
}
// Driver Code
int main()
{
char you, comp;
srand(time(0));
int number = rand() % 100 + 1;
if (number < 33)
{
comp = 's';
}
else if (number > 33 && number < 66)
{
comp = 'w';
}
else
{
comp = 'g';
}
printf("Enter 's' for snake, 'w' for "
"water and 'g' for gun\n");
scanf("%c", &you);
int result = snakeWaterGun(you, comp);
if (result == 0) {
printf("Game draw!\n");
}
else if (result == 1)
{
printf("You win!\n");
}
else
{
printf("You Lose!\n");
}
printf("You chose %c and computer chose %c. ", you,
comp);
return 0;
}
// this code is provided by harsh sinha username-
// harshsinha03
输出: